서버 운영을 하다 보면 웹 서버(80, 443), DB 서버(3306)처럼
특정 서비스에 필요한 포트를 열어야 할 때가 많습니다.
반대로, 사용하지 않는 포트는 닫아서 보안을 강화할 수도 있어야 하죠.
리눅스 환경에서 포트를 열고/닫는 방법과 현재 어떤 포트가 열려 있는지 확인하는 방법을 정리했습니다.
1. 방화벽으로 포트 열기/닫기
✔ UFW (Ubuntu/Debian 계열)
포트 열기
sudo ufw allow 8080/tcp
포트 닫기
sudo ufw deny 8080/tcp
UFW 방화벽 상태 확인
sudo ufw status
✔ firewalld (CentOS/RHEL 계열)
포트 열기
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
포트 닫기
sudo firewall-cmd --permanent --remove-port=8080/tcp
sudo firewall-cmd --reload
firewalld 상태 확인
sudo firewall-cmd --list-all
2. 현재 열려 있는 포트 확인하기
✔ netstat
TCP, UDP 포트의 LISTEN 상태를 확인합니다.
sudo netstat -tuln
- -t : TCP 포트 표시
- -u : UDP 포트 표시
- -l : LISTEN 중인 포트만 표시
- -n : 호스트명 대신 IP와 포트번호로 표시
✔ ss (netstat 대체)
sudo ss -tuln
✔ lsof로 특정 포트 확인
예: 8080 포트가 어떤 프로세스가 점유 중인지 확인
sudo lsof -i :8080
3. 포트 사용 프로세스 종료
특정 포트에 프로세스가 걸려 있어 서비스가 충돌한다면, PID를 확인해 종료할 수 있습니다.
sudo fuser -k 8080/tcp
서비스 운영 중이라면 프로세스 종료 전 반드시 영향도를 확인하세요
포트 관리는 서버 보안과 안정성의 핵심
포트는 서버 서비스와 외부를 이어주는 문과도 같습니다.
필요한 포트는 열고, 필요하지 않은 포트는 닫아두는 습관만으로도
서버 보안을 크게 향상시킬 수 있습니다.
ufw
, firewalld
, netstat
, ss
명령어를 익혀두고
안전한 서버 운영에 활용해보시길 바랍니다.
'개발 > 리눅스' 카테고리의 다른 글
[Linux] Nginx 설치 및 기본 설정 방법 (0) | 2025.07.11 |
---|---|
[Linux] iptables 기초 설정법 (0) | 2025.07.10 |
[Linux] 리눅스 서버에 고정 IP 설정하는 방법 (1) | 2025.07.08 |
[Linux] curl, wget 사용법 정리 (0) | 2025.07.07 |
[Linux] ping, traceroute, netstat 네트워크 상태 확인 (0) | 2025.07.06 |