반응형
iptables는 리눅스에서 네트워크 패킷 필터링 및 방화벽 설정을 관리하는 강력한 도구입니다. 이를 통해 트래픽을 제어하거나 특정 패킷을 차단, 허용할 수 있습니다. 패킷 필터링은 보안 정책을 구현하는 데 필수적인 요소이며, iptables는 이러한 역할을 매우 효율적으로 수행합니다.
iptables는 필터 테이블을 기반으로 동작하며, 이는 INPUT(수신), FORWARD(전달), OUTPUT(송신) 등의 체인으로 구성됩니다. 이를 통해 패킷이 시스템을 통과할 때 각 체인에서 설정된 규칙에 따라 처리됩니다.
iptables 기본 사용법
iptables [옵션] [체인] [규칙]
- 옵션: 추가, 삭제, 목록 조회 등을 선택할 수 있습니다.
- 체인: INPUT, OUTPUT, FORWARD 중 하나를 선택합니다.
- 규칙: 트래픽 허용, 차단 등의 동작을 정의합니다.
기본 예제: 모든 외부 트래픽 차단
다음 명령어는 모든 외부에서 들어오는 트래픽을 차단하는 예제입니다.
user@linux:~$ sudo iptables -A INPUT -j DROP
- -A: 체인에 규칙을 추가합니다.
- INPUT: 외부에서 들어오는 패킷을 의미합니다.
- DROP: 패킷을 차단합니다.
특정 포트 허용 예제
80번 포트(HTTP)를 통해 들어오는 웹 트래픽만 허용하는 규칙을 설정할 수 있습니다.
user@linux:~$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
- -p tcp: TCP 프로토콜을 사용합니다.
- --dport 80: 80번 포트에서 들어오는 트래픽을 의미합니다.
- ACCEPT: 해당 트래픽을 허용합니다.
특정 IP 차단
특정 IP 주소로부터 오는 트래픽을 차단하려면 아래 명령어를 사용할 수 있습니다.
user@linux:~$ sudo iptables -A INPUT -s 192.168.1.100 -j DROP
- -s 192.168.1.100: 출발지 IP 주소를 지정합니다.
- DROP: 해당 IP로부터의 트래픽을 차단합니다.
규칙 삭제
기존의 규칙을 삭제하려면 -D 옵션을 사용하여 제거할 수 있습니다. 예를 들어, 방금 추가한 특정 IP 주소 차단 규칙을 삭제하려면 아래 명령어를 사용합니다.
user@linux:~$ sudo iptables -D INPUT -s 192.168.1.100 -j DROP
iptables 규칙 보기
현재 설정된 iptables 규칙을 확인하려면 다음 명령어를 사용할 수 있습니다.
user@linux:~$ sudo iptables -L
이 명령어를 실행하면 현재 설정된 규칙들이 출력됩니다.
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http
DROP all -- 192.168.1.100 anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
모든 규칙 초기화
현재 설정된 모든 iptables 규칙을 초기화하고 싶다면 아래 명령어를 사용합니다.
user@linux:~$ sudo iptables -F
- -F: 모든 규칙을 초기화합니다.
iptables 사용 예제
특정 포트 허용
80번 포트(HTTP)를 통한 트래픽을 허용하는 예제입니다.
user@linux:~$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
특정 IP 차단
192.168.1.100 IP에서 들어오는 트래픽을 차단하는 예제입니다.
user@linux:~$ sudo iptables -A INPUT -s 192.168.1.100 -j DROP
규칙 목록 확인
현재 설정된 모든 규칙을 확인하는 예제입니다.
user@linux:~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http
DROP all -- 192.168.1.100 anywhere
iptables 사용 시 유의점
- 방화벽 설정 변경 시 주의: 잘못된 설정으로 네트워크 연결이 끊길 수 있으므로 항상 주의해야 합니다.
- 규칙 테스트: 실제 적용 전에 새로운 규칙을 테스트하는 것이 중요합니다.
- 정기적인 규칙 확인: 보안상 문제를 방지하기 위해 iptables 규칙을 정기적으로 점검하는 것이 좋습니다.
참고사이트
반응형
'Linux' 카테고리의 다른 글
[리눅스] tune2fs 명령어 완벽 가이드 사용법(파일 시스템 튜닝) (0) | 2024.10.20 |
---|---|
[리눅스] uptime 명령어 완벽 가이드 사용법(시스템 부하 확인) (0) | 2024.10.20 |
[리눅스] sar 명령어 완벽 가이드 사용법(시스템 성능 기록 및 분석) (0) | 2024.10.20 |
[리눅스] vmstat 명령어 완벽 가이드 사용법(시스템 성능 통계 확인) (0) | 2024.10.19 |
[리눅스] netcat 명령어 완벽 가이드 사용법(네트워크 디버깅) (0) | 2024.10.19 |
[리눅스] strace 명령어 완벽 가이드 사용법(프로세스 추적) (0) | 2024.10.19 |
[리눅스] nohup 명령어 완벽 가이드 사용법(백그라운드 실행) (1) | 2024.10.19 |
[리눅스] nice, renice 명령어 완벽 가이드 사용법(프로세스 우선순위 변경) (0) | 2024.10.18 |