Nagios Installation | Nagios Core | Nagios Installation On CentOS | DevOps Tools | Edureka
차례:
- 전제 조건
- 기본 방화벽 개념
- 방화벽 영역
- 방화벽 서비스
- 방화벽 런타임 및 영구 설정
- FirewallD 활성화
- 방화벽 영역
- 존 타겟 변경
- 다른 영역에 인터페이스 할당
- 기본 영역 변경
- 새로운 영역 생성
- 방화벽 서비스
- 새로운 FirewallD 서비스 생성
- 포트 및 소스 IP 열기
- 소스 IP 열기
- 소스 포트 열기
- 전달 포트
- IP 주소의 한 포트에서 다른 포트로 트래픽 전달
- 다른 IP 주소로 트래픽 전달
- 다른 포트의 다른 서버로 트래픽 전달
- 결론
방화벽은 들어오고 나가는 네트워크 트래픽을 모니터링하고 필터링하는 방법입니다. 특정 트래픽을 허용할지 차단할지 결정하는 일련의 보안 규칙을 정의하여 작동합니다. 올바르게 구성된 방화벽은 전체 시스템 보안에서 가장 중요한 측면 중 하나입니다.
CentOS 8은 이름이 firewalld 인 방화벽 데몬과 함께 제공됩니다. 시스템의 방화벽을 동적으로 관리 할 수있는 D-Bus 인터페이스를 갖춘 완벽한 솔루션입니다.
이 자습서에서는 CentOS 8에서 방화벽을 구성하고 관리하는 방법에 대해 설명합니다. 또한 기본 FirewallD 개념에 대해서도 설명합니다.
전제 조건
방화벽 서비스를 구성하려면 sudo 권한을 가진 루트 또는 사용자로 로그인해야합니다.
기본 방화벽 개념
방화벽은 영역과 서비스의 개념을 사용합니다. 구성 할 영역과 서비스를 기반으로 시스템에 허용되거나 차단되는 트래픽을 제어 할 수 있습니다.
firewall-cmd
명령 줄 유틸리티를 사용하여
firewall-cmd
구성하고 관리 할 수 있습니다.
CentOS 8에서 iptables는 firewalld 데몬의 기본 방화벽 백엔드로 nftables로 대체되었습니다.
방화벽 영역
영역은 컴퓨터가 연결된 네트워크의 신뢰 수준을 지정하는 미리 정의 된 규칙 집합입니다. 네트워크 인터페이스와 소스를 영역에 할당 할 수 있습니다.
다음은 영역의 신뢰 수준에 따라 FirewallD가 제공 한 영역을 신뢰할 수없는 영역에서 신뢰할 수있는 영역으로 정렬 한 것입니다.
- drop: 모든 들어오는 연결이 알림없이 끊어집니다. 나가는 연결 만 허용됩니다. block:
IPv4
경우icmp-host-prohibited
메시지와icmp6-adm-prohibited
icmp-host-prohibited
메시지로 모든 수신 연결이 거부됩니다. 나가는 연결 만 허용됩니다. public: 신뢰할 수없는 공용 영역에서 사용합니다. 네트워크의 다른 컴퓨터는 신뢰하지 않지만 선택한 들어오는 연결은 허용 할 수 있습니다. external: 시스템이 게이트웨이 또는 라우터로 작동 할 때 NAT 마스커레이딩이 활성화 된 외부 네트워크에서 사용합니다. 선택된 들어오는 연결 만 허용됩니다. internal: 시스템이 게이트웨이 또는 라우터 역할을 할 때 내부 네트워크에서 사용합니다. 네트워크의 다른 시스템은 일반적으로 신뢰됩니다. 선택된 들어오는 연결 만 허용됩니다. dmz: 비무장 지대에 있으며 나머지 네트워크에 대한 액세스가 제한된 컴퓨터에 사용됩니다. 선택된 들어오는 연결 만 허용됩니다. 작업: 작업 기계에 사용됩니다. 네트워크의 다른 컴퓨터는 일반적으로 신뢰됩니다. 선택된 들어오는 연결 만 허용됩니다. home: 가정용 기기에 사용됩니다. 네트워크의 다른 컴퓨터는 일반적으로 신뢰됩니다. 선택된 들어오는 연결 만 허용됩니다. 신뢰할 수 있음: 모든 네트워크 연결이 허용됩니다. 네트워크의 모든 컴퓨터를 신뢰하십시오.
방화벽 서비스
방화벽 서비스는 영역 내에 적용되는 미리 정의 된 규칙이며 특정 서비스에 대한 들어오는 트래픽을 허용하는 데 필요한 설정을 정의합니다. 이 서비스를 사용하면 한 번에 여러 작업을 쉽게 수행 할 수 있습니다.
예를 들어, 서비스에는 포트 열기, 트래픽 전달 등에 대한 정의가 포함될 수 있습니다.
방화벽 런타임 및 영구 설정
Firewalld는 두 개의 분리 된 구성 세트, 런타임 및 영구 구성을 사용합니다.
런타임 구성은 실제 실행 구성이며 재부팅시 유지되지 않습니다. firewalld 데몬이 시작되면 영구 구성이로드되어 런타임 구성이됩니다.
기본적으로
firewall-cmd
유틸리티를 사용하여 방화벽 구성을 변경하면 변경 사항이 런타임 구성에 적용됩니다. 변경 사항을 영구적으로 만들려면
--permanent
옵션을 명령에 추가하십시오.
두 구성 세트 모두에서 변경 사항을 적용하려면 다음 두 가지 방법 중 하나를 사용하십시오.
-
런타임 구성을 변경하고 영구적으로 만드십시오.
sudo firewall-cmd
sudo firewall-cmd --runtime-to-permanent
영구 구성을 변경하고 firewalld 데몬을 다시로드하십시오.
sudo firewall-cmd --permanent
sudo firewall-cmd --reload
FirewallD 활성화
CentOS 8에서 방화벽은 기본적으로 설치되고 활성화됩니다. 어떤 이유로 시스템에 설치되지 않은 경우 다음을 입력하여 데몬을 설치하고 시작할 수 있습니다.
sudo dnf install firewalld
sudo systemctl enable firewalld --now
다음을 사용하여 방화벽 서비스의 상태를 확인할 수 있습니다.
sudo firewall-cmd --state
방화벽이 활성화되어 있으면 명령이
running
중으로 인쇄되어야
running
. 그렇지 않으면을
not running
것을 볼 수 있습니다.
방화벽 영역
기본 영역은 다른 영역에 명시 적으로 할당되지 않은 모든 항목에 사용되는 영역입니다.
다음을 입력하여 기본 영역을 볼 수 있습니다.
sudo firewall-cmd --get-default-zone
public
사용 가능한 모든 영역의 목록을 얻으려면 다음을 입력하십시오.
sudo firewall-cmd --get-zones
block dmz drop external home internal public trusted work
활성 영역과 해당 영역에 할당 된 네트워크 인터페이스를 보려면
sudo firewall-cmd --get-active-zones
아래 출력은
eth0
및
eth1
인터페이스가
public
영역에 할당되었음을 보여줍니다.
public interfaces: eth0 eth1
다음과 같이 영역 구성 설정을 인쇄 할 수 있습니다.
sudo firewall-cmd --zone=public --list-all
public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
위 출력에서 공개 영역이 활성화되어 있고 기본 대상인
REJECT
사용하고 있음을 알 수 있습니다. 또한 출력은 영역이
eth0
및
eth1
인터페이스에서 사용되고 DHCP 클라이언트 및 SSH 트래픽을 허용 함을 보여줍니다.
sudo firewall-cmd --list-all-zones
이 명령은 사용 가능한 모든 영역의 설정으로 큰 목록을 인쇄합니다.
존 타겟 변경
대상은 지정되지 않은 들어오는 트래픽에 대한 영역의 기본 동작을 정의합니다.
default
,
ACCEPT
,
REJECT
및
DROP
옵션 중 하나로 설정할 수 있습니다.
영역의 대상을 설정하려면
--zone
옵션으로 영역을 지정하고
--set-target
옵션
--set-target
을 지정하십시오.
예를 들어
public
영역의 대상을
DROP
으로 변경하려면 다음을 실행하십시오.
sudo firewall-cmd --zone=public --set-target=DROP
다른 영역에 인터페이스 할당
다른 영역에 대해 특정 규칙 집합을 만들고 다른 인터페이스를 할당 할 수 있습니다. 이것은 컴퓨터에서 여러 인터페이스를 사용할 때 특히 유용합니다.
다른 영역에 인터페이스를 할당하려면
--zone
옵션으로 영역을 지정하고
--change-interface
옵션
--change-interface
지정하십시오.
예를 들어 다음 명령은
eth1
인터페이스를
work
영역에 할당합니다.
sudo firewall-cmd --zone=work --change-interface=eth1
다음을 입력하여 변경 사항을 확인하십시오.
sudo firewall-cmd --get-active-zones
work interfaces: eth1 public interfaces: eth0
기본 영역 변경
기본 영역을 변경하려면
--set-default-zone
옵션 다음에 기본으로 만들 영역의 이름을 사용하십시오.
예를 들어, 기본 영역을
home
으로 변경하려면 다음 명령을 실행하십시오.
sudo firewall-cmd --set-default-zone=home
다음을 사용하여 변경 사항을 확인하십시오.
sudo firewall-cmd --get-default-zone
새로운 영역 생성
방화벽을 사용하면 자신 만의 영역을 만들 수도 있습니다. 응용 프로그램 별 규칙을 만들 때 유용합니다.
다음 예에서는
memcached
라는 새 영역을 만들고 포트
11211
열고
192.168.100.30
IP 주소에서만 액세스를 허용합니다.
-
영역을 작성하십시오.
sudo firewall-cmd --new-zone=memcached --permanent
영역에 규칙을 추가하십시오.
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
변경 사항을 활성화하려면 firewalld 데몬을 다시로드하십시오.
sudo firewall-cmd --reload
방화벽 서비스
방화벽을 사용하면 서비스라고하는 미리 정의 된 규칙에 따라 특정 포트 및 / 또는 소스에 대한 트래픽을 허용 할 수 있습니다.
사용 가능한 모든 기본 서비스 유형 목록을 가져 오려면 다음을 수행하십시오.
sudo firewall-cmd --get-services
/usr/lib/firewalld/services
디렉토리에서 관련.xml 파일을 열어 각 서비스에 대한 자세한 정보를 찾을 수 있습니다. 예를 들어, HTTP 서비스는 다음과 같이 정의됩니다.
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
공용 영역의 인터페이스에 대해 들어오는 HTTP 트래픽 (포트 80)을 허용하려면 현재 세션 (런타임 구성)에 대해서만 입력하십시오.
sudo firewall-cmd --zone=public --add-service=http
기본 영역을 수정하는 경우
--zone
옵션을
--zone
할 수 있습니다.
서비스가 성공적으로 추가되었는지 확인하려면
--list-services
옵션을 사용하십시오.
sudo firewall-cmd --zone=public --list-services
ssh dhcpv6-client
재부팅 후 포트 80을 열어 두려면
--permanent
옵션을 사용하여 동일한 명령을 다시 한 번 실행하거나 다음을 실행하십시오.
sudo firewall-cmd --runtime-to-permanent
--permanent
옵션과 함께
--list-services
를 사용하여 변경 사항을 확인하십시오.
sudo firewall-cmd --permanent --zone=public --list-services
ssh dhcpv6-client
서비스 제거 구문은 서비스를 추가 할 때와 동일합니다.
--add-service
플래그 대신
--remove-service
사용하십시오.
sudo firewall-cmd --zone=public --remove-service=http --permanent
위의 명령은 공개 영역 영구 구성에서
http
서비스를 제거합니다.
새로운 FirewallD 서비스 생성
이미 언급했듯이 기본 서비스는
/usr/lib/firewalld/services
디렉토리에 저장됩니다. 새로운 서비스를 생성하는 가장 쉬운 방법은 기존 서비스 파일을
/etc/firewalld/services
디렉토리에 복사하는 것입니다.이 디렉토리는 사용자가 만든 서비스의 위치이며 파일 설정을 수정합니다.
예를 들어, Plex Media Server에 대한 서비스 정의를 작성하기 위해 SSH 서비스 파일을 사용할 수 있습니다.
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml
새로 작성된
plexmediaserver.xml
파일을 열고 서비스의 짧은 이름 및 설명을
다음 예에서는 포트
1900
UDP 및
32400
TCP를 엽니 다.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
파일을 저장하고 FirewallD 서비스를 다시로드하십시오.
sudo firewall-cmd --reload
이제 다른 서비스와 동일한 영역에서
plexmediaserver
서비스를 사용할 수 있습니다.
포트 및 소스 IP 열기
방화벽을 사용하면 서비스 정의를 만들지 않고도 신뢰할 수있는 IP 주소 또는 특정 포트에서 모든 트래픽을 빠르게 활성화 할 수 있습니다.
소스 IP 열기
특정 IP 주소 (또는 범위)에서 들어오는 모든 트래픽을 허용하려면
--zone
옵션으로 영역을 지정하고
--add-source
옵션으로 소스 IP를 지정하십시오.
예를 들어
public
영역에서 192.168.1.10의 모든 들어오는 트래픽을 허용하려면 다음을 실행하십시오.
sudo firewall-cmd --zone=public --add-source=192.168.1.10
새 규칙을 영구적으로 설정하십시오.
sudo firewall-cmd --runtime-to-permanent
다음 명령을 사용하여 변경 사항을 확인하십시오.
sudo firewall-cmd --zone=public --list-sources
192.168.1.10
소스 IP를 제거하는 구문은 추가 할 때와 동일합니다.
--add-source
옵션 대신
--remove-source
사용하십시오.
sudo firewall-cmd --zone=public --remove-source=192.168.1.10
소스 포트 열기
주어진 포트에서 들어오는 모든 트래픽을 허용하려면
--zone
옵션으로 영역을 지정하고
--add-port
옵션으로 포트 및 프로토콜을 지정하십시오.
예를 들어, 현재 세션에 대해 공개 영역에서 포트
8080
을 열려면 다음을 실행하십시오.
sudo firewall-cmd --zone=public --add-port=8080/tcp
프로토콜은
tcp
,
udp
,
sctp
또는
dccp
있습니다.
변경 사항을 확인하십시오.
sudo firewall-cmd --zone=public --list-ports
8080
재부팅 후 포트를 열어 두려면
--permanent
플래그를 사용하여 동일한 명령을 실행하거나 다음을 실행하여 규칙을 영구 설정에 추가하십시오.
sudo firewall-cmd --runtime-to-permanent
포트를 제거하는 구문은 포트를 추가 할 때와 동일합니다.
--add-port
옵션 대신
--remove-port
사용하십시오.
sudo firewall-cmd --zone=public --remove-port=8080/tcp
전달 포트
한 포트에서 다른 포트로 트래픽을 전달하려면 먼저
--add-masquerade
옵션을 사용하여 원하는 영역에 대한 마스 쿼 레이 딩을 활성화하십시오. 예를 들어,
external
영역에 대한 가장을 활성화하려면 다음을 입력하십시오.
sudo firewall-cmd --zone=external --add-masquerade
IP 주소의 한 포트에서 다른 포트로 트래픽 전달
다음 예에서는 동일한 서버에서 포트
80
에서 포트
8080
으로 트래픽을 전달합니다.
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
다른 IP 주소로 트래픽 전달
다음 예에서는 IP
10.10.10.2
서버의 포트
80
에서 포트
80
으로 트래픽을 전달합니다.
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2
다른 포트의 다른 서버로 트래픽 전달
다음 예에서는 IP
10.10.10.2
서버에서 포트
80
에서 포트
8080
으로 트래픽을 전달합니다.
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2
전달 규칙을 지속적으로 유지하려면 다음을 사용하십시오.
sudo firewall-cmd --runtime-to-permanent
결론
CentOS 8 시스템에서 방화벽 서비스를 구성하고 관리하는 방법을 배웠습니다.
불필요한 모든 연결을 제한하면서 시스템의 올바른 기능에 필요한 모든 들어오는 연결을 허용하십시오.
방화벽 방화벽 centos 보안Windows phone 8에서 이메일 동기화를 설정하고 관리하는 방법

Windows Phone 8에서 사용할 수있는 이메일 동기화 및 설정 옵션에 대해 알고 싶었던 모든 것.
centos 7에서 방화벽으로 방화벽을 설정하는 방법

FirewallD는 시스템의 iptables 규칙을 관리하고이를 작동하기위한 D-Bus 인터페이스를 제공하는 완벽한 방화벽 솔루션입니다. 이 자습서에서는 CentOS 7 시스템에서 FirewallD를 사용하여 방화벽을 설정하는 방법과 기본 FirewallD 개념을 설명합니다.
centos 7에서 방화벽을 중지하고 비활성화하는 방법

CentOS 7부터 FirewallD는 iptables를 기본 방화벽 관리 도구로 대체합니다. 이 튜토리얼에서는 CentOS 7 시스템에서 FirewallD를 비활성화하는 방법을 보여줍니다.