Назад | Перейти на главную страницу

ipTables: Как улучшить текущую настройку?

Потребовалось много времени и времени, чтобы заставить мои ipTables работать достаточно хорошо.

Текущее состояние: "Работает" с заметным, воспроизводимым (почти неприемлемо) задержка на SSH соединения. Эта задержка исчезает, как только отключается ipTables. Пожалуйста, помогите, как я могу отбить длинный список потенциальных атак, а также вернуть мой быстрый ssh?

-A INPUT -i lo -j ACCEPT 
-A OUTPUT -o lo -j ACCEPT
#DROP fragments (from a *different* tutorial, do I need this?)
-A INPUT -f -j DROP 
#DROP NEW NOT SYN
-A INPUT -p tcp ! --syn -m state --state NEW -j DROP 
#DROP SYN-FIN SCANS     
-A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP 
#DROP SYN-RST SCANS      
-A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
#DROP X-MAS SCANS       
-A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP 
#DROP NMAP FIN SCAN      
-A INPUT -p tcp --tcp-flags ALL FIN -j DROP 
#DROP NULL SCANS              
-A INPUT -p tcp --tcp-flags ALL NONE -j DROP  
#DROP ALL/ALL SCANS            
-A INPUT -p tcp --tcp-flags ALL ALL -j DROP               
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#non-standard ssh port matches ssh config
-A INPUT -p tcp -m tcp --dport x1x0 -j ACCEPT  
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 
-A INPUT -j DROP 

Спасибо

РЕДАКТИРОВАТЬ: Я копал глубже, и проблема с серверами имен моего интернет-провайдера и поиском DNS могла быть:

Зачем серверу SSH выполнять поиск DNS, когда я подключаюсь как root@xxx.xx.xxx.x?

и / или

Могу ли я исправить это (если причиной является поиск DNS) с помощью корректировки конфигурации ssh, вместо того, чтобы возиться с необходимостью выяснять IP-адреса серверов имен ISP?

Если зависание вызвано при входе в систему, вероятно, это связано с sshd UseDNS параметр конфигурации. По умолчанию это yes поэтому sshd выполняет поиск по имени хоста вашего клиента, а затем проверяет, соответствует ли оно IP-адресу, который отображается во входящем соединении.

Вы, вероятно, обнаружите, что у вас нет подходящего DNS PTR запись для вашего клиента.

Попробуйте установить

UseDNS no

в твоем /etc/ssh/sshd_config файл, затем перезапустите sshd.

Вот основная суть того, что я делаю, https://gist.github.com/801684. Это прокомментировано, и я никогда не видел замедления соединения. Но убедитесь, что у вас есть доступ к консоли, прежде чем работать с правилами брандмауэра :)