The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Раздел полезных советов: Лимитирование числа запросов в единицу времени через iptables, auto_tips, 22-Июл-05, 15:47  [смотреть все]
  • Лимитирование числа запросов в единицу времени через iptables, CR, 15:47 , 22-Июл-05 (1)
    • Лимитирование числа запросов в единицу времени через iptable..., bat, 14:20 , 28-Июл-05 (2)
      • Лимитирование числа запросов в единицу времени через iptable..., Heckfy, 22:15 , 28-Июл-08 (3)
        • Лимитирование числа запросов в единицу времени через iptable..., Lombre, 16:10 , 27-Янв-10 (5)
          Защищаем SSH при помощи технологии "Port Knocking"    [исправить]
          Реализация идеи динамического открытия доступа к 22 порту, при предварительном
          обращении telnet-ом на определенный сетевой порт (в примере 333 - открыть
          доступ и 334 - закрыть). Идея реализована средствами iptables, без привлечения
          дополнительных утилит и анализаторов логов.

             # Создаю цепочку с именем SSH
             iptables -N SSH
             # Правило по умолчанию в INPUT - DROP
             iptables -P INPUT DROP
             # Всё что пришло на 22 порт - в цепочку SSH
             iptables -A INPUT -p tcp --dport 22 -j SSH
             # Всё что пришло на 333 порт - в цепочку SSH
             iptables -A INPUT -p tcp --dport 333 -j SSH
             # Всё что пришло на 334 порт - в цепочку SSH
             iptables -A INPUT -p tcp --dport 334 -j SSH

          Разделения на цепочки сделано для своего удобства, от этого можно и отказаться.

          Теперь заполняем цепочку SSH.

             # Проверяем на наличие имени "SSH" у IP адреса устанавливающего соединение на 22 порт.
             # И если оно присутствует - то ACCEPT
             iptables -A SSH -p tcp -m state --state NEW -m tcp --dport 22 -m recent --rcheck --name SSH --rsource -j ACCEPT

             # Устанавливает имя SSH любому IP адресу с которого пришло новое TCP соединение на указанный порт. (порт 333)
             iptables -A SSH -p tcp -m state --state NEW -m tcp --dport 333 -m recent --set --name SSH --rsource -j DROP

             # Удаляет имя "SSH" с IP адреса установившего соединение на этот порт. (порт 334)
             iptables -A SSH -p tcp -m state --state NEW -m tcp --dport 334 -m recent --remove --name SSH --rsource -j DROP

          Насладимся итоговым результатом:

          Делаем:
             telnet ip_address_or_domain_name 333
          После чего спокойно подключаемся по SSH.

          Когда прекращаем работу закрываем за собой 22 порт:
             telnet ip_address_or_domain_name 334

      • Лимитирование числа запросов в единицу времени через iptable..., Heckfy, 20:01 , 29-Июл-08 (4)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру