1. Приветствую гостей и пользователей нашего форума! Первый раз вы у нас или же давно участвуете в жизни ресурса, хочу напомнить несколько моментов.

    1) Пользуемся поиском по форуму! Зачастую информация может находиться не по разделу!

    2) Раздел ИНФО-продуктов относительно новый, но имеем уже более 3000 высококлассных материалов (пользуемся сортировкой по прификсам).

    3) И самое важное, КАК КАЧАТЬ БЕЗ ОГРАНИЧЕНИЙ, вся информация находится по этой ссылке КУПИТЬ VIP

    4) Временная акция, получи +5 постов за вступление в нашу группу "Вконтакте" Более подробно ТУТ

    5) Веди активную жизнь на форуме и получай рубли на личный счёт!

    Скрыть объявление
  2. На нашем форуме Null-Prog действует серьёзное правило касательно размещения материалов!

    ДЛЯ РЕЛИЗЁРОВ: категорически запрещается выкладка материалов на файлообменники типа Deposit, letitbit и другие, требующие просмотров рекламы, обрезающие скорость и тд. Нарушителям, первые 2 раза предупреждения, далее БАН. Тему по этому поводу можно посмотреть ТУТ

    Скрыть объявление
  3. В тестовом режиме на нашем форуме открыт онлайн конструктор сайтов. Вы можете попробовать создать свой сайт у НАС, интуитивно понятный интерфейс, переведёт на 95%, быстрый экспорт проекта, от вас только перетаскивать элементы и вставить в них необходимый текст!

    Все вопросы ТУТ

    Скрыть объявление

  4. Скрыть объявление
  5. Уважаемые форумчане, открывается новый раздел форума, посвящённый ремонту и эксплуатации автомобилей. Просмотреть его можно ТУТ

    Так как раздел новый, информация будет пополнять каждый день. Если есть какие либо замечания по этому разделу, отписываемся в соответствующий раздел форума, либо в личку.

    Напоминаю, сообщения в разделе АВТО не учитываются, общение не ограничено.

    Скрыть объявление
  6. Объявляется набор Модераторов на различные раздел форума, свои заявки можно оставлять в ЭТОМ разделе, перед оставлением заявки рекомендуется ознакомиться с ПРАВИЛАМИ для модераторов.

ЗАЩИЩАЕМ SSH ОТ БРУТФОРСА

Тема в разделе "Администрирование серверов", создана пользователем Sam Jack, 19 май 2015.

  1. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.726
    Защищать SSH от подбора пароля: после неверной попытки подключения блокировать новые попытки в течение 20 секунд. Задержка, выбрана эмпирически, исходя их двух противположных пожеланий: чтобы не заблокировать в случае опечатки себя надолго, и в тоже время усложнить жизнь подбиральщика. Я хочу поделиться своим способом противодействия брут-форсу, который применяю уже давно. Он имеет два преимущества:
    — дает мне больше попыток для набора правильного пароля
    — но при этом блокирует брутфорсеров «навечно».

    Как можно достичь этих двух противоположных целей?


    Я использую модуль iptables под названием hashlimit, который умеет подсчитывать кол-во пакетов в определенный промежуток времени и через некоторое время сбрасывать счетчик.
    Все делается тремя правилами:
    iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m hashlimit --hashlimit 1/hour --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name SSH --hashlimit-htable-expire 60000 -j ACCEPT


    iptables -A INPUT -p tcp -m tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -j DROP


    iptables -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT


    Что делает второе и третье правило понятно. Все самое интересное в первом: оно разрешает 2 попытки подключения в течение часа. Как только вы превышаете 2 попытки за указанное время, правило с -j ACCEPT перестает работать, пользователь вместо этого попадает в следующее правило с -j DROP (точно также можно поставить TARPIT). После этого вы не сможете подключиться, и начинается обратный отсчет 60 000 миллисекунд, после которых информация о вашей попытке «протухает» (параметр --hashlimit-htable-expire). То есть реально вам придеся ждать не 1 час, а всего 1 минуту. Вся военная хитрость состоит в том, что если вы не дождетесь этого времени и попробуете еще раз подключиться, то пакет будет убит, а счетчик снова сброшен в начальное состояние — 1 минуту! Таким образом, если вы нетерпеливый брутфорсер и будете тупо долбать порт после блокировки, то вы с каждой попыткой будете продлевать свой бан! То есть забаните себя навечно!
    Добропорядочный же пользователь наборот имеет несколько попыток подключения без ожидания между ними прежде чем попадет в «баню».
    Модуль hashlimit сохраняет свое состояние в /proc — поначалу там пусто:
    # cat /proc/net/ipt_hashlimit/SSH

    после первой попытки подключения туда попадает инфа:
    # cat /proc/net/ipt_hashlimit/SSH
    55 ХХ.ХХ.ХХ.ХХ:0->0.0.0.0:0 11533000 230400000 115000000

    первое число — кол-во оставшихся секунд, можно смотреть как оно равномерно тикает:
    # cat /proc/net/ipt_hashlimit/SSH
    20 ХХ.ХХ.ХХ.ХХ:0->0.0.0.0:0 117429000 230400000 115000000

    После того как я это сделал, мне очень захотелось проверить. И надо же! На ловца зверь бежит! Меня тут же начал брутфорсить какой-то китаец. Первые 4 попытки прошли, а дальше он в течение часа (!) тупо долбился в закрытую дверь. За весь этот час ему удалось проверить всего 4 пароля! Дальше, видимо, надоело.

    Таким образом решены две проблемы:
    — если пользователь вдруг опечатался, ему не нужно долго ждать новых попыток
    — брутфорсеры сами себя загоняют в «вечный» бан.

    Что делать, если вы вдруг с нескольких попыток не смогли ввести пароль? Не суетиться — подождать спокойно минуту и попробовать еще несколько раз.
    А если уж снова не смогли — то лучше пойти проспаться, в таком состоянии в консоль лучше не лазить :)

    Создем файл напирмер так:
    nano ssh.sh
    добавляем правило и сохраняем где душа пожелает.
    Далее добавим данный скрипт в автозагрузку:
    nano rc.local

    И в него пропишем
    sh /название папки где лежит скрипт/ssh.sh


    Успехов. )
     

Поделиться этой страницей

iHax Community
Рейтинг@Mail.ru Яндекс.Метрика мониторинг сайтов
Форум программного обеспечения/
Загрузка...