Не так давно у меня возникла необходимость интегрировать отправку уведомлений в WhatsApp прямо из скрипта. Много перечитал разных форумов и сайтов и остановился на отличном решении — консольный клиент Mudslide. Он построен на Node.js и библиотеке Baileys, работающий через API WhatsApp Web. Свою задачу я решил. Надеюсь она поможет и в Вашем случае.
Установка Mudslide:
npm install -g mudslide
Так же можно загрузить и готовый бинарник для Windows/Linux.
Авторизация в Mudslide:
npx mudslide login
Далее отсканируйте QR-код в WhatsApp, после чего Вы успешно авторизуетесь в системе.
Примеры команд:
mudslide send 79093332211 "Привет медвед!" mudslide send-image 79093332211 ./photo.jpg mudslide send-file me ./scan.pdf
Инструмент очень удобно использовать и в автоматизации, и в мониторинге и просто в оповещениях.
The post Как отправить сообщения в WhatsApp из скрипта в консоли first appeared on Как настроить?.]]>Есть ситуации, когда Вам требуется быстро определить маршрут до хоста в сети. Для этого есть специальные утилиты трассировки: traceroute, tracert и tracepath. Все эти программы работают схожим образом — отправляют пакеты с увеличивающимся TTL и фиксируют ответы от промежуточных узлов. Но есть некоторые существенные отличия, которые стоит знать и учитывать.
По умолчанию утилита traceroute использует UDP, но можно переключиться на ICMP. Пример использования утилиты traceroute:
traceroute ageomash.ru # протокол UDP traceroute -I ageomash.ru # протокол ICMP
UDP-пакеты могут блокироваться, и вы не получите ответ. Поэтому ICMP часто предпочтительнее в реальных условиях.
Использует только ICMP, без возможности выбора. Удобен и прост, но менее гибок.
Чтобы запустить команду, необходимо:
Пример:
tracert ageomash.ru
Результатом будет трассировка маршрута до указанного узла сети.
Утилита tracepath это практически аналог traceroute. Здесь так же используется протокол UDP. Только теперь дополнительно отображается MTU на каждом участке маршрута. Это очень и очень полезно при диагностике проблем с фрагментацией, особенно в VPN или туннелях.
Пример:
tracepath ageomash.ru
В ОС Linux чаще всего нужна универсальность и потому, как правило, наиболее часто используется: traceroute -I.
А вот если требуется уже конкретно информация по MTU — тогда уже стоит использовать tracepath.
В ОС Windows особо то и выбора нет — только использовать tracert, но ICMP чаще проходит успешно. Как вариант, можно воспользоваться графической утилитой WinMTR.
The post Traceroute, Tracert и Tracepath — в чём разница и что использовать first appeared on Как настроить?.]]>Сегодня я хочу рассказать как установить веб-сервер Angie на хост под управлением разных версий Linux, в том числе и Ubuntu. Последнее время Энжи всё активнее и активнее используется веб-мастерами и, думаю, эта тенденция будет расти в сторону увеличения.
Веб-сервер Angie появился в 2022 году после ухода из России компании F5, главного разработчика Nginx. Была создана компания ООО «Веб-сервер», которая приступила к разработке форка Nginx. В итоге, в октябре 2022 года появился Angie OSS (Open Source), а немного позже — коммерческая версия Angie PRO. С первого релиза Angie принёс большое количество новых возможностей, часть из которых повторяли фичи Nginx Plus, но уже в открытом продукте.
В случае, если ранее Вы активно использовали Nginx Plus и желаете переехать на Angie, то стоит рассмотреть Angie PRO, где реализовано большинство фич коммерческого Nginx Plus. Основные отличия платной и бесплатной версий находятся в области балансировки и проксирования.
Обновим систему и установим зависимости:
sudo apt update sudo apt install -y ca-certificates curl
Добавим ключ и репозиторий Angie:
sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg https://angie.software/keys/angie-signing.gpg echo "deb https://download.angie.software/angie/$(. /etc/os-release && echo "$ID/$VERSION_ID $VERSION_CODENAME") main" | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null sudo apt update
Ставим сам веб-сервер:
sudo apt install -y angie
А заодно модули, если нужно сжатие и ускорение:
sudo apt install -y angie-module-zstd angie-module-brotli
Создаём репо-файл:
sudo nano /etc/yum.repos.d/angie.repo
Вставляем:
[angie] name=Angie repo baseurl=https://download.angie.software/angie/almalinux/$releasever/ gpgcheck=1 enabled=1 gpgkey=https://angie.software/keys/angie-signing.gpg.asc
Теперь установка:
sudo yum install -y angie angie-module-zstd angie-module-brotli sudo systemctl start angie sudo systemctl enable angie
если хотим прямо максимум:
У вас лицензия? Тогда нужно в приватное репо. Команда установки:
sudo apt install -y angie-pro angie-pro-module-zstd angie-pro-module-brotli
Проверить можно так:
angie -V
Или:
ps afx | grep angieThe post Установка веб-сервера Angie на разные версии Linux first appeared on Как настроить?.]]>
Защита SSH (Secure Shell) от взлома — это критически важная задача, особенно если сервер доступен из интернета или используется в локальной сети с потенциальными уязвимостями. SSH предоставляет удалённый доступ к серверу, и если злоумышленник получит доступ к вашему SSH, он сможет полностью контролировать систему, что может привести к серьёзным последствиям. Давайте разберём, почему это так важно и какие риски возникают при отсутствии защиты.
SSH — это «входная дверь» в ваш сервер
SSH часто используется для управления серверами, особенно в Linux/Unix-системах. Если злоумышленник взломает SSH, он получит полный доступ к серверу, включая возможность:
Популярность атак на SSH
SSH-серверы — одна из самых частых целей для автоматизированных атак. Боты постоянно сканируют интернет в поисках открытых портов SSH (по умолчанию это порт 22) и пытаются подобрать пароли методом перебора (brute-force). Например:
Риск утечки данных
Если злоумышленник получит доступ через SSH, он сможет скачать все данные, хранящиеся на сервере. Это особенно опасно, если сервер содержит:
Компрометация всей сети
Если сервер находится в локальной сети, взлом SSH может стать точкой входа для атаки на другие устройства в сети. Злоумышленник может:
Репутационные и финансовые потери
Если ваш сервер взломают, это может привести к:
1️⃣ Отключаем root-доступ. Вход под пользователем root — это частая цель атак. Запретите его в /etc/ssh/sshd_config:
PermitRootLogin no
2️⃣ Меняем стандартный порт.
Port 10022
3️⃣ Используем SSH-ключи вместо паролей! Аутентификация по ключам гораздо безопаснее, чем по паролю. Отключите вход по паролю в /etc/ssh/sshd_config:
PasswordAuthentication no PubkeyAuthentication yes
После этого сгенерируйте пару ключей:
ssh-keygen -t rsa -b 4096
И скопируйте публичный ключ на сервер:
ssh-copy-id user@server
Всё, теперь можно «заряжать» ключ в ssh-клиент и пользоваться!
4️⃣ Ограничиваем доступ по IP. Тут можно просто ограничить вход только с доверенных IP через AllowUsers или AllowGroups:
AllowUsers [email protected]
А можно настроить соответствующее правило в фаерволе. Вот пример для ufw:
sudo ufw allow from 192.168.1.0/24 to any port 10022 sudo ufw deny 10022
5️⃣ Включаем защиту от brute-force атак. В этом нам поможет утилита fail2ban, которая блокируют IP-адреса после нескольких неудачных попыток входа. Установка fail2ban:
apt install fail2ban # Debian/Ubuntu yum install fail2ban # CentOS/RHEL
Прописываем настройки в файле: /etc/fail2ban/jail.local:
[sshd] enabled = true maxretry = 3 findtime = 10m bantime = 1h
6️⃣ Отключаем X11 Forwarding и пустые пароли
X11Forwarding no PermitEmptyPasswords no
После сохранения изменений в файле sshd_config, не забывайте перезапускать службу sshd, чтобы изменения вступили в силу.
$: sudo systemctl restart sshd
P.S.:
Защита SSH — это не просто рекомендация, а необходимость, особенно для серверов, доступных из интернета. Взлом SSH может привести к катастрофическим последствиям: от утечки данных до полной компрометации инфраструктуры. Внедрение базовых мер безопасности, таких как смена порта, использование ключей, настройка файрвола и мониторинг, значительно снижает риски. Однако важно помнить, что безопасность — это непрерывный процесс, и нужно регулярно обновлять настройки и следить за новыми угрозами.
The post Базовая защита SSH — обязательный минимум конфигурации first appeared on Как настроить?.]]>У системного администратора разные задачи бывают. Одна из такие — когда нужно поменять имя сервера Windows, но при этом обеспечить плавную миграцию клиентов, то есть без массово их отвала и жалоб на недоступность сервера. Как это сделать?! Самый оптимальный вариант — это добавить альтернативное имя. Это позволит временно сохранить старое имя до тех пор, пока все клиентские устройства плавно не перетекут на новое.
В Windows Server для этого используется консольная утилита netdom.
Вот пример её использования:
netdom computername fs01 /ADD new-server.corporate.local
Эта команда автоматически создаст CNAME (алиас) в DNS и обновит SPN в Active Directory.
Если же у Вас сервер живёт не на серверной ОС а на обычно Windows 10 или Windows 11, то там уже утилиты netdom нет. В этом случае придётся добавить новое имя вручную:
1️⃣ Создать CNAME-запись в DNS;
2️⃣ Добавить имя в реестре (AlternateComputerNames);
3️⃣ Обновить SPN для учётной записи компьютера.
Такой «финт» поможет избежать сбоев при переходе на новое имя сервера.
The post Смена имени сервера Windows без простоя first appeared on Как настроить?.]]>