이 기사는 Centos의 방화벽을 사용하여 고급 방화벽 규칙을 구현하는 자세한 내용입니다. 세분화 제어를위한 풍부한 규칙 (예 : 소스 IP, 포트, 프로토콜 지정)을 활용하여 영역 기반 접근 방식을 강조합니다. 모범 사례에는 원칙이 포함됩니다
이 섹션에서는 CentOS 시스템에서 firewalld
사용하여 고급 방화벽 규칙을 구현하는 방법에 대해 자세히 설명합니다. firewalld
간단한 포트 개구부를 넘어 방화벽을 관리하는 강력하고 유연한 방법을 제공합니다. 그 강점은 구역 기반 아키텍처와 풍부한 구문을 사용하여 복잡한 규칙을 정의하는 능력에 있습니다.
먼저 firewalld
설치되고 실행되도록하십시오.
<code class="bash">sudo yum install firewalld sudo systemctl start firewalld sudo systemctl enable firewalld</code>
고급 규칙은 일반적으로 특정 영역 내에 추가됩니다. default
영역은 일반적으로 공개 인터페이스를위한 것이며 internal
또는 dmz
와 같은 다른 지역은 각각 내부 네트워크 또는 비무장 영역에 대해 작성됩니다. default
영역의 특정 IP 주소 (192.168.1.100)에서만 SSH 액세스를 허용한다고 가정 해 봅시다. firewall-cmd
명령 줄 도구를 사용하여이를 달성 할 수 있습니다.
<code class="bash">sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept' sudo firewall-cmd --reload</code>
이 명령은 default
영역에 영구 규칙 ( --permanent
사용)을 추가합니다. --add-rich-rule
옵션을 사용하면 XML 유사 구문에 지정된 복잡한 규칙을 허용합니다. 이 규칙은 구체적으로 192.168.1.100
에서 시작하여 IPv4 트래픽 ( family="ipv4"
)을 대상으로하며이를 받아들입니다 ( accept
). 변경 사항이 적용되도록 --reload
사용하여 firewalld
다시로드해야합니다. 포트 범위, 프로토콜 (TCP/UDP) 및 rich rule
의 기타 기준과 같은 더 복잡한 조건을 추가 할 수 있습니다. 예를 들어, 해당 IP에서 SSH (포트 22) 만 허용합니다.
<code class="bash">sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept' sudo firewall-cmd --reload</code>
다음을 사용하여 현재 규칙을 볼 수 있습니다.
<code class="bash">sudo firewall-cmd --list-all sudo firewall-cmd --list-rich-rules</code>
firewalld
사용하여 CentOS 서버를 효과적으로 보호하려면 계층화 된 접근 방식이 필요합니다.
public
, internal
, dmz
)을 활용하여 네트워크 트래픽을 분리하고 각 영역에 적절한 규칙을 적용합니다. 이는 위반의 영향을 제한하여 보안을 향상시킵니다.rich rules
사용합니다.sudo firewall-cmd --list-all
및 sudo firewall-cmd --list-rich-rules
사용하여 방화벽 규칙을 정기적으로 검토하여 여전히 적절하고 타협되지 않았는지 확인하십시오.firewalld
하십시오.firewalld
함께 Fail2ban
사용하는 것을 고려하십시오. Fail2ban
무차별 로그인을 시도하는 IP 주소를 자동으로 금지합니다.응용 프로그램에 특정 포트 및 프로토콜을 허용하려면 응용 프로그램에서 사용하는 포트 및 프로토콜을 식별하고 적절한 방화벽 규칙을 작성해야합니다. 예를 들어, HTTP 트래픽 (포트 80) 및 HTTPS 트래픽 (포트 443)을 허용합니다.
<code class="bash">sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --reload</code>
특정 IP 주소 또는 기타 기준과 관련된보다 복잡한 시나리오의 경우 rich rules
사용하십시오.
<code class="bash">sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="8080" accept' sudo firewall-cmd --reload</code>
이를 통해 IP 주소 192.168.1.100에서 포트 8080의 TCP 트래픽이 가능합니다. 이 값을 특정 응용 프로그램의 적절한 포트, 프로토콜 및 IP 주소로 바꾸는 것을 잊지 마십시오. 프로토콜 (TCP 또는 UDP)을 항상 명시 적으로 지정하십시오.
복잡한 firewalld
규칙 문제 해결 체계적인 접근이 필요합니다.
sudo firewall-cmd --list-all
및 sudo firewall-cmd --list-rich-rules
사용하여 규칙이 올바르게 추가되고 활성화되어 있는지 확인하십시오.public
, internal
)과 연관되어 있는지 확인하십시오. sudo firewall-cmd --get-active-zones
.firewalld
구 로그를 확인하십시오. 로그 파일 위치는 시스템 구성에 따라 다를 수 있지만 종종 /var/log/firewalld/
에서 발견됩니다.ping
, telnet
, netstat
및 nc
와 같은 도구를 사용하여 규칙에 영향을받는 서비스에 대한 연결을 테스트하십시오.sudo firewall-cmd --reload
사용하여 firewalld
다시로드하십시오. 완고한 경우, 전체 재시작 ( sudo systemctl restart firewalld
)이 필요할 수 있습니다.iptables
(고급) 사용 : 매우 복잡한 시나리오의 경우 기본 iptables
규칙을 직접 조작 할 수 있지만, iptables
에 매우 익숙하지 않으면 일반적으로 권장하지 않습니다. 그러나 firewalld
다시로드 될 때 iptables
로 직접 변경되는 변경이 덮어 쓸 것임을 기억하십시오.firewalld
문서를 참조하십시오. 이러한 단계와 모범 사례를 따르면 CentOS 서버에서 firewalld
사용하여 고급 방화벽 규칙을 효과적으로 관리하고 문제를 해결하여 보안 및 안정성을 향상시킬 수 있습니다.
위 내용은 Centos의 방화벽으로 고급 방화벽 규칙을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!