Когда мы устанавливаем, настраиваем и защищаем Linux-серверы в продакшене, очень важно отслеживать, что происходит на серверах и кто входит в них, особенно в части безопасности сервера.
Почему? Потому что если кто-то войдет на сервер как пользователь root, используя тактику грубой силы через SSH, то подумайте о том, как он уничтожит ваш сервер.
Любой пользователь, получивший root-доступ, может делать все, что захочет.
Итак, не стоит разрешать прямой вход root в систему через SSH-сессию и рекомендуется создавать не root-аккаунты с доступом sudo
. Если требуется root-доступ, сначала войдите в систему как обычный пользователь, а затем используйте su
для переключения на root-пользователя.
Однако в этом руководстве демонстрируется простой метод получения уведомлений по электронной почте, когда кто-то входит в систему как root или обычный пользователь. Он должен отправлять уведомление по электронной почте на указанный адрес электронной почты вместе с IP-адресом последнего входа.
Поэтому, определив IP-адрес последнего входа неизвестного пользователя, вы можете заблокировать вход по SSH с этого IP-адреса с помощью правила брандмауэра, как показано на рисунке.
Использование iptables
:
sudo iptables -A INPUT -s <IP_Address> -p tcp --dport ssh -j DROP
Использование firewalld
:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<IP_Address>" port protocol="tcp" port="22" reject' sudo firewall-cmd --reload
Использование UFW (Uncomplicated Firewall):
sudo ufw deny from <IP_Address> to any port 22 sudo ufw reload
Как установить оповещения о входе в систему SSH по электронной почте на сервере Linux
В зависимости от дистрибутива Linux вы можете установить клиент mailx с помощью одной из следующих команд.
sudo apt install mailutils [On Debian, Ubuntu and Mint] sudo yum install mailx [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] sudo emerge -a sys-apps/mailx [On Gentoo Linux] sudo apk add mailx [On Alpine Linux] sudo pacman -S mailx [On Arch Linux] sudo zypper install mailx [On OpenSUSE] sudo pkg install mailx [On FreeBSD]
Настройка оповещений о входе в систему SSH Root по электронной почте
Теперь войдите в систему под именем пользователя root и перейдите в домашний каталог root, введя команду:
cd /root
Далее добавьте запись в файл .bashrc
, которая устанавливает локальные переменные окружения для пользователей и выполняет некоторые задачи по входу в систему. Например, здесь мы устанавливаем оповещение о входе в систему по электронной почте.
Откройте файл .bashrc
с помощью редактора vi или nano. Помните, что .bashrc – это скрытый файл, и вы не увидите его с помощью команды ls -l
. Чтобы увидеть скрытые файлы в Linux, нужно использовать флаг -a
.
vi .bashrc or nano .bashrc
Добавьте следующую строку в нижнюю часть файла. Обязательно замените ServerName на имя хоста вашего сервера и измените name@example.com на адрес вашей электронной почты.
echo 'ALERT - Root Shell Access (ServerName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" [email protected]
Сохраните и закройте файл, выйдите из системы и снова войдите в нее.
После входа в систему через SSH файл .bashrc
выполняется по умолчанию и отправляет по электронной почте уведомление о входе root, как показано на рисунке.
Образец оповещения по электронной почте:
ALERT - Root Shell Access (Database Replica) on: Thu Nov 28 16:59:40 IST 2023 tecmint pts/0 2023-11-28 16:59 (172.16.25.125)
Настройка оповещений по электронной почте о входе обычного пользователя в SSH
Войдите в систему как обычный пользователь и перейдите в домашний каталог пользователя, набрав команду cd /home/tecmint/
.
cd /home/tecmint
Далее откройте файл .bashrc
и добавьте следующую строку в конец файла. Обязательно замените значения, как показано выше.
echo 'ALERT - Root Shell Access (ServerName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" [email protected]
Сохраните и закройте файл, выйдите из системы и снова войдите в нее. После повторного входа в систему будет выполнен файл .bashrc, который отправит вам на адрес электронной почты оповещение о входе пользователя.
Таким образом, вы можете настроить оповещение по электронной почте для любого пользователя, чтобы он получал оповещения о входе в систему. Просто откройте файл .bashrc
пользователя, который должен находиться в его домашнем каталоге (например, /home/username/.bashrc), и установите оповещения о входе в систему, как описано выше.
Комментарии (0)