매우 간단한 방화벽이 있어야 하는 서버를 검색하고 있습니다.iptables: 기본적으로 패킷을 제외한 모든 항목은 RELATED
삭제 됩니다 ESTABLISHED
. 허용되는 유일한 NEW
패킷 유형은 포트 22와 80의 TCP 패킷이며 그게 전부입니다(이 서버에는 HTTPS가 없음).
결과지도예상대로 첫 번째 2048 포트의 22와 80은 열린 포트입니다. 그러나 일부 포트는 "필터링됨"으로 나타납니다.
내 질문은: 포트 21, 25 및 1863은 "필터링됨"으로 표시되지만 다른 포트 2043은 필터링된 것으로 표시되지 않는 이유는 무엇입니까?
나는 22와 80만 "공개"로 표시될 것으로 예상했습니다.
21,25 및 1863이 "필터링됨"으로 표시되는 것이 정상이라면 다른 모든 포트도 "필터링됨"으로 표시되지 않는 이유는 무엇입니까? ?
이것은지도산출:
# nmap -PN 94.xx.yy.zz -p1-2048
Starting Nmap 6.00 ( http://nmap.org ) at 2014-06-12 ...
Nmap scan report for ksXXXXXX.kimsufi.com (94.xx.yy.zz)
Host is up (0.0023s latency).
Not shown: 2043 closed ports
PORT STATE SERVICE
21/tcp filtered ftp
22/tcp open ssh
25/tcp filtered smtp
80/tcp open http
1863/tcp filtered msnp
왜 2043개의 닫힌 포트가 있는지 이해가 되지 않습니다.
Not shown: 2043 closed ports
2046개의 닫힌 포트 대신.
이것은라소프서버에서 시작합니다:
# lsof -i -n
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
named 3789 bind 20u IPv4 7802 TCP 127.0.0.1:domain (LISTEN)
named 3789 bind 21u IPv4 7803 TCP 127.0.0.1:953 (LISTEN)
named 3789 bind 512u IPv4 7801 UDP 127.0.0.1:domain
sshd 3804 root 3u IPv4 7830 TCP *:ssh (LISTEN)
sshd 5408 root 3r IPv4 96926113 TCP 94.xx.yy.zz:ssh->aa.bb.cc.dd:37516 (ESTABLISHED)
sshd 5411 b 3u IPv4 96926113 TCP 94.xx.yy.zz:ssh->aa.bb.cc.dd:37516 (ESTABLISHED)
java 16589 t 42u IPv4 88842753 TCP *:http-alt (LISTEN)
java 16589 t 50u IPv4 88842759 TCP *:8009 (LISTEN)
java 16589 t 51u IPv4 88842762 TCP 127.0.0.1:8005 (LISTEN)
(Java/Tomcat은 포트 8009에서 수신 대기하지만 해당 포트는 방화벽에 의해 제거되었습니다.)
답변1
nmap의 "필터 포트" 문은 검색 방법에 따라 다릅니다.
표준 스캔(권한이 없는 사용자인 경우 TCP 스캔, 수퍼유저인 경우 반개방 스캔 -sS)은 TCP 프로토콜을 사용합니다. (3방향 한셰이크라고 함)
클라이언트(귀하)가 SYN을 발행하고 서버가 SYN/ACK로 응답하는 경우: 이는 포트가열려 있는!
SYN을 발행하고 서버가 RST로 응답하면 이는 포트가폐쇄!
- SYN을 발행했는데 서버가 응답하지 않거나 ICMP 오류로 응답하는 경우 이는 포트가거르는. IDS/상태 저장 방화벽이 요청을 차단하고 있을 수 있습니다)
포트의 실제 상태를 확인하려면 다음을 수행할 수 있습니다.
- 사용-sV, 또는-ㅏ옵션(포트 상태를 확인하는 데 도움이 되는 버전 감지.
- 사용--tcp-플래그 SYN, FIN펌웨어를 우회해 보십시오.
- 다른 스캔 유형 사용(http://nmap.org/book/man-port-scanning-techniques.html)
우수한"Nmap 네트워크 검색"창립자 표도르(Fyodor)가 쓴 책은 이에 대해 매우 잘 설명하고 있습니다. 제가 인용한 바는 다음과 같습니다.
필터링됨: 패킷 필터링으로 인해 프로브가 포트에 도달하지 못하기 때문에 Nmap은 포트가 열려 있는지 여부를 확인할 수 없습니다. 필터링은 전용 방화벽 장치, 라우터 규칙 또는 호스트 기반 방화벽 소프트웨어에서 이루어질 수 있습니다. 이러한 포트는 정보를 거의 제공하지 않기 때문에 공격자에게 실망감을 줍니다. 때로는 유형 3 코드 13(대상 도달 불가: 통신 관리 거부)과 같은 ICMP 오류 메시지로 응답하지만 필터가 응답하지 않고 단순히 프로브를 삭제하는 것이 더 일반적입니다. 이렇게 하면 필터링이 아닌 네트워크 정체로 인해 프로브가 삭제될 경우 Nmap이 여러 번 재시도하게 됩니다. 이 필터링으로 인해 검색 속도가 크게 느려질 수 있습니다.
open|filtered: Nmap은 포트가 열려 있는지 필터링되었는지 확인할 수 없는 경우 포트를 이 상태로 설정합니다. 이는 열린 포트가 응답하지 않는 스캔 유형에서 발생합니다. 응답이 부족하다는 것은 패킷 필터가 프로브 또는 프로브로 인한 응답을 삭제했음을 의미할 수도 있습니다. 따라서 Nmap은 포트가 열려 있는지 필터링되었는지 확인할 수 없습니다. UDP, IP 프로토콜, FIN, NULL 및 Xmas 스캔은 이러한 방식으로 포트를 분류합니다.
close|filtered: 이 상태는 Nmap이 포트가 닫혔는지 필터링되었는지 확인할 수 없을 때 사용됩니다. 5.10절 “TCP Idle Scan(-sl)”에서 설명한 IP ID 유휴 검색에만 사용됩니다.
답변2
포트 21, 25 및 1863은 "필터링됨"으로 표시되지만 2043 및 기타 포트는 표시되지 않는 이유는 무엇입니까?
ISP, 라우터, 네트워크 관리자, 그 사이의 모든 항목 또는 사용자 자신이 필터링하고 있기 때문입니다. 이 포트는 꽤 나쁜 기록을 가지고 있습니다. 1863은 Microsoft 인스턴트 메시징 프로토콜(MSN 및 친구라고도 함)에서 사용되는 포트이며 특정 규칙이 설정되어 있을 수도 있고 그렇지 않을 수도 있다고 확신합니다. SMTP가 ISP의 원인인 것 같습니다. 그리고 FTP는 그들에게 무슨 일이 일어나고 있는지 전혀 모르기 때문에 완전히 놀랐습니다.
답변3
기본적으로 Nmap은 각 프로토콜(tcp, udp)에 대해 가장 일반적인 1,000개의 포트만 스캔합니다. 포트가 그 외부에 있으면 스캔하지 않으므로 보고하지 않습니다. 그러나 -p 옵션을 사용하여 스캔할 포트를 지정할 수 있습니다.