1

У меня есть удаленная система, которая у меня SSH. Поскольку я планирую сделать эту систему более доступной для общественности, я хочу улучшить свои правила iptables по сравнению с текущей политикой принятия чего-либо.

Я добавил правило «iptables -A INPUT -p tcp --dport 22 -j ПРИНЯТЬ», однако я не хочу менять правило по умолчанию таким образом, чтобы я мог заблокировать себя вне системы (и который стоило бы мне дня и проезда на поезде, чтобы решить прямо сейчас).

Есть ли какой-нибудь способ, которым я могу внести изменения в iptables (например, изменить правило по умолчанию на DROP), скажем, с 5-минутным тайм-аутом, поэтому, если я ошибаюсь и блокирую всех, я могу просто подождать некоторое время и повторить попытку?

4 ответа4

0

Если вы используете ipset, все это может быть автоматизировано

 ipset create test hash:ip timeout 300

 iptables -A INPUT -p tcp -m tcp -m multiport -m state --state NEW -j SET --add-set test src ! --dports 25,80,993,5900
 iptables -A input_ext -m set -j DROP  --match-set test src

Измените опцию портов на то, что вы хотите.

Нужно сохранить список между перезагрузками?

   ipset save >backup.txt

Нужно восстановить?

   ipset restore <backup.txt

Вы хотите счетчики байтов пакета?

добавьте счетчики ключевых слов в конец инструкции ipset create .

0

Большинство дистрибутивов Linux поставляются со скриптом iptables-apply, который либо уже установлен, либо доступен через менеджер пакетов. Это позволит вам применить новый набор правил iptables и автоматически выполнить откат, если вы не подтвердите, что они работают в течение определенного времени.

0

У вас должен быть, среди прочих правил iptables , такой, который гласит:

 sudo iptables -L
 Chain INPUT (policy ACCEPT)
 target     prot opt source               destination
 ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED

Если вы этого не сделаете, вы можете настроить его следующим образом:

  sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

или, если это не работает,

  sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Таким образом, сеанс, с которого вы изменяете iptables , определенно не будет затронут.

Теперь вы можете начать модифицировать iptables так, как вам нравится, и, когда вы захотите попробовать новое правило, просто начните с вашего клиентского ПК отдельный сеанс ssh. Правило ESTABLISHED, RELATED не применяется к этому новому сеансу, поэтому вы можете в режиме реального времени увидеть, обрезали ли вас ваши новые наборы правил без какого-либо риска.

-1

Просто установите fail2ban и включите ssh и ssd-dos. Вы можете легко установить забаненное время. Другой способ - установить другой удаленный доступ, например, Webmin, и запустить его на нестандартном порту.

добавить эти строки в фильтр sshd.conf и добавить эти строки в конце раздела failregex

vi /etc/fail2ban/filter.d/sshd.conf

.... ^%(__ prefix_line) sСоединение закрыто [preauth] $ ^%(__ prefix_line) sПолучено отключиться от: 11: (Пока)? [preauth] $ ^%(__ prefix_line) s Получено отключение от: 3: \S+: ошибка аутентификации $ ^%(__ prefix_line) s (?: error:)?Получено отключение от: 3:.*: Ошибка аутентификации (?: [preauth])?$

http://www.garasiku.web.id/web/joomla/index.php/security/90-fail2ban-blocking-preauthentication

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .