Главная страница
Навигация по странице:

  • Nov 25 10:19:41 oban sshd[30769]: Failed password for root from AA.BB.CC.DD port 60031 ssh2

  • Nov 27 23:41:57 oban dovecot: imap-login: Aborted login (no auth attempts): rip=AA.BB.CC.DD, lip=10.0.0.6

  • Nov 24 19:21:20 oban postfix/smtpd[458]: warning: unknown[AA.BB.CC.DD]: SASL LOGIN authentication failed: generic failure

  • 4 Краткий отчет о практике (приложение 1). Строки с таким выделением


    Скачать 0.62 Mb.
    НазваниеСтроки с таким выделением
    Дата22.11.2021
    Размер0.62 Mb.
    Формат файлаdoc
    Имя файла4 Краткий отчет о практике (приложение 1).doc
    ТипДокументы
    #278494
    страница11 из 15
    1   ...   7   8   9   10   11   12   13   14   15

    Установка fail2ban


    Еще одно добавление к серверу. Дело в том, что все сервера так или иначе «торчащие» в интернет, становятся целью для атак, и наш почтовый сервер - не исключение. Одна из атак - попытка «взлома» паролей пользователей. Такая атака обычно проводится с перебором паролей, и рано или поздно может быть удачной. В нашем случае - это атака на аутентификацию пользователей по IMAP, POP3, SMTP.

    Бороться достаточно просто - есть прекрасная программа fail2ban, которая после N неудачных попыток просто прописывает в файрволле правила, запрещающие доступ с атакующего IP-адреса на определенный срок (чаще всего - на час через 3 неудачных попытки). Такие «паузы» делают подобные атаки практически бессмысленными.

    Для защиты устанавливаем пакет fail2ban

    sudo apt-get install fail2ban

    Создаем файл /etc/fail2ban/filter.d/dovecot.conf

    sudo nano /etc/fail2ban/filter.d/dovecot.conf

    [Definition]

    failregex = (?: pop3-login|imap-login): (?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed).*rip=(?P\S*),.*

    ignoreregex =

    Скопируем на всякий случай файл /etc/fail2ban/jail.conf

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf_orig

    В нем есть примеры множества сервисов, нас же интересуют только часть из них. Отредактируем нужные строки в файле /etc/fail2ban/jail.conf

    sudo nano /etc/fail2ban/jail.conf

    ignoreip = 127.0.0.1 10.0.0.0/16

    bantime = 3600

    destemail = admin@aaa.ru

    Здесь мы говорим, чтобы fail2ban игнорировал атаки с адресов 127.0.0.1 и сети 10.0.0.0/255.255.0.0 (предполагаем, что это наша внутренняя сеть, и из нее могут быть разве что ошибочные попытки набора паролей пользователями); после 3 неудачных попыток аутентификации мы ставим бан на 3600 секунд (1 час); информацию о банах будем посылать на admin@company.ru (поменяйте на свой).

    [ssh]

    enabled = true

    port = ssh

    filter = sshd

    banaction = iptables-allports

    sendmail-whois

    logpath = /var/log/auth.log

    maxretry = 3

    [dovecot]

    enabled = true

    port = imap2,imap3,imaps,pop3,pop3s

    filter = dovecot

    logpath = /var/log/mail.log

    banaction = iptables-allports

    sendmail-whois

    maxretry = 3

    [sasl]

    enabled = true

    port = smtp,ssmtp

    filter = sasl

    banaction = iptables-allports

    sendmail-whois

    logpath = /var/log/mail.warn

    maxretry = 3

    По правилам, описанным в файле /etc/fail2ban/filter.d/sshd.conf мы:

    • анализируем лог-файл /var/log/auth.log

    • баним доступ по всем портам и посылаем письмо о возможной атаке через 3 неверные попытки аутентификации

    • сами правила в файле sshd.conf оставляем «по умолчанию»

    Пример записи в /etc/log/auth.log которая будет «поймана»

    Nov 25 10:19:41 oban sshd[30769]: Failed password for root from AA.BB.CC.DD port 60031 ssh2

    По правилам, описанным в файле /etc/fail2ban/filter.d/dovecot.conf мы:

    • анализируем лог-файл /var/log/mail.log

    • баним доступ по всем портам и посылаем письмо о возможной атаке через 3 неверные попытки аутентификации

    • сами правила в файле dovecot.conf мы только что составили

    Примеры записей в /etc/log/mail.log которые будут «пойманы»

    Nov 27 23:41:57 oban dovecot: imap-login: Aborted login (no auth attempts): rip=AA.BB.CC.DD, lip=10.0.0.6
    Nov 27 23:40:18 oban dovecot: pop3-login: Disconnected (no auth attempts): rip=AA.BB.CC.DD, lip=10.0.0.6, TLS handshaking: SSL_accept() failed: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca

    По правилам, описанным в файле /etc/fail2ban/filter.d/sasl.conf мы:

    • анализируем лог-файл /var/log/mail.warn

    • баним доступ по всем портам и посылаем письмо о возможной атаке через 3 неверные попытки аутентификации

    • правило в файле /etc/fail2ban/filter.d/sasl.conf чуть изменим (с правилом «по умолчанию» срабатываний не будет):

    sudo nano /etc/fail2ban/filter.d/sasl.conf

    #failregex = (?i): warning: [-._\w]+\[\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [A-Za-z0-9+/]*={0,2})?$

    failregex = (?i): warning: [-._\w]+\[\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed

    Примеры записей в /etc/log/mail.log которые будут «пойманы»

    Nov 24 19:21:20 oban postfix/smtpd[458]: warning: unknown[AA.BB.CC.DD]: SASL LOGIN authentication failed: generic failure
    Nov 24 22:32:35 oban postfix/smtpd[2593]: warning: unknown[AA.BB.CC.DD]: SASL LOGIN authentication failed: authentication failure

    Можно проверить срабатывание написанных нами правил:

    fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf

    fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/dovecot.conf

    fail2ban-regex /var/log/mail.warn /etc/fail2ban/filter.d/sasl.conf

    Если в лог-файлах были попытки неверной аутентификации, мы получим по ним «отчет».

    Когда убедимся, что все работает - перезапустим сервис

    sudo /etc/init.d/fail2ban restart

    и наслаждаемся попадающими к нам «хакерами».
    1   ...   7   8   9   10   11   12   13   14   15


    написать администратору сайта