Jost Do It.

그냥 IT해.

서버 및 환경/OS

[Ubuntu] 방화벽 설정 및 외부 포트 허용 설정

그냥하Jo. 2024. 1. 28. 20:20
반응형

[방화벽 설정/해제]

우분투에서 기본적으로 방화벽은 ufw 명령어를 통해 설정할 수 있다.

디폴트로 우분투 방화벽은 해제 상태이기 때문에 아래 명령어로 설정해줄 수 있다.

 

sudo ufw enable

 

 

설정한 방화벽은 다음 병령어로 해제할 수 있다.

sudo ufw disable

 

 

[방화벽 상태 확인]

아래 명령어를 통해 방화벽 상태를 확인할 수 있다.

sudo ufw status verbose

 

  • 간략한 상태만 보려면 verbose를 입력하지 않아도 된다.

 

방화벽 상태는 다음과 같다.

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To                         Action      From
  • 방화벽을 활성화했기 때문에 상태에서 active로 나타난다.
  • 기본적으로 들어오는 패킷(incoming)은 모두 거부(deny)돼 있으며, 나가는 패킷은 모두 허용돼 있는걸 확인할 수 있다.

 

[방화벽 포트 허용]

포트는 다음 명령어로 허용할 수 있다.

sudo ufw allow 2898

 

  • 여기서는 2898번 포트번호를 허용하였다.
  • 포트번호 뒤에 프로토콜을 입력하지 않으면 모두 허용한다.

 

특정 프로토콜을 허용하려면 다음과 같이 명령한다.

sudo ufw allow 2898/tcp # tcp 프로토콜 허용
sudo ufw allow 2898/udp # udp 프로토콜 허용

 

 

[방화벽 포트 차단]

다음 명령어를 통해 특정 포트로 패킷이 들어오는걸 차단할 수 있다.

sudo ufw deny 9999
  • 여기선 9999포트의 tcp 포트로 들어오는걸 차단하였다.

 

 

[방화벽 상태 확인]

포트를 허용한 후 상태 명령어 sudo ufw status verbose 를 입력하면 다음 결과가 나온다.

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
2898                       ALLOW IN    Anywhere                      
9999/tcp                   DENY IN     Anywhere                  
2898 (v6)                  ALLOW IN    Anywhere (v6)
9999/tcp (v6)              DENY IN     Anywhere (v6)

 

 

[방화벽 규칙 삭제]

sudo ufw delete deny 9999/tcp

 

 

[특정 ip의 포트 접속 허용/차단]

# 접속 허용/차단
sudo ufw allow from 192.168.1.1 # 192.168.1.1 호스트의 접속 허용
sudo ufw deny from 192.168.1.1 # 192.168.1.1 호스트의 접속 차단

# 특정 포트 접속 허용/차단
sudo ufw allow from 192.168.1.1 to any port 22 # 192.168.1.1 ip의 22포트 접속 허용
sudo ufw deny from 192.168.1.1 to any port 22 # 192.168.1.1 ip의 22포트 접속 차단 


# 특정 포트, 프로토콜 접속 허용/차단
sudo ufw allow from 192.168.1.1 to any port 22 proto tcp # 192.168.1.1 ip의 22포트 tcp 접속 허용
sudo ufw deny from 192.168.1.1 to any port 22 proto tcp # 192.168.1.1 ip의 22포트 tcp 접속 차단 


# 규칙 삭제
sudo ufw delete deny from 192.168.1.1 to any port 22 # 192.168.1.1 ip의 22포트 접속 차단 규칙 삭제
  • 명령어의 각 argument(from, to, proto)의 순서는 바껴도 상관없다.

 

[서비스명으로 접속 허용/차단]

/etc/services 경로에서 서비스명을 확인할 수 있다.

[...]
ftp		21/tcp
fsp		21/udp		fspd
ssh		22/tcp				# SSH Remote Login Protocol
telnet		23/tcp
smtp		25/tcp		mail
time		37/tcp		timserver
[...]

 

 

여기서 ftp로의 입력을 아래와 같이 차단할 수 있다.

sudo ufw deny ssh

 

Reference

 

반응형