5.7. Sendmail 보안 강화

Sendmail은 메일 전송 에이전트 (MTA)로서 SMTP (Simple Mail Transport Protocol)을 사용하여 다른 MTA와 이메일 클라이언트나 배달 에이전트 사이에서 전자 메시지를 배달하는 역할을 합니다. 많은 MTA가 서로 주고 받는 트래픽을 암호화 가능하지만, 대부분의 MTA는 그렇지 않습니다. 따라서 공중 네트워크 상에서 이메일을 주고받는 것은 안전하지 못한 통신 방식으로 간주됩니다.

이메일 작동 방식에 대한 자세한 정보와 일반 설정에 대한 기본적인 정보를 보시려면 Red Hat Enterprise Linux 참조 가이드에서 Email 장을 참조하시기 바랍니다. 다음 부분에서는 여러분이 이미 Red Hat Enterprise Linux 참조 가이드에서 설명된 것처럼 /etc/mail/sendmail.mc 파일을 수정 후 m4 명령을 실행하여 유효한 /etc/mail/sendmail.cf 파일을 생성하는 방법을 이해하신다고 가정하고 설명할 것입니다.

Sendmail 서버를 사용하려고 계획하신다면 다음에 언급된 사항들을 해결하셔야 합니다.

5.7.1. 서비스 거부 공격 제한하기

이메일의 특성상, 침입자는 비교적 간단히 서버에 다량의 이메일을 집중적으로 보내어 서비스 거부 현상을 야기시킬 수 있습니다. /etc/mail/sendmail.mc에 다음과 같은 지시자를 제한 설정하여 이와 같은 서비스 거부 공격이 발생할 가능성을 줄일 수 있습니다.

5.7.2. NFS와 Sendmail

절대로 메일 스풀 디렉토리인 /var/spool/mail/를 NFS 공유 볼륨에 놓지 마십시오.

NFS는 사용자와 그룹 ID를 관리 제어하지 않으므로 두 명이나 그 이상의 사용자가 동일한 UID를 가질 수 있습니다. 따라서 서로의 메일을 받고 읽는 것이 가능해집니다.

5.7.3. 메일 전용 사용자

이렇게 로컬 사용자가 Sendmail 서버를 악용하는 것을 방지하기 위하여 메일 사용자는 이메일 프로그램을 사용하여 Sendmail 서버만 사용하도록 설정하시는 것이 좋습니다. 메일 사용자는 메일 서버에서 쉘 계정을 갖지 못하고 /etc/passwd 파일에서 모든 메일 사용자 쉘은 /sbin/nologin으로 설정하셔야 합니다 (루트 사용자 예외)