iptables 7

[Linux] iptables 상태 추적 모듈 분석하기

http://hping.org/ 방화벽 테스팅 도구 1. hping 다운로드 yum -y install wget unzip gcc wget https://github.com/antirez/hping/archive/refs/heads/master.zip unzip master.zip cd hping-master yum -y install bind-utils iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT iptables..

Linux/iptables 2021.11.13

[Linux] iptables 상태 추적 모듈 사용 & 방화벽 룰 실습

Client -------> HTTP(80) 실습> 내부망의 서버를 상태 추적을 위한 룰 설정하기 [root@firewall ~]# iptables -A FORWARD -p tcp -m multiport --port 80 -m state --state NEW -j ACCEPT [root@firewall ~]# iptables -A FORWARD -j DROP [root@firewall ~]# iptables -I FORWARD 2 -p tcp -m multiport --port 80 -m state --state ESTABLISHED -j ACCEPT [root@firewall ~]# iptables -nL Chain INPUT (policy ACCEPT) target prot opt source des..

Linux/iptables 2021.11.13

[Linux] iptables multiport 모듈 사용하기

실습> multiport 모듈 1. 웹서버 실행 # systemctl start httpd # echo Hello 192.168.108.3 server > /var/www/html/index.html 2. multiport 모듈을 사용하지 않은 경우 iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 23 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -j DROP # iptables -nL Chain INPUT (policy ACCEPT) targ..

Linux/iptables 2021.11.13

[Linux] iptables 로그 기록

실습> -j target 사용하기 -j ACCEPT : 패킷 허용 -j DROP : 패킷 거부 -j REJECT : 패킷 거부 -j LOG : 로그 기록 -j 사용자 정의 체인 : 사용자 정의 체인으로 이동 -j LOG --log-prefix '로그기록문자열' --log-level 4 INPUT -A INPUT -s 192.168.108.1 -p tcp --dport 80 -j LOG 1. 방화벽 룰 추가 iptables 룰을 추가한다. [root@www ~]# iptables -F [root@www ~]# iptables -A INPUT -s 192.168.108.1 -p tcp --dport 80 -j LOG --log-prefix 'Host OS : ' [root@www ~]# iptables -n..

Linux/iptables 2021.11.13

[Linux] iptables 방화벽을 이용한 IP 주소 차단하기

실습> 방화벽을 이용한 IP주소 차단하기 /etc/services : 서비스 포트 번호의 목록 저장된 파일 http 80/tcp www www-http # WorldWideWeb HTTP https 443/tcp # http protocol over TLS/SSL HTTP : 80(TCP) HTTPS : 443(TCP) Client Server +-----------+ +-----------+ | OUTPUT ------> INPUT | | 8000 | | 80 | | | | | | INPUT X 192.168.108.3 ---> O 1. 웹 서버 설치 httpd : 웹 서버 패키지 (아파치) [root@www ~]# iptables -F [root@www ~]# yum -y install httpd 2..

Linux/iptables 2021.11.13

[Linux] iptables 사용자 정의 체인 설정하기

실습> 사용자 정의 체인 생성하기 Built-In 체인 : 사용자가 삭제할 수 없는 체인 사용자 정의 체인 : 사용자가 직접 생성하는 체인 (생성/삭제 가능) 테이블 : filter INPUT : 패킷이 자신에게 들어오면 통과하는 문 FORWARD : 패킷이 자신에게 들어오면 다른쪽으로 포워딩해주는 문 OUTPUT : 자신에게 들어온 패킷이 나가는 문 WEB : 웹서버에 관련된 룰이 설정된 체인 DOS : DOS 공격에 관련된 룰이 설정된 체인 DB : DBMS에 관련된 룰이 설정된 체인 형식 : -N (new) : 사용자 정의 체인 생성하기 iptables -N 체인명 기본 체인 : (policy ACCEPT) 부분이 있다. 사용자 정의 체인 : (0 references) 부분만 있고 policy 부분..

Linux/iptables 2021.11.13

[Linux] iptables 방화벽 정책 구성

iptables 구조는 table -> chain -> rule의 구조로 이루어져 있다. table : 방화벽에서 특정 기능을 제공하는 것으로 filter, nat, mangle, raw, security 등이 있다. chain : 패킷이 이동하는 경로를 나타내는 것으로 각 테이블마다 체인이 존재한다. rule : 각 chain에 설정하는 방화벽 정책으로 사용자가 지정해서 설정한다. 호스트명 변경 : nmtui명령어를 실행해서 호스트명을 설정한다. putty로 재접속하면 변경된 호스트명을 볼 수 있다. # echo $PS1 [\u@\h \W]\$ 호스트명을 변경하면 /etc/hosts 파일에 등록해야 한다. [root@firewall ~]# vi /etc/hosts 127.0.0.1 localhost l..

Linux/iptables 2021.11.13