2024_02_13_서버 방화벽 관리

이기태·2024년 2월 13일

리눅스

목록 보기
13/27

1. 서버 방화벽

netfilter project -> (LINUX 공개 방화벽)ipchain/iptables -> nft/firewalld
--------------------- (UNIX 공개 방화벽 )ipfilter
--------------------- ....

1. firewalld 소개

용어

  • zone (영역): 방화벽 규칙의 집합( 그룹화 시켜 놓은 것)
    ex) public, work, home, block ... . .. ..
  • service (서비스): "포트/프로토콜"에 이름을 붙여 놓은 것.
    ex) ssh: 22/tcp , dhcpv6-client: 546/udp ...
  • port (포트): 서비스를 구분하는 번호("포트/프로토콜")

방화벽 규칙 적용 순서(어떤 zone이 선택 되는가)
1. source => zone 선택 ex) 소스에 IP를 추가하면 그 IP는 그 zone에 맞는 규칙 적용
2. interface => zone 선택
3. default zone => source에 없는 ip의 경우 디폴트 zone으로 적용.

  • lo(localhost)는 방화벽 설정해도 다 열려있음. (테스트)

[zone 확인]
# firewall-cmd --get-zones

[service 확인]
# firewall-cmd --get-services

  • 방화벽 규칙 적용 순서(zone 안에 어떤 규칙이 우선순위가 높은가?)
    (1순위) port forwarding(포트포워딩), masquerading(마스커레이딩)
    (2순위) logging, audit
    (3순위) regect/drop
    (4순위) accept/allow

[참고] 기본 규칙은 항상 Rich Rule에 비해 우선한다.

2. 방화벽 설정 툴

(GUI) firewall-config 패키지 설치
(CLI) firewall-cmd CMD

3. 방화벽 설정

  • 방화벽 에서 나가는건 막지 않음 들어오는걸 막을지 안막을지 설정.
    # alias fwcmd='firewall-cmd --permanent'
    # alias fwreload='firewall-cmd --reload'
    # alias fwlist='firewall-cmd --list-all'

  • Default Zone 설정
    # firewall-cmd --get-default
    # firewall-cmd --set-default-zone=public

  • Service 등록/해제
    # firewall-cmd --permanent --add-service={http,https}
    # firewall-cmd --reload
    # firewall-cmd --list-all

# firewall-cmd --permanent --remove-serviece={http,https}
# firewall-cmd --reload
# firewall-cmd --list-all

  • Port 등록/삭제
    # firewall-cmd --permanent --add-port=1521/tcp
    # firewall-cmd --permanent --remove-port=1521/tcp
    # firewall-cmd --reload
    # firewall-cmd --list-all

4. 리치 규칙(Rich Rule)

  • 고급 설정

  • 방화벽 규칙 적용 순서(zone 안에 어떤 규칙이 우선순위가 높은가?)
    (1순위) port forwarding(포트포워딩), masquerading(마스커레이딩)
    (2순위) logging, audit
    (3순위) regect/drop
    (4순위) accept/allow

[참고] 기본 규칙은 항상 Rich Rule에 비해 우선한다.

# man rich-language

5. firewalld 사용한 NAT 구성

  • NAT: Network Address Translation
  • SNAT(Source NAT) - masquerade, masquerading
  • DNAT(Destination NAT) - port forward, port forwarding

  • NAT 원리, 실습 *** p.18~

0개의 댓글