리눅스 서버를 운영하다 보면, 외부로부터의 불필요한 접속을 차단하는 일이 매우 중요합니다.
바로 그 역할을 해주는 것이 방화벽(Firewall)입니다.
리눅스에서는 주로 UFW (Ubuntu 계열)와 firewalld (Red Hat 계열) 두 가지 도구를 많이 사용합니다.
1. UFW – Ubuntu의 간단한 방화벽 도구
- 설치 및 활성화
sudo apt install ufw
sudo ufw enable
UFW는 사용하기 쉽게 설계된 CLI 기반 방화벽입니다.
- 상태 확인
sudo ufw status
- 기본 정책 설정
sudo ufw default deny incoming
sudo ufw default allow outgoing
기본적으로 외부에서 들어오는 요청은 차단하고, 내부에서 나가는 요청은 허용합니다.
- 포트 열기 / 닫기
sudo ufw allow 22 # SSH 허용
sudo ufw allow 80 # HTTP 허용
sudo ufw deny 3306 # MySQL 포트 차단
- 특정 IP만 허용
sudo ufw allow from 192.168.0.10 to any port 22
- 방화벽 비활성화
sudo ufw disable
2. firewalld – CentOS, RHEL의 기본 방화벽
- firewalld 설치 및 시작
sudo dnf install firewalld
sudo systemctl enable --now firewalld
- 상태 확인
sudo firewall-cmd --state
- 기본 영역 확인 및 사용
sudo firewall-cmd --get-active-zones
기본적으로 public
영역이 활성화되어 있습니다.
- 포트 허용
sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
- 포트 차단
sudo firewall-cmd --permanent --remove-port=3306/tcp
sudo firewall-cmd --reload
✔ 특정 IP만 허용
sudo firewall-cmd --permanent --add-rich-rule='
rule family="ipv4" source address="192.168.0.10" port protocol="tcp" port="22" accept'
3. 어떤 방화벽을 선택해야 할까?
- UFW: Ubuntu/Debian 사용자에게 추천. 사용법이 간단함
- firewalld: CentOS, RHEL, Fedora 계열에서 기본 제공
- 둘 다 결국
iptables
를 기반으로 동작하지만, 추상화 수준이 다름
방화벽은 보안의 첫걸음
서버에 연결 가능한 포트를 최소화하는 것만으로도 보안을 크게 높일 수 있습니다.
불필요한 포트를 열어두지 않도록 방화벽을 꼭 설정해보세요.
요약:
- UFW:
allow
,deny
,status
위주로 간단하게 사용 - firewalld:
--add-port
,--add-service
,--reload
등 zone 기반 관리
초기 설정만 잘 해두어도, 서버가 외부 위협으로부터 더 안전해집니다.
'개발 > 리눅스' 카테고리의 다른 글
[Linux] ssh-keygen으로 SSH 키 인증 로그인 설정 (0) | 2025.06.30 |
---|---|
[Linux] SSH 서버 설정과 보안 강화 (0) | 2025.06.29 |
[Linux] sudo 권한 부여 및 제한하기 (0) | 2025.06.27 |
[Linux] 리눅스 사용자 추가/삭제하는 방법 (0) | 2025.06.26 |
[Linux] 서버 재부팅 없이 커널 업데이트하는 방법 (Livepatch) (0) | 2025.06.25 |