> 운영 및 유지보수 > CentOS > Centos의 방화벽으로 고급 방화벽 규칙을 구현하는 방법은 무엇입니까?

Centos의 방화벽으로 고급 방화벽 규칙을 구현하는 방법은 무엇입니까?

Karen Carpenter
풀어 주다: 2025-03-11 16:59:19
원래의
896명이 탐색했습니다.

이 기사는 Centos의 방화벽을 사용하여 고급 방화벽 규칙을 구현하는 자세한 내용입니다. 세분화 제어를위한 풍부한 규칙 (예 : 소스 IP, 포트, 프로토콜 지정)을 활용하여 영역 기반 접근 방식을 강조합니다. 모범 사례에는 원칙이 포함됩니다

Centos의 방화벽으로 고급 방화벽 규칙을 구현하는 방법은 무엇입니까?

Centos에 방화구를 사용하여 고급 방화벽 규칙을 구현합니다

이 섹션에서는 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 서버 보안을위한 모범 사례

firewalld 사용하여 CentOS 서버를 효과적으로 보호하려면 계층화 된 접근 방식이 필요합니다.

  1. 최소 특권의 원칙 : 필요한 서비스와 항구 만 허용합니다. 불필요하게 포트를 열지 마십시오.
  2. 영역 기반 보안 : 다른 영역 (예 : public , internal , dmz )을 활용하여 네트워크 트래픽을 분리하고 각 영역에 적절한 규칙을 적용합니다. 이는 위반의 영향을 제한하여 보안을 향상시킵니다.
  3. 과립 제어에 대한 풍부한 규칙 : 소스 IP 주소, 포트, 프로토콜 및 기타 기준을 기반으로 매우 특정 액세스 제어를 정의하기 위해 rich rules 사용합니다.
  4. 정기 감사 : sudo firewall-cmd --list-allsudo firewall-cmd --list-rich-rules 사용하여 방화벽 규칙을 정기적으로 검토하여 여전히 적절하고 타협되지 않았는지 확인하십시오.
  5. 입력 필터링 : 입력 필터링 우선 순위. 기본적으로 모든 들어오는 연결을 차단하고 필요한 연결 만 명시 적으로 허용하십시오.
  6. 불필요한 서비스 비활성화 : 적극적으로 필요없는 서비스를 중지하고 비활성화하십시오. 이것은 공격 표면을 줄입니다.
  7. 강력한 암호 및 인증 : 강력한 암호를 구현하고 SSH 키와 같은 강력한 인증 메커니즘을 사용하십시오. 방화벽 규칙만으로는 완전한 보안에 충분하지 않습니다.
  8. 정기적 인 업데이트 : CentOS 시스템을 유지하고 최신 보안 패치로 최신 firewalld 하십시오.
  9. 로그 분석 : 의심스러운 활동을 위해 방화벽 로그를 모니터링하십시오. 이것은 잠재적 인 침입을 감지하고 반응하는 데 도움이 될 수 있습니다.
  10. FAIL2BAN : firewalld 함께 Fail2ban 사용하는 것을 고려하십시오. Fail2ban 무차별 로그인을 시도하는 IP 주소를 자동으로 금지합니다.

특정 응용 프로그램 또는 서비스를 위해 CentO의 방화구를 통해 특정 포트 및 프로토콜 허용

응용 프로그램에 특정 포트 및 프로토콜을 허용하려면 응용 프로그램에서 사용하는 포트 및 프로토콜을 식별하고 적절한 방화벽 규칙을 작성해야합니다. 예를 들어, 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)을 항상 명시 적으로 지정하십시오.

CentOS 시스템의 복잡한 방화구 규칙으로 문제를 해결하기위한 일반적인 문제 해결 단계

복잡한 firewalld 규칙 문제 해결 체계적인 접근이 필요합니다.

  1. 규칙 존재 확인 : sudo firewall-cmd --list-allsudo firewall-cmd --list-rich-rules 사용하여 규칙이 올바르게 추가되고 활성화되어 있는지 확인하십시오.
  2. 점검 영역 할당 : 규칙이 올바른 영역 (예 : public , internal )과 연관되어 있는지 확인하십시오. sudo firewall-cmd --get-active-zones .
  3. 로그 검사 : 오류 또는 경고에 대해 firewalld 구 로그를 확인하십시오. 로그 파일 위치는 시스템 구성에 따라 다를 수 있지만 종종 /var/log/firewalld/ 에서 발견됩니다.
  4. 테스트 연결 : ping , telnet , netstatnc 와 같은 도구를 사용하여 규칙에 영향을받는 서비스에 대한 연결을 테스트하십시오.
  5. 규칙 단순화 : 복잡한 규칙이 많으면 문제가있는 규칙을 분리하기 위해 일부를 일시적으로 비활성화하십시오.
  6. 방화벽을 다시 시작하십시오 : 규칙을 변경 한 후 항상 sudo firewall-cmd --reload 사용하여 firewalld 다시로드하십시오. 완고한 경우, 전체 재시작 ( sudo systemctl restart firewalld )이 필요할 수 있습니다.
  7. iptables (고급) 사용 : 매우 복잡한 시나리오의 경우 기본 iptables 규칙을 직접 조작 할 수 있지만, iptables 에 매우 익숙하지 않으면 일반적으로 권장하지 않습니다. 그러나 firewalld 다시로드 될 때 iptables 로 직접 변경되는 변경이 덮어 쓸 것임을 기억하십시오.
  8. 문서를 참조하십시오. 구문, 옵션 및 문제 해결 팁에 대한 자세한 정보는 공식 firewalld 문서를 참조하십시오.

이러한 단계와 모범 사례를 따르면 CentOS 서버에서 firewalld 사용하여 고급 방화벽 규칙을 효과적으로 관리하고 문제를 해결하여 보안 및 안정성을 향상시킬 수 있습니다.

위 내용은 Centos의 방화벽으로 고급 방화벽 규칙을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿