목차
최근 외부 서비스를 통하여 방화벽 설정을 많이 하게 되는데
이유는 다음과 같다.
1. 편의성
2. 외부 접근시 보안
편의성에서는 외부에서 ssh 접근을 안하고 웹상으로 그래픽 UI로 편리하게 할수 있다는 점.
보안상 안좋을 수 있는데 iptables의 경우 무조건 root 권한으로 설정을 해야한다.
외부에서 방화벽을 설정한다고 하면 root 접근이 외부에서 가능하다는 것인데 이것이 문제가 될수 있다.
하지만 내부에서 사용하는 경우 보안적으로 더 좋으므로 사용하는경우가 있으므로 해보자!
설치
sudo apt-get update
sudo apt-get install iptables
명령어 옵션
-A: 새로운 규칙을 추가합니다.
-D: 기존의 규칙을 삭제합니다.
-R: 새로운 규칙으로 대체합니다.
-P: 기존의 규칙을 변경합니다.
-F: 모든 규칙을 삭제합니다.
추가 옵션
-p: 패킷의 포트 번호 혹은 프로토콜을 명시합니다.
-j: 패킷을 어떻게 처리할 지 명시합니다. (ACCEPT, DROP, LOG, REJECT)
-m: 확장 모듈을 활성화합니다. (ex) recent 모듈: 특정 시간 동안 특정 개수 이상의 패킷을 받았을 때를 처리할 수 있음
-s: 정책에 ip 추가
--dport: 패킷의 도착 포트 번호를 명시합니다.
--sport: 패킷의 발신 포트 번호를 명시합니다.
서비스 실행 관련
- 서비스 시작: service iptables start
- 서비스 정지: service iptables stop
- 서비스 재시작: service iptables restart
- 서비스 저장: service iptables save
IPtables 규칙 확인
iptables --list
설정 예시
특정포트 허용하기
# 현재 설정 초기화
sudo iptables -F
# 기본 정책 설정 (기본적으로 모든 트래픽 허용)
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
# 포트 80 열기
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 설정 저장
sudo service iptables save
sudo service iptables restart
특정 포트에 특정 ip 만 허용하기
# 모든 규칙 초기화
sudo iptables -F
# 기본 정책 설정 (기본적으로 모든 트래픽 차단)
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
# 특정 IP 주소에 대한 포트 80 허용
sudo iptables -A INPUT -p tcp -s 192.168.1.2 --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp -s 192.168.1.3 --dport 80 -j ACCEPT
# 설정 저장
sudo service iptables save
sudo service iptables restart
초기화
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
영구적으로 iptables 설정
리부팅하게 될 경우 설정이 날라가게 된다.
다른 패키지를 설치하여 영구적으로 설정할 수 있다.
패키지 설치:
sudo apt-get install iptables-persistent netfilter-persistent
저장
sudo service netfilter-persistent save
다시 로드
sudo service netfilter-persistent restart
Reference
https://ndb796.tistory.com/262
우분투(Ubuntu) 리눅스 서버에서 IPtables를 활용해 방화벽 설정하기
※ IPtables 소개 ※ IPtables는 UFW와 마찬가지로 우분투(Ubuntu) 서버에 포함되어 있는 기본적인 방화벽 도구(Tool)입니다. IPtables를 이용하면 매우 다양한 방화벽 설정이 가능하다는 점에서 활용도가
ndb796.tistory.com
'LINUX' 카테고리의 다른 글
[linux] top 명령어 활용법! (0) | 2024.03.05 |
---|---|
우분투 E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 에러 (0) | 2024.02.07 |
ubuntu swap 메모리 설정 및 권장 크기 (0) | 2023.12.21 |
[ubuntu] linux 자바 버전 변경 (0) | 2023.11.08 |
Centos Stream 이란? - 사실상 Centos 무료버전 종료 (1) | 2023.10.31 |
댓글