
외부에서 시스템으로 접근하는 패킷을 차단하는 서비스
규칙을 이용해 접근을 허용하거나 차단 할 수 있음
진행되는 순서
firewall-config -> firewall-cmd -> firewall(service) -> iptables(service) -> iptables(명령) -> Netfilter(Kernel)
firewall : iptables의 단점을 보안, 동적으로 방화벽 설정 변경 가능
iptables : Netfilter 제어하는 도구를 사용 (Centos 7이전)
pre-defined Zone
block : 모든 패킷 거부
dmz : 내부로 들어오는 패킷 거부
drop : 내부로 들어오는 모든 패킷 DROP 폐기, ICMP 에러도 폐기
external : 내부로 들어오는 패킷 거부 SSH만 제외 외부로 나가는 모든 패킷 허용
home : 내부로 들어오는 패킷 거부
internal : 내부로 들어오는 패킷 거부
public : Default Zone
trusted : 내부로 들어오는 모든 패킷 허용
work : 내부로 들어오는 모든 패킷 거부
| firewall-cmd | 설명 |
|---|---|
| --state | firewalld 실행 상태 확인 |
| --get-default-zone | 현재 기본 영역 표시 |
| --set-default-zone [zone] | 기본 영역 설정 |
| --get-zones | 사용가능한 모든 영역 나열 |
| --get-services | 사용가능한 모든 서비스 나열 |
| --get-active-zone | 현재 사용중인 모든 영역과 인터페이스 및 소스정보 나열 |
| --add-source=[ip주소] --zone=[zone] | 출발지 주소 규칙 추가 |
| => '--zone' 옵션을 통해 zone 지정해주지 않으면 자동으로 기본영역에 추가 | |
| --remove-source=[ip주소] | IP 주소를 지정된 영역에서 제거 |
| --add-interface=[ifname] --zone=[zone] | 특정 영역에 interface 연결 추가 |
| --change-interface=[ifname] --zone=[zone] | 영역에 연결된 interface 변경 |
| --list-all --zone=[zone] | 영역에 구성된 모든 인터페이스, 소스, 서비스, 포트 나열 |
| --add-service=[service] --zone=[zone] | 해당 서비스 트래픽 허용 |
| --add-port=[port/protocol] --zone=[zone] | 해당 포트나 프로토콜 트래픽 허용 |
| + --permanent | 해당 옵션을 사용하지 않으면 현재 설정이 변경되며 영구설정은 지정이 안됨. |
| --reload | 런타임 구성 삭제, 영구 구성 적용 |
| --runtime-to-permanent | 실행중 설정을 영구 설정으로 변경 |
- TIP
- 패키지 설치 --> port열고 --> 방화벽 설정
- 포트는 개별로 각각 넣어줘야됨
firewalld 실습
server 초기화
server에서 작업
gui = nfs(yum) -y install nfs-utils nfs-utils-lib
nfs-utils, nfs-utils-lib 패키지 설치
yum -y install nfs-utils nfs-utils-lib
nfs 서비스를 시작,활성화 후에 상태 확인
systemctl start nfs-server.service
systemctl enalbe nfs-server.service
systemctl status nfs-server.service
home zone에 다음 사항 추가 영구설정
포트 번호
80/tcp, 111/tcp, 2049/udp, 20048/tcp
firewall-cmd --add-port=80/tcp --permanent --zone=home
firewall-cmd --add-port=111/tcp --permanent --zone=home
firewall-cmd --add-port=2049/udp --permanent --zone=home
firewall-cmd --add-port=20048/tcp --permanent --zone=home
프로토콜
ICMP
firewall-cmd --add-protocol=ICMP --permanent --zone=home
서비스
nfs
firewall-cmd --add-service=nfs --permanent --zone=home
home zone 상태 확인
firewall-cmd --list-all --zone=home
firewall-cmd --list-all --permanent --zone=home
firewall-cmd --reload
firewall-cmd --list-all --zone=home
home zone 을 default-zone 으로 설정
firewall-cmd -set-default-zone=home
servera 컴퓨터에서 http://192.168.56.101/index.html 을 했을 경우 this is Rocky 라고 출력 되도록 하시오.
server 컴퓨터
echo "This is Rocky" > /var/www/html/index.html
systemctl status httpd
systemctl start httpd
systemctl enable httpd
systemctl status httpd
firewall-cmd --add-service=http --permanent
firewall-cmd --reload