Брутят SSH доступ

Тема в разделе "BSD", создана пользователем Carleone, 10 янв 2013.

  1. vgrey

    vgrey Создатель

    Регистр.:
    27 июл 2012
    Сообщения:
    48
    Симпатии:
    15
    Эта технология называется Port knocking, детали реализации легко найдете с помощью поисковиков.
     
    Qwest-fx нравится это.
  2. AVPET

    AVPET Создатель

    Регистр.:
    17 янв 2013
    Сообщения:
    30
    Симпатии:
    10
  3. unkn0wn

    unkn0wn

    Регистр.:
    22 дек 2006
    Сообщения:
    164
    Симпатии:
    86
    Расслабьтесь, даже если ссш будут брутить сотни ботов, существенной нагрузки это не даст, да и брут AES в SSH2 (надеюсь, все используют ссш2?) дело бессмысленное чуть больше, чем полностью, при длине пароля больше 8 символов (буквы, цифры, спецсимволы). Главное поправьте
    Код:
    PermitRootLogin no
    и юзайте su/sudo
     
  4. penguen

    penguen

    Регистр.:
    7 янв 2007
    Сообщения:
    833
    Симпатии:
    95
    Проброс портов через файервол сделайте и о портах знаете только вы и все. Хер пробьются.
     
  5. Grrrr

    Grrrr Писатель

    Регистр.:
    27 дек 2012
    Сообщения:
    2
    Симпатии:
    0
    Защита через iptables:
    Код:
    iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
    iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 600 --hitcount 5 --rttl --name SSH -j DROP
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    Также можно уменьшить количество попыток авторизации в файле /etc/ssh/sshd_config:
    Код:
    MaxAuthTries 3
     
  6. ask0n

    ask0n

    Регистр.:
    9 июн 2009
    Сообщения:
    218
    Симпатии:
    61
    Код:
    cd /usr/ports/security/knock && make install clean
    cat > /usr/local/etc/knockd.conf
    [options]
    #Куда пишем лог файл
            logfile = /var/log/knockd.log
    #На каком интерфейсе слушаем
            interface = vlan1
    #Секция описывающая открытие
    #и закрытие определенного порта
    [opencloseSSH]
    #последовательность стука
            sequence      = 8060:udp,12233:tcp,9000:udp
    #таймаут соединения с портами
            seq_timeout  = 5
    #Флаги установленные в tcp пакетах
            tcpflags      = syn
    #Комманда выполняемая при успешном стуке:
            start_command = /sbin/ipfw add 1250 allow tcp from %IP% to me 22 via vlan1 in
    #Через какое время(секунды) будет выполнена stop_command после start_command
            cmd_timeout  = 100
    #Комманда выполняемая после таймаута
            stop_command  = /sbin/ipfw delete 1250
    ^d
    echo knockd_enable=\"YES\" >> /etc/rc.conf
    /usr/local/etc/rc.d/knockd restart
    Для "стука" по портам есть готовая утилита под винду. Сохраняется ярлык с нужной последовательностью, который при запуске будет выполнять действие через knockd.
    Последовательностей в [] в конфиге можно задать сколько угодно.
     
    AVPET и Шумадан нравится это.
  7. Stabr

    Stabr Создатель

    Регистр.:
    13 мар 2014
    Сообщения:
    31
    Симпатии:
    3
    Еще можно закрыть парольную авторизацию в sshd вообще и подключаться по ключу. Если с винды то в составе Putty есть для этого утилиты - puttygen (сгенерить приватный и публичный ключ) и pageant (имеет смысл если много серверов - транслирует приватный ключ при подключении).
     
  8. Alekc

    Alekc Постоялец

    Регистр.:
    9 мар 2014
    Сообщения:
    50
    Симпатии:
    26
    кроме fail2ban посмотрите также на denyhosts
     
  9. sys64

    sys64 Создатель

    Регистр.:
    19 дек 2016
    Сообщения:
    46
    Симпатии:
    16
    Перевесьте sshd:
    Код:
    % grep -i '^port' /etc/ssh/sshd_config
    Port 38
    это отсечет 90% ботов, используйте сертификаты, защищенные паролем.
    Дальше portknocking или разрешение доступа с "белых" адресов, rate-limit с помощью pf.
     
    pautina и seo.oko нравится это.
  10. Pohmeliy

    Pohmeliy Постоялец

    Регистр.:
    18 мар 2013
    Сообщения:
    57
    Симпатии:
    23
    Конечно, если пароль нормальный, то брут не страшен, но, морально напрягает - "а вдруг???".
    У меня на каждом сервере подсетка /64 IPv6.
    Посадил SSH на один из IPv6. Также поступил и с FTP.
    Просканить биллион айпишников - жизни не хватит.
    О бруте забыл навсегда.
    Рекомендую.
     
    Sorcus нравится это.