Потребовалось много времени и времени, чтобы заставить мои 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. Это прокомментировано, и я никогда не видел замедления соединения. Но убедитесь, что у вас есть доступ к консоли, прежде чем работать с правилами брандмауэра :)