리눅스 postfix 중지 - linugseu postfix jungji

서버를 운영하거나, 서버를 대상으로 보안성 서버 진단을 하다보면

안전하게 효율적으로 운영하기 위해 불필요한 서비스 포트를 제거하는 경우가 생깁니다.

이 사례는 21번 포트인 ftp 서비스와 25번 포트인 smtp 서비스에 대해 제거하는 방법을 확인해보았습니다.

우선 21번 포트 ftp 서비스는 평문전송을 하는 취약한 서비스로 파일 전송에 사용됩니다.

ftp를 사용하지 않고 sftp를 22번 포트로 사용하는 것을 추천합니다. 그렇게 해야 암호화 전송을 기반으로 파일을 주고 받을 수 있습니다. (기밀성 방어를 위해) 리눅스(CentOS, 레드햇)에서 vsfrpd으로 설치가 가능합니다.

그리고 25번 포트 smtp 서비스는 메일 전송을 담당하며, 보안 컨설팅시에 불필요하게 사용되지 않도록 사용 사유를 인터뷰 하기도 하며, 만약 필요에 의해 사용되고 있다면 추가 보안 조치를 해야합니다. (포트 변경 등)

기타 다른 포트들도 불필요하게 사용한다면 공격자들에게 공격 경로가 될 수 있어, 불필요 포트는 비활성화 또는 패키지 삭제를 통해 막아야 합니다.

그 방법에 대해 2가지 사례를 소개합니다.

[서비스 확인]

우선, 현재 구동되는 서비스를 확인하기 위해 netstat를 활용합니다.

#netstat -atun

리눅스 postfix 중지 - linugseu postfix jungji

확인해보면 25번 포트인 smtp 서비스가 불필요하게 작동하고 있습니다.

[방법 1. 서비스 중지]

25번 포트를 사용 중인 것으로 의심되는 서비스를 찾기 위해 아래 명령어를 사용합니다.

#chkconfig

리눅스 postfix 중지 - linugseu postfix jungji

CentOS와 레드햇 모두 일정 버전 이후로는 이 명령어가 지원이 되지 않아보입니다.

service 명령어가 systemctl로 변경된 시점의 버전에서 차이가 있을 겁니다.

안내해주는 대로 아래 명령어로 Unit File 목록을 확인을 합니다.

#systemctl list-unit-files

리눅스 postfix 중지 - linugseu postfix jungji
리눅스 postfix 중지 - linugseu postfix jungji

쭉 보면, smtp 프로토콜을 사용하는 postfox라는 메일 서비스가 enabled 되어 있습니다. 

리눅스 postfix 중지 - linugseu postfix jungji

아래 명령어로 해당 서비스의 상태를 확인해봅니다.

#systemctl status postfix.service

active 상태로 나타납니다. 이 서비스를 중지 시켜야 합니다.

리눅스 postfix 중지 - linugseu postfix jungji

postfix 서비스를 중지 시키기 위해 아래 명령어를 사용합니다.

# systemctl stop postfix.service

그리고 다시 상태를 확인해보면 상태가 inactive 비활성화 상태입니다.

리눅스 postfix 중지 - linugseu postfix jungji

참고로 다시 시작하려면, # systemctl start postfix.service

아니면 실행 중에 재시작하려면, # systemctl restart postfix.service

netstat로 확인해보면 25번 포트가 사라졌습니다.

리눅스 postfix 중지 - linugseu postfix jungji

하지만 여기까지만 하면, 시스템을 재부팅 했을 대 postfix가 다시 실행될 수 있습니다.

방지 하기 위해 아래 명령어를 사용합니다.

# systemctl disable postfix.service

이제 재부팅 시에 postfix 서비스는 활성화되지 않습니다.

리눅스 postfix 중지 - linugseu postfix jungji

반대로 서비스 재부팅 시 활성화 시키려면,

# systemctl enable postfix.service 를 사용합니다.

[방법 2. 패키지 삭제]

netstat로 포트를 확인해보면, 21번 ftp 포트가 LISTEN 상태로 열려있습니다.

리눅스 postfix 중지 - linugseu postfix jungji

#systemctl list-unit-files

vsftpd.service가 enabled 상태 입니다.

리눅스 postfix 중지 - linugseu postfix jungji

vsftpd  패키지를 삭제합니다.

# yum remove vsftpd

리눅스 postfix 중지 - linugseu postfix jungji
리눅스 postfix 중지 - linugseu postfix jungji

삭제가 완료되었습니다.

만약 실수로 삭제했거나 최초 설치 시에는 # yum install vsftpd

#systemctl list-unit-files

vsftpd 서비스가 목록에서 사라졌습니다. 

리눅스 postfix 중지 - linugseu postfix jungji

# netstat -atun

21번 포트가 사라졌습니다.

리눅스 postfix 중지 - linugseu postfix jungji

불필요한 포트는 열어두지 않도록 권고 드립니다.