거부 대신 닫힌 포트에 패킷을 삭제하는 방법은 무엇입니까?

거부 대신 닫힌 포트에 패킷을 삭제하는 방법은 무엇입니까?

닫힌 포트에 연결할 때 '연결이 거부되었습니다'라는 메시지가 나타납니다. Ubuntu 14.04에서 이 응답 전송을 비활성화하고 싶지 않습니다.

내가 할 수 있을까?

답변1

iptables, DROP 및 REJECT를 사용하여 이를 수행할 수 있습니다.

통사론

iptables -option [체인] [규칙] -j [대상]

거부하다

iptables -P INPUT REJECT --reject-with icmp-host-prohibited

떨어지다

iptables -P INPUT DROP

메모:-j -P 옵션과 함께 사용되지 않습니다. 편집하기 전에 iptables 설명서를 참조하십시오.https://help.ubuntu.com/community/IptablesHowTo?action=show&redirect=Iptables#Disabling_the_firewall

포트 22를 사용하는 예(여기에서는 -j 사용)

거부하다

iptables -A INPUT -p tcp ! --dport 22 -j REJECT --reject-with icmp-host-prohibited

또는 DROP을 사용하여

iptables -A INPUT -p tcp ! --dport 22 -j DROP 

IMO 거부가 삭제보다 선호됩니다.

Drop은 Reject보다 더 안전하지 않습니다("Shields up"이라고 말할 수 있음에도 불구하고).

  • 크래커는 "시간 초과"를 존중하지 않으므로 어떤 식으로든 크래커의 속도를 늦추지 않습니다.
  • Drop은 응답 부족으로 인해 귀하의 IP 주소가 존재함을 크래커에게 알리거나 공개합니다.
  • nmap 및 map과 같은 도구를 살펴보고 LAN에 있는 컴퓨터를 테스트하세요.https://nmap.org/book/man-os-Detection.html

보다http://bodhizazen.com/Tutorials/iptables

그리고http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject

iptables 디버깅에 도움이 필요한 경우 규칙의 구문과 순서가 모두 중요하므로 전체 규칙 세트를 게시하세요.

관련 정보