Linux를 실행하는 AWS 서버가 있습니다. 머신 자체에서 실행하면 netstat -lntp
몇 개의 포트가 열려 있는 것으로 표시되지만(예상대로) 445 또는 139는 표시되지 않습니다. 이 머신에 삼바를 설정한 적이 없기 때문에 이는 의미가 있습니다. 또한 실행 중인 프로세스를 나열하고 또는 grep을 실행하면 smb
실행 samba
중인 프로세스가 표시되지 않습니다.
서버의 방화벽 규칙을 살펴보면 포트 80과 22의 인바운드 트래픽만 허용하는 것으로 나타났습니다. 모든 포트에서 모든 대상으로의 아웃바운드 트래픽을 허용하지만 이것이 관련성이 없다고 생각합니다.
문제는 nmap
네트워크 외부에서 접속을 하면 139번과 445번 포트가 닫혀 있다는 점입니다. 왜 그런 겁니까? 내가 이해한 바에 따르면 '닫힘'은 방화벽이 패킷을 서버로 통과시키지만 포트에서 수신 대기 중인 항목이 없다는 의미입니다. 방화벽이 트래픽을 통과시키는 이유는 무엇입니까?
답변1
내가 이해한 바에 따르면 '닫힘'은 방화벽이 패킷을 서버로 통과시키지만 포트에서 수신 대기 중인 항목이 없다는 의미입니다. 방화벽이 트래픽을 통과시키는 이유는 무엇입니까?
"Closed"는 nmap이 TCP RST 패킷을 수신했음을 의미합니다. 이는 실제로 포트에서 수신 대기 중인 항목이 없을 때 IP 호스트가 응답하는 방식입니다.
그러나 nmap은 Reset 패킷이 실제 호스트에서 왔는지, 아니면 그것이 실제 호스트에서 왔는지 여부를 알지 못합니다.방화벽으로 스푸핑됨길을 따라. (실제로 많은 방화벽은 연결 시도를 명시적으로 거부하고 조용히 무시하지 않도록 구성되어 있습니다. 이렇게 하면 클라이언트 측에서 긴 시간 초과가 방지됩니다.)
서버의 방화벽이 사용하거나
reject with tcp-reset
유사할 수 있습니다.또한 검색 중인 네트워크가~에서안전 조치(예: 워크스테이션이 NTLM을 악성 서버와 통신하는 것을 방지)로 모든 아웃바운드 SMB 연결을 차단하도록 구성되었으며 'RST'를 생성합니다.
심지어 그럴 수도 있다.ISP스캔 중인 장치 또는 서버가 호스팅되는 ISP는 맬웨어(예: 기존 Conficker 웜)의 확산을 방지하기 위해 WAN을 통한 SMB 연결을 차단하고 있습니다.
tcpdump를 사용하여 패킷을 보면 미들박스에 의해 스푸핑된 RST는 물론 서버에 보이지 않을 것입니다(서버가 이를 보내지 않았기 때문입니다).~할 것 같다서버가 생성하는 실제 응답과 TTL이 의심스러울 정도로 다릅니다.
nmap --reason
특정 상태가 표시되는 이유를 확인하는 데 사용합니다 . nmap이 TCP RST를 "폐쇄"(호스트가 연결을 허용하지 않음)를 나타내는 것으로 간주하더라도 일부 다른 도구는 실제로 이를 "개방"(방화벽이 패킷 통과를 허용했다고 생각함)이라고 부릅니다.