iptables

iptables는 커널 기반의 방화벽 시스템으로서, 패킷을 분석하고 해당 패킷에 대해 정책을 적용한다. 이를 통해 네트워크 상에서 데이터 흐름을 제어하고 보안을 강화할 수 있다. iptables는 네트워크 인터페이스에 들어오고 나가는 패킷에 대해 다양한 규칙을 설정하여 패킷의 동작을 결정한다.

일반적으로 iptables는 명령행 인터페이스를 통해 사용되며, 관리자가 직접 규칙을 추가, 수정, 삭제하여 네트워크 트래픽을 제어한다. iptables 규칙은 패킷의 소스 IP 주소, 목적지 IP 주소, 포트 번호 등에 따라 작동한다. 이러한 규칙을 조합하여 특정 트래픽을 허용하거나 차단할 수 있다.

 

 

주요 기능
  • 패킷 필터링 : 특정 IP 주소, 포트, 프로토콜 등에 따라 패킷을 거부 또는 허용하는 데 사용한다.
  • 포트 포워딩 : 특정 포트로 들어오는 패킷을 다른 포트 또는 다른 IP 주소로 전달하는 데 사용한다.
  • 패킷 로깅 : iptables는 로깅을 통해 패킷을 기록하고 추적할 수 있다

 

 

명령어
iptables   [-t table]   [action]   [chain]   [match]   [-j target]
target filter 기본 테이블로 방화벽 관련 작업을 수행한다
nat 새로운 연결을 생성하는 패킷때 참조한다. (포트포워딩)
mangle TT
raw 연결추적기능을 자세히 설정, 제외하기 위해 사용
action -N 새로운 사용자 정의 chain생성
-X 비어있는 chain 제거
-P chain 기본 정책 설정
-L 현재 chain 규칙 나열
-F chain으로부터 규칙 제거
-A chain에 새로운 규칙 추가
-I -R -D -Z (맨 첫줄 삽입), (규칙교환), (규칙제거), (카운트 초기화)
chain INPUT 호스트 컴퓨터로 향하는 모든 패킷(inbound)
FORWARD 라우팅되는 로컬 전달이 아닌 모든 패킷 (all packet)
OUTPUT 호스트 컴퓨터에서 상대측에 보내는 패킷(outbound)
PREROUTING 라우팅 전
POSTROUTING 라우팅 후
match -s -d 출발지/목적지 ip주소나 네트워크와 매칭한다.
-p 특정 프로토콜과 매칭한다. <tcp|udp|icmp> --sport, --dport
-i -o -i(입력인터페이스) o(출력인터페이스)
! not 의미로 사용, 특정 매칭 제외 시 사용한다
-j target ACCEPT 패킷 허가
DROP 거부
LOG syslog 전달 (var/log/message에 저장)
JECT 패킷 버리고 적절한 응답 패킷 전달
 

 

사용

방화벽 테이블

 

 

체인에 새로운 규칙 추가 및 제거

 

 

좀 더 상세히 출력

 

 

규칙 추가 및 확인

 

 

규칙 제거

 

 

확인

 

 

확인

 

 

특정 IP 주소 통제

 

 

로그파일

 

 

로그 추적

 

 

로그 기록 규칙 추가

 

 

icmp 활용

 

 

활용된 icmp 로그로 기록

 

 

체인에 사용자 정의

 

 

새로운 체인에 규칙 로그 규칙 추가

 

 

새로운 체인을 output에 적용

 

 

packet drop 확인

 

 

로그 확인

 

 

apache2 실행

 

 

apache 접속 제한되도록 규칙 추가

 

 

재연결 시 규칙 적용 확인

 

 

새로운 체인 정의

 

 

로그 확인

 

 

웹 접속 안되는 것 확인

 

 

ssh 설치 후 데몬 실행

 

 

windows에서 ssh 접속

 

 

fail2ban 설치

 

 

버전 확인 및 데몬 재실행

 

 

fail2ban  설정 파일

 

 

fail2ban 로그 파일

 

 

허용 횟수 초과하여 로그인 실패

 

 

규칙 자동 생성됨 확인

 

 

ssh 접속 안됨

 

'리눅스 > Debian' 카테고리의 다른 글

bandit 풀이  (0) 2023.08.09
확인 관련 명령어 정리  (0) 2023.08.09
ownCloud  (0) 2023.08.07
LAMP  (0) 2023.08.07
DHCP  (0) 2023.08.07

+ Recent posts