리눅스

30. 리눅스 방화벽 설정

안녕하세요. 하얀 도화지 남편입니다.

오늘은 리눅스 방화벽 설정과 관련하여 알아보려합니다.

리눅스 방화벽 설정에 사용되는 iptables와 firewalld를 중접적으로 설명하였습니다.


1. 리눅스 방화벽 개요

리눅스에서 보안을 강화하는 핵심 요소 중 하나는 방화벽 설정입니다. 방화벽은 외부 네트워크로부터의 불법적인 접근을 차단하고, 내부 네트워크의 보안을 유지하는 역할을 합니다. 리눅스에서는 주로 iptablesfirewalld가 방화벽 설정에 사용됩니다.

2. iptables와 firewalld의 차이점

리눅스 방화벽 관리에는 iptablesfirewalld 두 가지 방법이 있습니다.

  • iptables: 리눅스 커널의 네트워크 필터링 시스템을 직접 제어하는 전통적인 방식입니다.
  • firewalld: 동적 방화벽 관리 도구로, iptables를 대체하며 서비스별 규칙을 쉽게 관리할 수 있습니다.

iptables vs firewalld 비교

항목 iptables firewalld
설정 방식 명령어 기반 서비스 기반
동적 설정 불가능 가능
사용 편의성 복잡함 상대적으로 쉬움
권장 환경 레거시 시스템 최신 배포판

3. iptables 방화벽 설정

iptables 설치

일부 리눅스 배포판에서는 기본적으로 iptables가 설치되어 있지만, 없는 경우 다음 명령어로 설치할 수 있습니다.

sudo apt install iptables  # Ubuntu, Debian
sudo yum install iptables  # CentOS, RHEL

iptables 기본 규칙

iptables는 기본적으로 다음과 같은 체인으로 구성됩니다.

  • INPUT: 들어오는 패킷을 제어
  • OUTPUT: 나가는 패킷을 제어
  • FORWARD: 경유하는 패킷을 제어

iptables 기본 정책 설정 예제

sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

위 설정은 들어오는 트래픽과 포워딩되는 트래픽을 기본적으로 차단하고, 나가는 트래픽을 허용합니다.

특정 포트 허용

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # SSH 허용
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # HTTP 허용
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS 허용

iptables 설정 저장 및 적용

설정을 영구적으로 유지하려면 다음 명령어를 실행합니다.

sudo iptables-save > /etc/iptables/rules.v4

4. firewalld 방화벽 설정

firewalld 설치 및 활성화

sudo yum install firewalld  # CentOS, RHEL
sudo systemctl start firewalld
sudo systemctl enable firewalld

firewalld 기본 명령어

sudo firewall-cmd --state  # 방화벽 상태 확인
sudo firewall-cmd --list-all  # 현재 설정 확인

특정 포트 허용

sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload  # 설정 적용

서비스 기반 허용 설정

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

firewalld 비활성화 (주의!)

sudo systemctl stop firewalld
sudo systemctl disable firewalld

5. 방화벽 로그 설정 및 확인

방화벽의 동작을 확인하려면 로그를 활성화해야 합니다.

iptables 로그 활성화

sudo iptables -A INPUT -j LOG --log-prefix "[iptables] " --log-level 4

로그는 /var/log/syslog 또는 /var/log/messages에서 확인할 수 있습니다.

firewalld 로그 활성화

sudo firewall-cmd --set-log-denied=all

로그는 /var/log/firewalld에서 확인할 수 있습니다.

6. 방화벽 설정 초기화

iptables 초기화

sudo iptables -F  # 모든 규칙 삭제
sudo iptables -X  # 사용자 정의 체인 삭제

firewalld 초기화

sudo firewall-cmd --permanent --flush-all-rules
sudo firewall-cmd --reload

리눅스 방화벽 설정은 보안을 강화하는 필수 요소입니다. iptables는 강력한 커스터마이징이 가능하지만 복잡하며, firewalld는 보다 간편한 관리를 제공합니다. 서버 환경에 맞는 방화벽을 선택하여 설정하고, 지속적인 모니터링을 통해 보안 상태를 유지하는 것이 중요합니다.

감사합니다.

love2ans

Recent Posts

윈도우에서 시스템 로그를 분석하는 방법

안녕하세요. 흰도화지 남편입니다. 오늘은 윈도우 시스템 로그 분석 방법에 대해서 알아 보도록 하겠습니다. 윈도우 시스템…

1개월 ago

윈도우에서 게임 최적화 설정하는 방법

안녕하세요. 하얀 도화지 남편입니다. 오늘은 윈도우에서 게임 최적화 설정하는 방법에 대해서 알아보려고합니다. 1. 윈도우 최적화…

2개월 ago

윈도우 블루스크린 오류 해결법

안녕하세요. 흰도화지 남편입니다. 오늘은 윈도우 블루스크린 오류 해결법에 대해서 공부해 보도록 하겠습니다. 블루스크린 오류란? 블루스크린…

2개월 ago

SSD vs HDD 차이점과 Windows 11 최적화 방법

안녕하세요. 흰도화지 남편입니다. 오늘은 SSD와HDD의 차이점과 더블어 Windows 11 최적화 하는 방법에 대해 공부해 보도록…

2개월 ago

윈도우에서 자주 사용하는 명령어 20가지 및 활용 방법

안녕하세요. 하얀 도화지 남편입니다. 오늘은 윈도우에서 자주 사용하는 명령어 20가지 및 활용 방법에 대해 공부해보도록…

2개월 ago

윈도우의 역사

안녕하세요. 하얀 도화지 남편입니다. 오늘은 윈도우의 역사에 대해 공부해 볼까 합니다. 함께 알아볼까요? 1. 윈도우의…

2개월 ago