다른 사이트에 대한 SELinux 아웃바운드 액세스가 제한됨

다른 사이트에 대한 SELinux 아웃바운드 액세스가 제한됨

우리는 많은 웹사이트를 호스팅하기 위해 CentOS 6에 SELinux를 구성했습니다.

안타깝게도 SELinux는 웹사이트가 wordpress 또는 Joomla 설치를 업데이트하기 위해 download.wordpress.com과 같은 (아웃바운드) 사이트에 액세스하는 것을 차단하고 있습니다.

우리는 SELinux를 활성화하고 이러한 사이트가 그러한 연결을 만들 수 있도록 허용하고 싶습니다.

우리가 두려워하는 것은 우리가 하는 것입니다.

# setsebool -P httpd_can_network_connect 1

일부 "개발자"는 스팸 전송을 시작하는 PHP 스크립트를 생성하여 IP가 블랙리스트에 추가됩니다.

아웃바운드 연결을 동시에 활성화하고 이러한 아웃바운드 문제를 제한할 수 있는 방법이 있습니까?

감사해요.

답변1

SELinux에 아웃바운드 연결을 허용하도록 지시하면 더 이상 이를 사용하여 악의적인 PHP 스크립트를 차단할 수 없습니다. 그러나 대신 iptables 규칙을 사용할 수 있습니다.

iptables -I OUTPUT -m state --state new -m owner --uid-owner httpd -j REJECT
iptables -I OUTPUT -m state --state new -m owner --uid-owner httpd -p tcp --dport 80 -j ACCEPT
iptables -I OUTPUT -m state --state new -m owner --uid-owner httpd -p tcp --dport 443 -j ACCEPT
service iptables save

이렇게 하면 사용자는 httpd포트 80과 443에만 연결할 수 있습니다. 다른 모든 연결 시도는 거부됩니다. ("httpd"를 apache httpd가 실행 중인 사용자로 변경합니다.)

iptables의 conlimit 모듈을 사용하여 허용되는 병렬 연결 수를 제한할 수도 있습니다. 바라보다http://www.cyberciti.biz/faq/iptables-connection-limits-howto/이를 수행하는 방법에 대한 예입니다.

관련 정보