- 2024.06.13.보안 day482024년 06월 13일 11시 24분 19초에 업로드 된 글입니다.작성자: 202401to07
어제한것 firewall 비활성화하고 iptable활성화한것 / 인터넷도 안디ㅗ괴
터널포워당= 랜라우팅
192.168.10.10)
[ 커널포워딩 설정 ]
service iptables stop
sysctl -a |grep ip_forward
vi /etc/sysctl.confnet.ipv4.ip_forward = 1
sysctl -p (바뀐것 확인)
iptable은 포워드를 검사할수있다
[ 기본정책 ]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]*ACCEPT : 허가
*REJECT : 반송
*DROP : 폐기
LOG : 로그기록
RETURN : 룰 연계[ iptables 룰 ]
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT내부로 접근하는 tcp 중
새로운 연결을 요청하는 (3way)
도착포트 22/tcp 를 허가
[룰 정책] first
-A (--append) : 규칙 추가 ****
-P (--policy) : 기본정책을 변경한다.(초기설정)*****
-F (--flush) : chain으로부터 규칙을 모두 삭제한다 (초기화). ******
-D (--delete) : 규칙을 삭제한다.
-C (--check) : 패킷을 테스트한다.
-R (--replace) : 새로운 규칙으로 교체한다.
-I (--insert) : 새로운 규칙을 삽입한다.
-L (--list) : 규칙을 출력한다.
-Z (--zero) : 모든 chain의 패킷과 바이트 카운터 값을 0으로 만든다.
-N (--new) : 새로운 chain을 만든다.
-X (--delete-chain) : chain을 삭제한다.*패킷을 볼때 가장 주요한것 : 출발지 목적지 프로토콜*
[ 장치및 상태옵션 ]
-s (--source ) : 출발지 IP주소/네트워크***
-d (--destination) : 목적지 IP주소/네트워크***
-p (--protocol) : 프로토콜 ***
-i (--in-interface) : 입력장치 (내부장치)
-o (--out-interface) : 출력장치 (외부장치)
-m (--match) 특정 모듈 ****
--state : 연결상태
ESTABLISHED : 연결이 되어있는 패킷 ****
NEW : 새로운 연결을 요청하는 패킷
RELATED : 기존연결이외 다른 새로운 연결요청
(ex: FTP데이타 전송포트(20/tcp)를 다른 포트로 사용하고자할때 )
INVALID : 어디에도 속하지 않은 패킷
-m tcp --dport : 도착포트
--sport : 출발포트
-j (--jump) 규칙 적용 *****ACCEPT : 허가
*REJECT : 반송
*DROP : 폐기
LOG : 로그기록
RETURN : 룰 연계--reject-with icmp-host-prohibited
[거부하고 ICMP를 금지시킨다]
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibitedIPTABLES 적용순서
*******먼저 적용된것이 무조건 우선된다 ******일단 백업하고 실습하기
[백업]
iptables-save [ 설정된 내용이 출력 ]
mkdir /backup
iptables-save > /backup/ip.bak[ 포워드 지우는법 ]
iptables -L --line (확인)
iptables -D FORWARD 1 (지우기)
iptables -L --line (확인0
ptables-save (저장)
service iptables restart (데몬실행)
iptables -L --line (안지워짐!!!!!! )
지우는 법은 영구저장 해야됨
77 iptables -D FORWARD 1 (삭제)
78 service iptables save (영구저장)
79 service iptables restart (데몬실행)
80 iptables -L --line (확인)iptables -F (다 삭제 ) -> 다 삭제해도 포워딩이 되고 있다
왜 ? default가 허용되고 있어서!
[ 연결유지 ]
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
service iptables save
service iptables restart
92 iptables -P FORWARD DROP
93 service iptables save
94 service iptables restart[ ssh 접속을 위한 옵션 ]
iptables -A INPUT -p tcp --dport 22 -j ACCEPT (spot지정안하면 기본값은 all)
service iptables save
service iptables restart-m state --state NEW
: 새로운 연결만 허용하고 이미 존재하는 연결에 대해서는 별도의 규칙을 적용하지 않는 경우 사용된다
: 새로운 연결을 검사하기때문에 보안적으로 좋다
:
100 iptables -D INPUT 2
103 iptables -A INPUT -m tcp -p tcp -m state --state NEW --dport 22 -j ACCEPT
104 service iptables save
105 service iptables restart
106 iptables -L --line
실습문제 1) 10.10.10.10 에서 20.20.20.20 으로
혹은 20.20.20.20에서 10.10.10.10으로
ICMP가 갈수 있도록 정책 설정iptables -A INPUT -p icmp -j ACCEPT
iptables -A FORWARD -p icmp -s 10.10.10.10 -d 20.20.20.20 -j ACCEPT
iptables -A FORWARD -p icmp -s 20.20.20.20 -d 10.10.10.10 -j ACCEPTiptables -I FORWARD 1 -p icmp -j DROP 얘를 1에 넣으면 우선순위 바껴서 DROP이 먼저 적용됨
iptables -A INPUT -i lo -j ACCEPT
# iptables -A FORWARD -m icmp --icmp-type 8 -p icmp -s 10.10.10.10 -j ACCEPT == request만 허용
=====================================
1) 도착지 X 출발지 패킷만 허용
iptables -A FORWARD -s 10.10.10.10 -p icmp -j ACCEPT
iptables -A FORWARD -s 20.20.20.20 -p icmp -j ACCEPT
icmp 는 request:8
reply:0
--icmp-type 8
--icmp-type 0
칼리에서 서버 ping X
서버에서 칼리로 ping O
2)
iptables -A FORWARD -s 10.10.10.10 -p icmp -m icmp --icmp-type 8 -j ACCEPT
iptables -A FORWARD -s 20.20.20.20 -p icmp -j ACCEPT
(iptables -A FORWARD -s 20.20.20.20 -p icmp --icmp-type 0 -j ACCEPT)
service iptables save
service iptables restart
3) 네트워크 대역 허용
iptables -A FORWARD -s 10.10.10.0/24 -p icmp -j ACCEPT
iptables -A FORWARD -s 20.20.20.0/24 -p icmp -j ACCEPT4) 인터페이스 허용 (모든 포트 개방)
iptables -A FORWARD -i ens32 -j ACCEPT
iptables -A FORWARD -i ens34 -j ACCEPT==> 20) 됨 10) 됨
iptables -D FORWARD 2
iptables -D FORWARD 1
iptables -A FORWARD -o ens36 -j ACCEPT
iptables -A FORWARD -o ens37 -j ACCEPTiptables -D FORWARD 2
iptables -D FORWARD 1
iptables -A FORWARD -i ens32 -j ACCEPT
iptables -A FORWARD -o ens32 -j ACCEPT
다음조건을 만족하는 IPTABLE를 설정하세요 기본정책 INPUT= DROP OUTPUT,FORWARD= ACCEPT 내부로 icmp 허용 ssh 접속 가능 칼리와 서버는 IPTABLE로 PING 금지 (기본값) IPTABLES 는 칼리 서버 PING 가능 (기본값) 서버는 칼리로 PING 가능 칼리는 서버로 PING 불가
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A -p icmp -i lo -j ACCEPT
iptables
실습문제
iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE
[root@fw backup]# iptables -t nat -A PREROUTING -d 192.168.10.200 -p tcp --dport 18121 -j DNAT --to 10.10.10.10:22
[root@fw backup]# iptables -A FORWARD -p udp --dport 53 -i ens32 -j ACCEPT
[root@fw backup]# iptables -A FORWARD -p udp --sport 53 -o ens32 -j ACCEPT
[root@fw backup]# iptables -A FORWARD -p tcp --dport 80 -i ens32 -j ACCEPT
[root@fw backup]# iptables -A FORWARD -p tcp --sport 80 -o ens32 -j ACCEPT
[root@fw backup]# iptables -A FORWARD -p tcp --dport 443 -i ens32 -j ACCEPT
[root@fw backup]# iptables -A FORWARD -p tcp --sport 443 -o ens32 -j ACCEPTiptables -t nat -A PREROUTING -d 192.168.10.100 -p tcp --dport 80 -j DNAT --to 10.10.10.10:80
iptables -t nat -A PREROUTING -d 192.168.10.200 -p tcp --dport 80 -j DNAT --to 20.20.20.20:80'보안' 카테고리의 다른 글
2024.06.14.보안 day49 (0) 2024.06.14 커널 포워딩 , IPTABLES , FOWARD (0) 2024.06.14 2024.06.12.보안 day47 (0) 2024.06.12 2024.06.11.보안 day46 (0) 2024.06.11 HTTPS HTTP (1) 2024.06.10 다음글이 없습니다.이전글이 없습니다.댓글