SshGuard — это система предотвращения вторжений на VDS, которая разбирает логи сервера, определяет подозрительную активность и затем использует системный межсетевой экран, чтобы блокировать IP-адреса злонамеренных подключений.
К примеру полезно когда пытаются подобрать SSH пароль методом брутфорса или к примеру не дай бог ваш ключ PPK был скомпрометирован.
SshGuard написан на C, поэтому он не нагружает систему и идеально подходит для обеспечения безопасности на машинах с серьезными проектами!
SSHGuard защищает хосты от атак грубой силы:
Если обнаружена атака, например, несколько сбоев входа в систему в течение нескольких секунд, нарушающий IP-адрес блокируется.
Правонарушители могут быть разблокированы после установленного интервала, но могут быть постоянно запрещены с помощью опции черного списка.
Установка SSHGuard на Ubuntu выполняется следующим образом:
1. Скачайте и установите программу, выполнив команды
2. Далее установите на сервер специальную утилиту для чтения логов:
3. Укажите цепочку правил iptables и сохраните их командами:
4. Откройте конфигурационный файл syslog-ng.conf для редактирования:
Добавьте в него следующие строки:
Сохраните внесенные изменения в файле, после чего выполните команду:
5. Чтобы настроенные в iptables правила действовали и после перезагрузки VPS, откройте для редактирования файл 00-iptables:
Добавьте в него следующие строки:
Сохраните изменения и укажите для указанного файла права для запуска командой
6. Сохраните заданную цепочку правил в конфигурационный файл firewall:
7. И, наконец, запустите SSHGuard командой
Теперь после 4 неудачных попыток ввода пароля при подключении к VPS IP компьютера, с которого выполнялось подключение, попадет в бан. Сначала время блокировки составляет около 10 минут. При каждых последующих попытках перебора пароля время блокировки возрастает по экспоненте.
К примеру полезно когда пытаются подобрать SSH пароль методом брутфорса или к примеру не дай бог ваш ключ PPK был скомпрометирован.
SshGuard написан на C, поэтому он не нагружает систему и идеально подходит для обеспечения безопасности на машинах с серьезными проектами!
SSHGuard защищает хосты от атак грубой силы:
- Мониторинг системных журналов;
- Обнаружение атак;
- Блокировка злоумышленников с помощью брандмауэра.
Если обнаружена атака, например, несколько сбоев входа в систему в течение нескольких секунд, нарушающий IP-адрес блокируется.
Правонарушители могут быть разблокированы после установленного интервала, но могут быть постоянно запрещены с помощью опции черного списка.
Установка SSHGuard на Ubuntu выполняется следующим образом:
1. Скачайте и установите программу, выполнив команды
Bash:
apt-get update
apt-get install sshguard
2. Далее установите на сервер специальную утилиту для чтения логов:
Bash:
apt-get autoremove rsyslog
apt-get install syslog-ng
3. Укажите цепочку правил iptables и сохраните их командами:
Bash:
iptables -A INPUT -j sshguard
iptables -P INPUT ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables-save -c
4. Откройте конфигурационный файл syslog-ng.conf для редактирования:
Bash:
nano /etc/syslog-ng/syslog-ng.conf
Добавьте в него следующие строки:
Bash:
# pass only entries with auth+authpriv facilities from programs other than sshguard
filter f_sshguard { facility(auth, authpriv) and not program("sshguard"); };
# pass entries built with this format
destination sshguard {
program("/usr/sbin/sshguard"
template("$DATE $FULLHOST $MSGHDR$MESSAGE\n")
);
};
log { source(src); filter(f_sshguard); destination(sshguard); };
Сохраните внесенные изменения в файле, после чего выполните команду:
Bash:
killall -HUP syslog-ng
5. Чтобы настроенные в iptables правила действовали и после перезагрузки VPS, откройте для редактирования файл 00-iptables:
Bash:
nano -w /etc/network/if-up.d/00-iptables
Добавьте в него следующие строки:
Bash:
#!/bin/sh
iptables-restore < /etc/firewall.conf
Сохраните изменения и укажите для указанного файла права для запуска командой
Bash:
chmod +x /etc/network/if-up.d/00-iptables
6. Сохраните заданную цепочку правил в конфигурационный файл firewall:
Bash:
iptables-save >/etc/firewall.conf
7. И, наконец, запустите SSHGuard командой
Bash:
/etc/init.d/sshguard start
Теперь после 4 неудачных попыток ввода пароля при подключении к VPS IP компьютера, с которого выполнялось подключение, попадет в бан. Сначала время блокировки составляет около 10 минут. При каждых последующих попытках перебора пароля время блокировки возрастает по экспоненте.