У меня есть арендованный выделенный сервер, на котором я размещаю определенные службы.
По соображениям безопасности я создал цепочку правил, которая будет проверять соответствие перечисленным адресам DDNS и подключаться только к совпадающим соединениям. Это казалось лучше, чем блокировать или принимать по стране.
Ex.
-A ACCEPT_PERSONAL -s xxx.dns.com -j ПРИНЯТЬ
-A ACCEPT_PERSONAL -s yyy.dns.com -j ПРИНЯТЬ
Некоторое время это работало хорошо, но через несколько дней я внезапно не смог получить доступ к своему серверу. После некоторой поддержки со стороны хостинга я смог получить доступ через webmin и обнаружил, что мои адреса DDNS в iptable были заменены на фактические IP-адреса, и поскольку они изменились по какой-либо причине.
Есть идеи о том, что произошло? Я проверял работу cron, особенно еженедельно, но не нашел ничего подозрительного.
Также я использую Webmin для установки значений
Разрешение DNS происходит до того, как правило брандмауэра загружается в ядро, поэтому вы не можете делать то, что хотите, с помощью iptables.
Вы упомянули, что проверяете указанные адреса DDNS. Много раз я видел, что эти списки ненадежны на 100%. Мой собственный статический IP-адрес в некоторых списках относится к категории динамических. Итак, пусть общедоступный IP-адрес, с которого вы пытались получить доступ к своей машине, также попал в список DDNS. Если вы пытаетесь защитить свою систему от атак SSH, я бы посоветовал подумать, как DenyHosts
Как сказал womble, iptables выполняет разрешение имен при загрузке правил. Возможно, вы захотите управлять доступом с помощью hosts.allow
, например
sshd: xxx.dns.com
sshd: yyy.dns.com
Вы также можете управлять доступом с помощью "AllowUsers" в sshd_config
. Любой метод будет искать ваш адрес во время соединения.
fail2ban отлично поработал для меня на моем виртуальном сервере. Его можно настроить для работы с несколькими службами, ssh, ftp и т. Д. В настоящее время я использую его для блокировки попыток грубой силы на SSH и FTPS. Он автоматически заблокирует IP-адрес на определенный период времени с использованием iptables после неудачных попыток X войти на ваш сервер.