728x90
반응형
1. 들어가며
우분투(Ubuntu)의 기본적인 방화벽은 UFW입니다. 이는 iptables를 좀 더 쉽게 설정할 수 있도록 한 것인데 간단한 방화벽 구성에는 문제가 없지만 수준 높은 방화벽 구성에는 iptables룰을 직접 사용해야 합니다.
2. 우분투(Ubuntu) 방화벽(UFW) 패키지 설치
- UFW 패키지 설치
## 패키지가 없을 경우 설치
apt-get install ufw
3. 우분투(Ubuntu) 방화벽(UFW) 활성화/비활성화
- 활성화
## UFW 활성화
ufw enable
- 비활성
## UFW 활성화
ufw disable
4. 우분투(Ubuntu) 방화벽(UFW) 기본 룰
📌 UFW에 설정되어 있는 기본 룰은 아래와 같다.
- 들어오는 패킷에 대해서는 전부 거부(deny)
- 나가는 패킷에 대해서는 전부 허가(allow)
- 기본 룰 확인
ufw show raw
- 기본 정책 차단
ufw default deny
- 기본 정책 허용
ufw default allow
5. 우분투(Ubuntu) 방화벽(UFW) 허용/차단
5.1 UFW 허용
- 사용 방법
ufw allow <port>/<optional: protocal>
- SSH 포트 22번 허용(tcp/udp 22번 포트를 모두 허용)
ufw allow 22
- tcp 22번 포트만을 허용
ufw allow 22/tcp
- udp 22번 포트만을 허용
ufw allow 22/udp
5.2 UFW 거부
- 사용 방법
ufw deny <port>/<optional: protocol>
- ssh 포트 22번 거부(tcp/udp 22번 포트를 모두 거부)
ufw deny 22
- tcp 22번 포트만을 거부
ufw deny 22/tcp
- udp 22번 포트만을 거부
ufw deny 22/udp
6. 우분투(Ubuntu) 방화벽(UFW) 룰의 삭제
- ufw deny 22/tcp 설정이 되어있다고 가정
ufw delete deny 22/tcp
7. 우분투(Ubuntu) 방화벽(UFW) service 명을 이용한 설정
- 서비스명 보기
less /etc/services
- 서비스명으로 허용
allow <service name>
- 예시 (SSH 서비스)
ufw allow ssh
ufw deny ssh
8. 우분투(Ubuntu) 방화벽(UFW) 로그 기록
- UFW 로그 기록
ufw logging on
ufw logging off
9. 우분투(Ubuntu) 방화벽(UFW) Advanced Syntax
📌문법을 확장하여 목적지 주소와 포트, 프로토콜 등을 지정할 수 있다.
9.1 특정한 IP 주소 허가/거부
- 특정한 IP 주소 허용 사용 방법
ufw allow from <ip address>
- 192.168.0.100 주소 허용(IP 주소192.168.0.100 에서만 접속이 가능해진다.)
ufw allow from 192.168.0.100
- 네트워크 단위로 지정하여 같은 네트워크 상에 있는 컴퓨터들은 접속가능해진다.
ufw allow from 192.168.0.0/24
- 특정한 IP 주소와 일치하는 포트 허용
ufw allow from <ip address> to <protocol> port <port number>
- 192.168.0.100 주소와 tcp 프로토콜 22번 포트 허용
ufw allow from 192.168.0.100 to any port 22 proto tcp
위의 예제에서 allow 대신 deny를 입력하면 거부가 된다.
10. 우분투(Ubuntu) 방화벽(UFW) ping (icmp) 허용/거부
- UFW 기본설정은 ping 요청을 허용하도록 되어있다.
vi /etc/ufw/before.rules
# ok icmp codes
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
위 코드들의 ACCEPT 부분을 모두 DROP으로 변경하거나 삭제하면 ping 요청을 거부하게 된다.
11. 우분투(Ubuntu) 방화벽(UFW) ping (icmp) numbered rules
📌UFW 룰들에 숫자를 붙여서 볼 수 있다. 이를 이용해 룰에 수정이나 삭제, 추가를 할 수 있다.
- ufw number 보기
ufw status numbered
- ufw numbered 수정
ufw delete 1
ufw insert 1 allow from 192.168.0.100
12. 우분투(Ubuntu) 방화벽(UFW) 추천 방화벽 정책
- 추천 방화벽
ufw enable
ufw allow from 192.168.0.3 to any port 22 proto tcp
ufw allow 123/udp
ufw allow 80/tcp
ufw allow 3306/tcp
ufw status
728x90
반응형
'운영체제 > Linux' 카테고리의 다른 글
Rocky Linux 9 설치 (0) | 2024.09.16 |
---|---|
우분투(Ubuntu) 22.04 LTS Server 설치 (0) | 2024.09.12 |
우분투 서버 IP 변경하기 (0) | 2024.09.06 |