방화벽이란?
- 컴퓨팅에서 방화벽 또는 파이어월 firewall은 미리 정의된 보안 규칙에 기반하여 들어오고 나가는 모든 네트워크 트래픽을 모니터링하고 제어하는 보안 시스템을 의미
- 일반적으로 방화벽은 신뢰할 수 있는 네트워크와 신뢰할 수 없는 네트워크 사이에 장벽을 설정
- 주요 목표는 내부 네트워크 또는 장치와 인터넷에서 들어오는 외부 트래픽 사이에 장벽을 만드는 것
- 일반적으로 내부와 외부 네트워크의 경계 지점에 위치
- 내부 네트워크를 안전하고 신뢰하다고 가정, 외부 네트워크는 안전하지 않고 신뢰하기 어렵다는 가정 하에 정책과 규칙을 적용
- 들어오고 나가는 패킷에 대해 지정된 정책과 규칙을 사용해 두 가지의 반응, 허용과 거절이라는 행동을 통해 모든 패킷을 통제
- 네트워크 방화벽은 트래픽을 필터링하여 이러한 일부 위협을 차단하고 무단 액세스를 방지하여 네트워크 보안을 제공하는 사이버 보안 도구
Firewalld 방화벽
- CentOS7부터 이전의 Iptables를 대체해 새롭게 선보인 패킷 필터링 방화벽 프로그램
- 설정에 대한 변경을 언제든지 할 수 있고, 변경 사항을 저장할 필요 없이 즉시 적용하기 때문에 이전 방화벽이 정적 (static)인 방면 Firewalld는 동적(Dynamic) 방화벽인 점이 차이점
방화벽의 작동 방법
- 외부 트래픽은 장치의 진입점(포트)를 통해서만 사설 네트워크에 도달할 수 있음
- 일반적으로 방화벽 설정을 통해 트래픽을 보호하는 곳, 액세스 제어 목록이라고 하는 정의된 규칙 또는 일련의 규칙을 기반으로 데이터 패킷을 허용하거나 차단
- 이러한 규칙은 IP 주소, 도메인 이름, 포트, 프로토콜, 프로그램 및 또는 키워드를 기반으로도 설정할 수 있음
방화벽 유형 (구현 방법에 따른)
- 소프트웨어 방화벽
- 하드웨어 방화벽
- 클라우드 기반 방화벽
소프트웨어 방화벽
- 자치에 설치
- 전체 네트워크가 아닌 개별 장치만 보호
- 개별 네트워크 엔드 포인트를 격리하려는 경우 유용
- 개인에게는 좋지만 기업 네트워크에는 적합하지 않음
- 수많은 개별 방화벽 유지는 어렵고 시간이 오래 걸림
- 윈도우 방화벽, 우분투 방화벽, 윈도우 10 방화벽 등
하드웨어 방화벽
- 공유기와 유사한 물리적 기구
- 네트워크에 도달하기 전에 데이터 패킷을 검사
- 시스템 내 공격에 취약, 일부는 여러 동시 연결을 처리할 수 없음
클라우드 기반 방화벽
- 프록시 서버로 설정되는 클라우드 서버를 사용
- 더 많은 용량을 추가, 비즈니스를 확장하려는 회사에 적합
- 소프트웨어 또는 하드웨어 방화벽을 사용하는 것보다 트래픽 부하를 관리하기 쉬움
다양한 필터링 유형
패킷 필터링 방화벽
- 공유기를 통과하는 데이터 패킷을 확인
- 패킷 필터링 방화벽은 내용을 검사하기 위해 패킷을 열지 않지만 발신자와 수신자의 IP 주소, 패킷 유형, 포트번호 및 기타 표면 수준 정보를 확인
서킷 레벨 게이트웨이
-
- 패킷 필터링 방화벽과 마찬가지로 게이트웨이에서 패킷의 내용을 확인하지 않고 솟만 확인
- 패킷이 통과하려면 TCP(전송제어프로토콜) 핸드 셰이크에서 승인한 적법한 소스에서 가져와야 함
- 보안을 보장하기에 충분하지 않음
- 패킷이 TCP 연결에서 오는 경우에도 멀웨어를 숨기고 있을 수 있기 때문
상태 추적 기반 방화벽
- 패킷 필터링 / 서킷 레벨 방화벽을 결합
- 패킷을 필터링하고 적법한 소스(TCP 핸드 셰이크) 에서 왔는지 확인, 더 나은 사이버 보안을 보장
- 더 많은 기능이 있기 때문에 더 높은 수준의 컴퓨팅 성능이 필요
애플리케이션 수준 게이트웨이 또는 프록시 방화벽
- 애플리케이션 계층에서 작동
- 내부 네트워크와 트래픽 소스 간의 트래픽을 확인
- 트래픽을 먼저 프록시 서버(또는 다른 클라우드 기반 솔루션)을 통해 전달하여 수신 데이터 패킷을 검사한 다음 네트워크로 전달하도록 허용
- 프록시 방화벽은 데이터 패킷과 TCP 핸드셰이크를 모두 확인하기 때문에 상태 추적 기반 방화벽과 다소 유사
- 프록시 방화벽이 패킷의 목적에 대해 요청, 패킷의 내용을 확인하고 DPI (Deep Layer Packet Inspection)를 수행
- 트래픽 소스에서 네트워크를 분리하여 네트워크의 익명성을 보호, 추가 보호 계층을 제공
- 더 나은 방어선을 제공하지만 패킷을 검사하는 데 시간이 오래 걸리므로 연결 속도가 느려질 수 있음
차세대 방화벽
- 명확한 설명 존재 X
리눅스 firewalld
- Kali : 외부에서 침입을 시도하는 Hacker
- Firewalld : 침입을 방어하기 위한 일종의 보안 장비(CenOS)
- Windows Server : 사용자
- Zone
- 방화벽에는 기본적으로 Zone이라는 개념이 존재
- Zone은 서버의 용도에 맞게 미리 정의된 네트워크 보안 레벨을 의미
- 아무 설정도 하지 않았다면 기본적으로 public Zone을 사용
ETC 유용한 명령어
firewall-cmd –state
방화벽 상태 확인
firewall-cmd –get-zones
모든 Zone 출력
firewall-cmd –get-default-zone
현재 적용된 Zone 출력
firewall-cmd –list-all
사용 가능한 서비스/포트 출력
firewall-cmd –reload
방화벽 리로드
서브목차