리눅스 서버 포트 차단·허용 및 외부 접근 제어 방법 – 보안 강화를 위한 실전 가이드
서버를 안전하게 운영하기 위해서는 포트 관리와 외부 접근 제어가 필수입니다. 서버는 여러 포트를 통해 외부와 통신하는데, 이 포트들이 모두 열려 있다면 해커가 침투할 수 있는 경로가 그만큼 많아지는 것입니다. 본 글에서는 Ubuntu 리눅스(UFW 기준)에서 포트를 차단하거나 허용하고, 외부 IP의 접근을 제어하는 방법을 단계별로 소개합니다.
1. 포트란 무엇인가?
포트는 네트워크 통신을 구분하는 논리적인 창구입니다. 예를 들어, 80번 포트는 HTTP, 443번 포트는 HTTPS, 22번 포트는 SSH와 같은 서비스가 해당 포트를 통해 통신합니다.
2. UFW 방화벽 활성화
Ubuntu에서는 기본 방화벽 도구인 UFW (Uncomplicated Firewall)를 사용해 포트를 제어할 수 있습니다.
sudo apt update
sudo apt install ufw -y
sudo ufw enable
SSH 포트부터 먼저 허용하세요:
sudo ufw allow 22/tcp
3. 포트 허용 설정
서비스 운영을 위해 필요한 포트만 허용하는 것이 보안의 기본입니다.
- HTTP (80):
sudo ufw allow 80
- HTTPS (443):
sudo ufw allow 443
- SSH (22):
sudo ufw allow 22
- MySQL (3306):
sudo ufw allow 3306
4. 포트 차단 설정
사용하지 않는 포트는 반드시 차단해야 합니다.
sudo ufw deny 8080 # 8080 포트 차단
sudo ufw delete allow 3306 # 기존 허용 삭제
5. 외부 접근 제어 (IP 기반 허용)
① 특정 IP만 허용
sudo ufw allow from 203.0.113.10
위 명령은 해당 IP 주소만 모든 포트 접근을 허용합니다.
② 특정 포트에 대해 특정 IP만 허용
sudo ufw allow from 203.0.113.10 to any port 22
→ 해당 IP만 SSH 접속 가능
③ 특정 IP 차단
sudo ufw deny from 198.51.100.5
6. 포트 범위 허용/차단
범위 허용 (예: 포트 3000~4000)
sudo ufw allow 3000:4000/tcp
범위 차단
sudo ufw deny 1000:2000/udp
7. 방화벽 상태 확인 및 적용
sudo ufw status numbered # 규칙 번호로 보기
sudo ufw status verbose # 자세한 상태 보기
sudo ufw reload # 설정 재적용
8. 기본 정책 변경 (고급 설정)
sudo ufw default deny incoming
sudo ufw default allow outgoing
→ 들어오는 요청은 모두 차단, 나가는 요청은 허용 (화이트리스트 방식)
맺음말
서버는 항상 외부의 공격에 노출될 수 있으므로 불필요한 포트는 닫고, 접근 가능한 IP를 제한</strong하는 방식으로 운영해야 합니다. UFW는 단순하지만 매우 효과적인 도구이며, 위 설정을 통해 기본적인 리눅스 서버 보안 체계를 완성할 수 있습니다.
지금 당신의 서버, 어떤 포트가 열려 있나요? 보안을 점검하고 설정을 강화해보세요.
'전문가코너' 카테고리의 다른 글
양자역학이 바꾸는 사이버 보안의 미래 – 양자컴퓨터와 암호 기술의 충돌 (0) | 2025.05.15 |
---|---|
현행 IP 주소 체계의 문제점과 개선 방향 – IPv4, IPv6의 이해와 미래 전망 (0) | 2025.05.14 |
Ubuntu 서버에서 UFW 방화벽 설정하는 방법 – 필수 보안 가이드 (2025년) (0) | 2025.05.13 |
Ubuntu 서버에 Nginx 설치 및 보안 설정 가이드 – 2025년 최신 기준 (0) | 2025.05.12 |
Azure 가상 머신(VM) 설정 가이드 – 클라우드 서버 구축 첫걸음 (2025년 최신) (0) | 2025.05.11 |