데비안 8.2에서 불필요한 포트를 닫고 싶습니다.
$ nmap localhost | grep open
25/tcp open smtp
631/tcp open ipp
smtp에 해당하는 서비스를 검색하고,
$ lsof -i:25
$ sudo systemctl --all | grep smtp
두 명령 모두 아무것도 표시하지 않습니다. IP도 마찬가지다. 포트를 여는 서비스에 대해서는 모르겠습니다. 어떻게 해야 합니까?
답변1
이 lsof
명령은 루트로 실행해야 합니다. 그렇지 않으면 사용자에게 속한 수신 포트만 표시됩니다.
# lsof -i:25
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
master 844 root 12u IPv4 6975 0t0 TCP *:smtp (LISTEN)
master 844 root 13u IPv6 6976 0t0 TCP *:smtp (LISTEN)
이 systemctl
명령은 포트 번호나 프로토콜 이름이 아닌 서비스에 대해서만 알고 있습니다. 즉, 어떤 특정 소프트웨어 패키지(예 sendmail
: exim
, postfix
등)가 smtp 서비스를 제공하는지 알아야 합니다 . 예를 들어
# systemctl | grep -E 'postfix|exim|sendmail|qmail'
postfix.service
또 다른 옵션은 검색 대상을 보다 일반적인 것으로 만드는 것입니다. 예를 들어 mail
, 대신에 grepsmtp
# systemctl --all | grep -i mail
postfix.service loaded active running LSB: Postfix Mail Transport Agent
mail-transport-agent.target loaded active active Mail Transport Agent