
특정 서비스를 호스팅하는 전용 서버를 임대했습니다.
보안상의 이유로 나열된 DDNS 주소를 확인하고 일치하는 연결에만 연결하는 규칙 체인을 만들었습니다. 국가별로 차단하거나 수용하는 것보다는 나은 것 같았습니다.
전.
-A ACCEPT_PERSONAL -s xxx.dns.com -j ACCEPT
-A ACCEPT_PERSONAL -s yyy.dns.com -j ACCEPT
한동안 잘 작동했지만 며칠 후 갑자기 서버에 액세스할 수 없었습니다. 호스팅의 일부 지원 후 webmin을 통해 액세스할 수 있었고 iptable의 내 DDNS 주소가 실제 IP로 대체되었으며 어떤 이유로든 변경되었음을 발견했습니다.
무슨 일이 일어났는지에 대한 아이디어가 있나요? 특히 매주 크론 작업을 확인했지만 의심스러운 점을 찾을 수 없습니다.
또한 Webmin을 사용하여 값을 설정하고 있습니다.
답변1
DNS 확인은 방화벽 규칙이 커널에 로드되기 전에 발생하므로 iptables를 사용하여 원하는 작업을 수행할 수 없습니다.
답변2
나열된 DDNS 주소를 확인하고 있다고 언급하셨습니다. 나는 이 목록이 100% 신뢰할 수 없다는 것을 여러 번 보았습니다. 일부 목록에 있는 내 고정 IP는 동적으로 분류됩니다. 따라서 귀하의 컴퓨터에 액세스하려고 시도한 공용 IP도 DDNS 목록에 포함될 수 있습니다. SSH 공격으로부터 시스템을 보호하려는 경우 다음과 같은 생각을 제안합니다.거부호스트
답변3
Womble이 말했듯이 iptables는 규칙이 로드될 때 이름 확인을 수행합니다. 예를 들어 을 사용하여 액세스를 관리할 수 있습니다 hosts.allow
.
sshd: xxx.dns.com
sshd: yyy.dns.com
NET에서 "AllowUsers"를 사용하여 액세스를 관리할 수도 있습니다 sshd_config
. 두 방법 모두 연결 시 주소를 조회합니다.
답변4
실패2금지내 가상 서버에서 나에게 큰 도움이 되었습니다. 여러 서비스, ssh, ftp 등에서 작동하도록 구성할 수 있습니다. 현재 SSH 및 FTPS에 대한 무차별 대입 시도를 차단하는 데 사용합니다. X가 서버 로그인 시도에 실패한 후 iptables를 사용하여 일정 기간 동안 IP를 자동으로 금지합니다.