Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

13.4.4. 포트 번호 변경

정책 구성에 따라 서비스는 특정 포트 번호에서만 실행되도록 허용할 수 있습니다. 정책 변경 없이 서비스가 실행되는 포트를 변경하려고 하면 서비스가 시작되지 않을 수 있습니다. semanage 유틸리티를 root 사용자로 사용하여 SELinux에서 httpd 가 수신 대기할 수 있는 포트를 나열합니다.
~]# semanage port -l | grep -w http_port_t
http_port_t                    tcp      80, 443, 488, 8008, 8009, 8443
기본적으로 SELinux를 사용하면 httpd 가 TCP 포트 80, 443, 488, 8008, 8009 또는 8443에서 수신 대기할 수 있습니다. httpdhttp_port_t 에 대해 나열되지 않은 포트에서 수신 대기하도록 /etc/httpd/conf/httpd.conf 가 구성된 경우httpd 가 시작되지 않습니다.
TCP 포트 80, 443, 488, 8008, 8009 또는 8443 이외의 포트에서 실행되도록 httpd 를 구성하려면 다음을 수행합니다.
  1. Listen 옵션에 httpd 에 대한 SELinux 정책에 구성되지 않은 포트가 나열되도록 /etc/httpd/conf/httpd.conf 파일을 루트로 편집합니다. 다음 예제에서는 10.0.0.1 IP 주소 및 TCP 포트 12345에서 수신 대기하도록 httpd 를 구성합니다.
    # Change this to Listen on specific IP addresses as shown below to 
    # prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
    #
    #Listen 12.34.56.78:80
    Listen 10.0.0.1:12345
    
  2. 다음 명령을 root 사용자로 입력하여 포트를 SELinux 정책 구성에 추가합니다.
    ~]# semanage port -a -t http_port_t -p tcp 12345
  3. 포트가 추가되었는지 확인합니다.
    ~]# semanage port -l | grep -w http_port_t
    http_port_t                    tcp      12345, 80, 443, 488, 8008, 8009, 8443
    
포트 12345에서 더 이상 httpd 를 실행하지 않으면 semanage 유틸리티를 root로 사용하여 정책 구성에서 포트를 제거합니다.
~]# semanage port -d -t http_port_t -p tcp 12345