[Linux] Firewall

조성열·2025년 10월 13일

Toss - Linux

목록 보기
12/15
post-thumbnail

방화벽은 외부 네트워크에서 내부 시스템에 접근하는 인가되지 않은 네트워크 패킷을 차단해주는 보안 솔루션이다.

firewalld

systemd와 함께 도입된 방화벽 서비스로 동적으로 방화벽 설정을 변경할 수 있어 네트워크 변화에 제한없이 대응할 수 있다. 주요 특징은 다음과 같다.

  • XML 형태로 보관
  • Runtime, Permanent 설정
  • Pre-defined Zone
    firewalld에는 Zone이라는 개념을 사용한다. 이때 Zone은 네트워크 신뢰도를 정의한 것으로 패킷을 카테고리처럼 분류하여 처리하는 메커니즘이다. 이렇게 정의 된 규칙들이 Zone마다 있고, 각 인터페이스 별로 다른 Zone을 적용한다면 공통된 하나의 규칙이 아닌 속한 영역의 규칙을 따르게 된다.
  • Pre-defined Service
    사전에 정의 된 서비스를 간편하게 포트번호와 Mapping 시킬 수 있다. 예를 들어 서비스 이름인 http만 알고 있으면 이에 자동으로 매핑되어 있는 80번 포트의 TCP를 방화벽 규칙에 추가할 수 있다.
  • D-Bus

Practice

먼저 방화벽이 활성화 되어 있는지 여부와 기본으로 설정된 zone의 정보를 확인한다. --set옵션을 통해 기본으로 설정된 zone을 다른 zone으로 바꿀 수 있다. --add옵션으로 http 서비스를 work zone에 추가할 수 있다. --reload 옵션을 통해 방화벽을 초기화 시킬 수 있다. 이때 --permanent옵션을 넣지 않으면 runtime에만 설정한 규칙들이 적용되고, 초기화하면 사라진다. vm의 enp0s8인터페이스의 ip주소로 물리 머신에서 ping을 보내면 잘 보내지는 것을 확인할 수 있고, SSH 연결도 잘 되는 것을 확인할 수 있다.

profile
Blue Team

0개의 댓글