우분투 개방형 포트

우분투 개방형 포트

최근 두 대의 Ubuntu Server 시스템을 설치했는데 시스템에서 열려 있는 포트를 찾고 싶습니다.

내 컴퓨터(Ubuntu 11.10)에서 실행할 때 nmap두 서버 모두에

135/tcp  filtered msrpc
4444/tcp filtered krb524
4662/tcp filtered edonkey
5000/tcp filtered upnp
5631/tcp filtered pcanywheredata

나는 그 포트를 열어 본 적이 없습니다. 저는 LAMP와 SAMBA만 설치했습니다. 이 포트는 왜 열려 있나요?

열려 있는 포트의 전체 목록은 다음과 같습니다.

22/tcp  open  ssh
25/tcp  open  smtp
53/tcp  open  domain
80/tcp  open  http
110/tcp open  pop3
135/tcp  filtered msrpc
139/tcp  open     netbios-ssn
143/tcp  open     imap
445/tcp  open     microsoft-ds
993/tcp  open     imaps
995/tcp  open     pop3s
4444/tcp filtered krb524
4662/tcp filtered edonkey
5000/tcp filtered upnp
5631/tcp filtered pcanywheredata

문제는 다음 포트가 열려 있는 이유입니다: 135/tcp filtered msrpc, 4444/tcp filtered krb524, 4662/tcp filtered edonkey. 5000/tcp filtered upnp, 5631/tcp filtered pcanywheredata. 나는 그 포트를 열어 본 적이 없습니다. 저는 LAMP와 SAMBA만 설치했습니다.

그 목록은 안전한 것 같나요?

답변1

/etc/services라는 파일에서 포트 목록을 얻을 수 있습니다.

cat /etc/services | grep 137 (example)

Samba가 통신하려면 어떤 포트를 열어야 할까요?

netbios-ns - 137 # NETBIOS Name Service

netbios-dgm - 138 # NETBIOS Datagram Service

netbios-ssn - 139 # NETBIOS session service

microsoft-ds - 445 # if you are using Active Directory

이 명령을 실행하세요netstat -anltp | grep "LISTEN"

FTP, SSH 및 MySQL을 실행하는 일반적인 웹 서버는 다음과 같은 출력을 갖습니다.

tcp     0   0 127.0.0.1:3306    0.0.0.0:*   LISTEN   21432/mysqld
tcp     0   0 0.0.0.0:80        0.0.0.0:*   LISTEN   4090/apache2
tcp     0   0 0.0.0.0:22        0.0.0.0:*   LISTEN   7213/sshd
tcp6    0   0 :::21             :::*        LISTEN   19023/proftpd
tcp6    0   0 :::22             :::*        LISTEN   7234/sshd

답변2

귀하의 질문은 상당히 광범위하며 "보안"은 상대적입니다.

서버를 설치하고 포트를 열면 항상 잠재적인 취약점이 있을 수 있습니다.

서버(ssh, samba)를 설치하고 서버를 시작하면(보통 부팅 시 기본적으로 시작됨) 포트가 열립니다.

각 서버(ssh, samba, http)에는 보안을 강화하기 위해 구성을 변경할 수 있습니다.

ssh의 경우 여기에는 키 사용(및 비밀번호 비활성화), tcpwrapper, 방화벽 등이 포함될 수 있습니다.

방화벽을 사용할 때 3가지 광범위한 전략이 있습니다.

1) 불량 IP를 모두 허용하고 블랙리스트에 추가합니다. 이에 대한 예는 http입니다. 일반적으로 http를 공용 서버로 실행하고 모든 IP를 허용하며 서버에 스팸을 보내는 사람들을 블랙리스트에 추가합니다.

2) 모두 거부하고 화이트리스트를 허용합니다. 이에 대한 예는 ssh입니다.

3) 한도. 때때로 연결 속도 또는 #핑/초를 제한합니다.

그것이 당신의 시작이 되길 바랍니다. 당신은 보고 싶을 수도 있습니다

https://help.ubuntu.com/11.10/serverguide/C/index.html

https://help.ubuntu.com/community/Security

또는 특정 서버에 대해 구체적인 질문을 해보세요.

답변3

"필터링됨"이 반드시 대상 호스트의 열린 포트와 동일하지는 않습니다.

사실 전혀 의미가 없을 수도 있습니다.

예를 들어, 실행 중인 모든 위치 nmap와 대상 사이에 방화벽이 있고 해당 방화벽이 포트 5000을 적극적으로 필터링하는 경우 대상 호스트에는 트래픽이 표시되지 않고 목록에 5000이 "필터링된" 것으로 나타납니다. 해당 포트에 - 따라서 포트가 대상에서 열려 있는지 여부는 전혀 관련이 없습니다.

서버에 열려 있는 포트의 최종 목록을 보려면 다음을 시도하십시오.

sudo netstat -lnp --tcp --udp

-l : only show listening ports
-n : don't bother looking up DNS hostnames
-p : show which processes have the port open
--tcp : show tcp ports
--udp : show udp ports

생략할 수 있지만 --tcp그러면 --udp네트워크를 통해 액세스할 수 없는 관련 없는 로컬 파일 시스템 소켓 정보가 상당히 많이 얻게 됩니다.

sudo제대로 작동 하려면 이 필요합니다 . 그렇지 않으면 사용자가 소유하지 않은 프로세스에 대해서만 -p인쇄됩니다 .-

답변4

netstat와 달리 는 더 이상 기본적으로 설치되지 않으므로 즉시 lsof사용할 수 있는 옵션을 추가할 수 있을 것이라고 생각했습니다.

sudo lsof -nP -iTCP -sTCP:LISTEN

관련 정보