[Linux] 포트 열기/닫기 및 포트 확인하는 방법

서버 운영을 하다 보면 웹 서버(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 명령어를 익혀두고
안전한 서버 운영에 활용해보시길 바랍니다.