SELinux 는 기본적으로 httpd 의 SMTP  접근을 차단합니다.

만약 잘못된 설정이나 보안 취약점으로 httpd 가 해킹당했을때 스팸 메일 발송 창구로 사용할 수 있으니까요.


하지만 이 정책은 php-fpm 이나 python wsgi  에도 적용되므로 WAS 에서 발신하려는 정상적인 서비스 메일 전송까지 차단됩니다.

문제를 해결하려면 먼저 php-fpm 등 WAS 가 어떤 context 로 구동되는지를 확인하고 SELinux policy에 허용으로 변경해 주면 되므로 ps 명령어를 SELinux context 까지 표시하는 -Z 옵션을 추가해서 실행합니다.

$ ps -eafZ|grep fpm      

system_u:system_r:httpd_t:s0    root        1240       1  0 Jul05 ?        00:00:02 php-fpm: master process (/etc/opt/remi/php74/php-fpm.conf)
system_u:system_r:httpd_t:s0    lesstif     1566    1240  0 Jul05 ?        00:00:00 php-fpm: pool www
system_u:system_r:httpd_t:s0    lesstif     1567    1240  0 Jul05 ?        00:00:00 php-fpm: pool www
BASH


context 를 보면 httpd_t 임을 알수 있으므로 다음과 같이 SELinux bool 을 사용해서 접근을 허용해 주면 됩니다.

setsebool -P httpd_can_sendmail on  
BASH


같이 보기