ТУТОРИАЛ Установка и настройка SSHGuard на VDS Ubuntu

Статус
В этой теме нельзя размещать новые ответы.
SshGuard — это система предотвращения вторжений на VDS, которая разбирает логи сервера, определяет подозрительную активность и затем использует системный межсетевой экран, чтобы блокировать IP-адреса злонамеренных подключений.

К примеру полезно когда пытаются подобрать 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 минут. При каждых последующих попытках перебора пароля время блокировки возрастает по экспоненте.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху