반응형

안녕하세요 유똥입니다.
오늘은 리눅스 IPTABLES 방화벽 개념 및 설정에 대해서 포스팅 진행하겠습니다.

IPTABLES 설정에 앞서 IPTABLES에 대해서 간략하게 말씀드리겠습니다.

 

 IPTABLES란?

넷필터(netfilter) 프로젝트에서 개발했으며 광범위한 프로토콜 상채 추적, 패킷 애플리케이션 계층검사, 속도 제한, 필터링 정책을 명시하기 위한 강력한 매커니즘을 제공합니다.

IPTABLES 논리적인 3개의 사슬(Chains)으로 구성되어 있고, 각각 INPUT, OUTPUT, FORWARD 라고합니다.
※ 관리가자 정의하여 새로운 사슬로 생성하여 방화벽 정책을 구성할 수 있습니다.

Chain INPUT → 서버로 들어오는 정책
Chain FORWARD → Linux Server가 목적지가 아닌 패킷이 통과하는 Chain이다. (FORWARD Chain은 NAT(네트워크 공유) 기능 사용을 위해 사용된다.) 
Chain OUTPUT → 서버에서 나가는 기본 정책

 

 패킷 필터링 규칙(Packet Filtering Rule)에 대하여

들어 오는 패킷을 순서대로 정의된 규칙(Rule)들을 점검하고 처음 일치되는 규칙을 적용
하나의 필터링 규칙에 여러가지 조건으로 지정하면 모든 조건에 일치해야 규칙 적용
내장된 체인(Chain) 안을 모두 검사했지만 일치 항목이 없을 경우에는 체인의 기본 정책이 적용

 "사용자 정의 체인"의 경우 일치 항목이 없을 경우에는 제어권은 "사용자 정의 체인"이 호출되었던 체인으로 다시 돌아간다.

규칙 타겟(Rule Target) : iptables는 패킷이 규칙과 일치할 때 동작을 취하는 타겟을 지원한다.
내장 타겟
    ACCEPT : 패킷을 허용하는 옵션이다. (Allow)
    DROP : 패킷을 완전히 무시한다. (Deny)

확장 타겟
    REJECT : 패킷을 허용하지 않는다는 메세지를 보내면서 거부한다. 사슬 전체 정책 설정(-P)에서는 
    사용할 수 없 다. 패킷을 버리고 이와 동시에 적절한 응답 패킷을 전송한다.
    
LOG : 시스템 로그 커널 장치로 연결한다. 패킷을 syslog에 기록한다.
    사용자 정의 체인 : 사용자가 정의하는 체인이다.

 

 IPTABLES 기본 명령어

-N (--new-chain) : 새로운 체인을 만듬
-L  (--list) : 새로운 규칙을 출력
-X  (--delete-chain) : 비어 있는 체인 삭제
-P  (--policy) : 기본 정책을 변경
-F  (--flush) : 체인의 모든 규칙을 삭제
-A (--append) : 새로운 규칙을 추가 ( 맨 하단 추가)
-I  (--insert) : 새로운 규칙을 삽입 ( 맨 상단 추가 )
-R (--replace) : 새로운 규칙을 교체
-D (--delete) : 규칙을 삭제
-C (--check) : 패킷을 테스트

 

 IPTABLES 사용 예시 

모든 체인 삭제
iptables -F 

비어있는 사실을 제거한다
iptables -X 

120.235.128.162번 IP 차단
iptables -I INPUT -s 120.235.128.162 -j DROP

39.115.113.90번 IP 및 21번 포트 허용
iptables -A INPUT -p tcp -s 39.115.113.90 --dport 21 -j ACCEPT

1024 ~ 65535 port 허용 
iptables -A INPUT -p tcp --dport 1024:65535

 

여기까지 완료되었으면 IPTABLES 방화벽 개념 및 설정 명령어에 대하여 알아보았습니다.

다음장에는 이어서, IPTABLES 방화벽 설정 스크립트 관련하여 알아보겠습니다.

 

도움이 되셨다면 구독좋아요

궁금하신 내용이 있으시면 댓글 부탁드리겠습니다.

 

반응형

'IT > Linux' 카테고리의 다른 글

log4j2 보안 문제 대응 방안  (0) 2021.12.20
IPTABLES 설정 스크립트  (0) 2021.06.20
Nginx + PHP + MySQL 설치 스크립트  (0) 2021.06.18
아파치 + 톰캣 설치 스크립트  (0) 2021.06.18
APM 설치 스크립트  (0) 2021.06.17
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
});