[Linux (리눅스)/#9 firewall명령어]

SeungWoo·2023년 11월 3일

[Linux(리눅스)]

목록 보기
10/13
post-thumbnail

Linux Firewall(방화벽)

  • 외부에서 시스템으로 접근하는 패킷을 차단하는 서비스

  • 규칙을 이용해 접근을 허용하거나 차단 할 수 있음

    • zone
    • 서비스
    • port (포트)
    • IP
    • Interface
  • 진행되는 순서
    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 에러도 폐기

      • 폐기 (drop) : 패킷을 받으면 응답 없이 버린다. = 버려서 응답이 없다.
      • 거절 (reject) : 패킷을 받으면 거부한다라는 ICMP 패킷을 보내줌 --> 거절 읍답을 하면서 존재는 알수 있다.
    • external : 내부로 들어오는 패킷 거부 SSH만 제외 외부로 나가는 모든 패킷 허용

    • home : 내부로 들어오는 패킷 거부

      • SSH, DHCP Client, samba, ...
      • 외부로 나가는 모든 패킷은 허용
    • internal : 내부로 들어오는 패킷 거부

      • SSH, DHCP Client, samba, ...
      • 외부로 나가는 모든 패킷 허용
    • public : Default Zone

      • 내부로 들어오는 모든 패킷 거부
      • SSH, DHCPv6-... 제외
      • 외부로 나가는 모든 패킷 허용
    • trusted : 내부로 들어오는 모든 패킷 허용

      • 외부로 나가는 모든 패킷 허용
    • work : 내부로 들어오는 모든 패킷 거부

      • SSH,DHCPv4, IPP 허용하거나
      • 외부로 나가는 모든 패킷 허용

fire 설정 방법

firewall-cmd설명
--statefirewalld 실행 상태 확인
--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
profile
This is my study archive

0개의 댓글