version 3.0
This commit is contained in:
83
README.md
83
README.md
@@ -1,33 +1,72 @@
|
||||
# ssh-login-notification
|
||||
**Видео инструкция**
|
||||
[alt text](img/image.png)!
|
||||
|
||||
[](https://youtu.be/a6gkXZ-2pQI)
|
||||
[alt text](img/image.png)
|
||||
|
||||
|
||||
Данный скрипт, при каждом новом входе по SSH, отправляет Вам уведомление в телеграм.
|
||||

|
||||
Сохраните скрипт
|
||||
sudo nano /usr/local/bin/telegram-ssh-notify.sh
|
||||
|
||||
Для работы скрипта Вам понадобится jq
|
||||
Вставьте код и сделайте исполняемым: sudo chmod +x /usr/local/bin/telegram-ssh-notify.sh
|
||||
|
||||
Установка jq Ubuntu / Linux Mint / Debian
|
||||
> sudo apt install jq
|
||||
Создайте конфигурационный файл
|
||||
|
||||
Установка jq CentOS
|
||||
> sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm<br />
|
||||
> sudo yum install jq
|
||||
sudo nano /etc/telegram-ssh-notify.conf
|
||||
|
||||
Установка :
|
||||
Копируем скрипт в /usr/local/bin/
|
||||
> wget -P /usr/local/bin/ https://raw.githubusercontent.com/unixhostpro/ssh-login-notification/master/ssh_login_info.sh
|
||||
|
||||
Устанавливаем права на запуск
|
||||
> chmod +x /usr/local/bin/ssh_login_info.sh
|
||||
TELEGRAM_TOKEN=
|
||||
TELEGRAM_CHAT_ID=
|
||||
TELEGRAM_TOPIC_ID=
|
||||
MAX_ATTEMPTS_BEFORE_CRITICAL=20
|
||||
CRITICAL_TIME_WINDOW=300
|
||||
AUTO_BLOCK_CRITICAL=false
|
||||
WHITELIST_IPS="127.0.0.1 10.0.0.0/8"
|
||||
BLACKLIST_IPS="1.2.3.4"
|
||||
|
||||
Ubuntu
|
||||
В файл /etc/pam.d/common-session добавляем следующую строку
|
||||
> echo "session optional pam_exec.so type=open_session seteuid /usr/local/bin/ssh_login_info.sh" >> /etc/pam.d/common-session
|
||||
Откройте файл /etc/pam.d/sshd в редакторе (например, nano или vim):
|
||||
|
||||
CentOS
|
||||
В файл /etc/pam.d/sshd добавляем следующую строку
|
||||
> echo "session optional pam_exec.so type=open_session seteuid /usr/local/bin/ssh_login_info.sh" >> /etc/pam.d/common-session
|
||||
sudo nano /etc/pam.d/sshd
|
||||
|
||||
Добавьте в конец файла строку:
|
||||
|
||||
session optional pam_exec.so /usr/local/bin/telegram-ssh-notify.sh #(обратите внимание: если вы переименовали скрипт, укажите правильное имя)
|
||||
|
||||
Сохраните файл и закройте редактор.
|
||||
|
||||
Перезапускать SSH не обязательно — PAM читает конфигурацию при каждой новой сессии.
|
||||
|
||||
Создайте файл юнита (например, /etc/systemd/system/ssh-check.service):
|
||||
|
||||
sudo nano /etc/systemd/system/ssh-check.service
|
||||
|
||||
Вставьте следующее содержимое (подставьте правильный путь к вашему скрипту, если он называется иначе, например, telegram-ssh-notify.sh):
|
||||
|
||||
[Unit]
|
||||
Description=SSH Login Monitor for Telegram Notifications
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/local/bin/ваш_скрипт.sh monitor
|
||||
Restart=always
|
||||
User=root
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
Обратите внимание: в ExecStart нужно указать команду с аргументом monitor (как в вашем скрипте).
|
||||
Если ваш скрипт называется telegram-ssh-notify.sh, то строка будет:
|
||||
|
||||
ExecStart=/usr/local/bin/telegram-ssh-notify.sh monitor
|
||||
|
||||
Перечитайте конфигурацию systemd и запустите сервис:
|
||||
|
||||
bash
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable ssh-check.service # автозапуск при загрузке
|
||||
sudo systemctl start ssh-check.service
|
||||
|
||||
Проверьте статус:
|
||||
|
||||
bash
|
||||
sudo systemctl status ssh-check.service
|
||||
|
||||
Теперь ваш монитор будет работать как демон.
|
||||
Reference in New Issue
Block a user