2015.09.25 13:25
시스템 상의 제한 설정과 서비스의 안정성은 상당히 깊은 관계를 가지고 있습니다. 보통 대부분의 서비스에는 유저가 사용 가능한 시스템 자원의 제한이 걸려있지 않으며 메일 서비스도 마찬가지 입니다. 메일의 송수신 트래픽에 따른 부하는 올라가기 마련이고 이로 인하여 다른 서비스에까지 영향을 주게 되는 결과가 나타납니다. 그러므로 메일 서비스를 제공하고 있다면 용량이 큰 파일의 송수신을 적절하게 제한할 필요가 있습니다.
sendmail은 로컬의 메일을 외부로 송신하는 SMTP 기능과 외부에서 온 메일을 서버에 저장하는 기능도 합니다. SMTP 서버에서 보내는 양을 제한하는 조치를 통해 과다한 메일 트래픽이 발생하지 않도록 하는 것이 좋습니다.
이를 위해 /etc/mail/sendmail.cf 파일에 다음 내용을 찾아 주석을 제거하고 편집합니다.
# maximum message size O MaxMessageSize=5024000
이 후 다음 커맨드로 sendmail 데몬을 재시작합니다.
killall –HUP sendmai
위와 같이 조치할 경우 서버를 보내는 메일 서버로 이용시 첨부 파일이 5M 이상 초과하거나 웹에서 /usr/sbin/sendmail 을 이용하여 메일을 송신하는 메일링 리스트에서도 5M 이상의 메일은 보낼 수 없게 됩니다.
이와 같이, 외부에서 들어오는 메일의 크기를 제한하려면 /etc/mail/sendmail.cf 파일에 아래와 같은 설정을 추가합니다.
Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=10/30,
R=20/40, M=5024000, T=DNS/RFC822/X-Unix, A=procmail -Y -a $h -d $u
이 설정을 통해 외부에서 들어오는 메일의 크기도 제한할 수 있습니다.
또한 동시 발송(참조)이 가능한 수를 제한하는 방법으로써 다음의 설정을 추가할 수 있습니다.
# maximum number of recipients per SMTP envelope
O MaxRecipientsPerMessage=20
MaxRecipientsPerMessage=20 부분의 20 값을 조정하여 제한을 설정합니다.