kjh00n의 기록저장소
네트워크 방화벽 구축 본문
◆ 방화벽 Linux켜서 세팅해주기
ens160 = VMnet8
ens224 = VMnet1 → 어디에 연결되어있는지 비교 확인할 것 (mac주소로 비교)
GW(다른 네트워크와 통신하기 위한 경로)
VMnet1 (10.10.10.254/24, GW는 X, 자기자신이 GW이기 때문에) VMnet2 (20.20.20.254/24, GW는 X) VMnet8 (192.168.50.100/24, GW는 X)
◆ ifcfg-ens160을 복사해서 224,256 만들고 세팅해주기
외부통신 가능 ping 8.8.8.8
◆ Client Linux 켜서 10.10.10.1 10.10.10.254 세팅
◆ Server Linux 켜서 20.20.20.1 20.20.20.254 세팅
◆ 방화벽 Linux forwarding 활성화시켜주기
명령어↓
sysctl net.ipv4.ip_forward=1 (임시설정이라 재부팅하면 다시 비활성화 된다.) (중간중간 확인해줄 것)이러면 Client에서 Server로 ping 통신 가능
● sysctl -a = 내가 설정할 수 있는 커널들 보기
◆ nat 설정하기
방화벽에 nat설정하기nat설정할 때는 거의 protocol설정을 하지 않는다.특정 protocol만 nat되기 때문이다.● iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o ens160 -j MASQUERADE[-o] : 외부 인터페이스
◆ ens160에 50.100이 공인으로 설정되어있는데 하나 더 설정 (방화벽에서)
● ifconfig ens160:1 192.168.50.101 netmask 255.255.255.0
◆ 방화벽에 설정하기
● iptables -t nat -A PREROUTING -d 192.168.50.101 -j DNAT --to 20.20.20.1
→ 50.101로 들어오는 것은 20.1로 바꾸겠다.
◆ Server
ftp,ssh,telnet 켜기
◆ Client
telnet과 ftp 다운로드
telnet 20.20.20.1 접속 O
ssh 20.20.20.1 -p 12121 접속 O
ftp 20.20.20.1 접속 O
◆ 방화벽 정책 설정
vim iptables.sh (파일 만들기)#!/bin/bash (bash에서 사용할 파일이다라는 설정) => "셔뱅라인"
sh iptables.sh <- 파일 실행하기 (순차대로 실행된다)
◆ 방화벽의 filter와 nat 초기화하기
iptables -F
iptables -t nat -F
실습
◆ 방화벽 기본 정책 ALL DROP
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP
◆ client가 Server의 서비스 받을 수 있도록 정책 설정(telnet,ssh,ftp)
● client ↔ server
iptables -t filter -A FORWARD -p tcp --dport 23 -s 10.10.10.1 -d 20.20.20.1 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 23 -s 20.20.20.1 -d 10.10.10.1 -j ACCEPT
● client ↔ ssh
iptables -t filter -A FORWARD -p tcp --dport 12121 -s 10.10.10.1 -d 20.20.20.1 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 12121 -s 20.20.20.1 -d 10.10.10.1 -j ACCEPT
● client ↔ ftp control
iptables -t filter -A FORWARD -p tcp --dport 21 -s 10.10.10.1 -d 20.20.20.1 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 21 -s 20.20.20.1 -d 10.10.10.1 -j ACCEPT
● client ↔ ftp data
iptables -t filter -A FORWARD -p tcp --dport 50000:50005 -s 10.10.10.1 -d 20.20.20.1 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 50000:50005 -s 20.20.20.1 -d 10.10.10.1 -j ACCEPT
◆ client가 8.8.8.8과 외부 ping 통신 가능하도록 설정
● client ↔ ping
iptables -A FORWARD -p icmp -s 10.10.10.1 -d 8.8.8.8 -j ACCEPT
iptables -A FORWARD -p icmp -s 8.8.8.8 -d 10.10.10.1 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o ens160 -j MASQUERADE
◆ win10이 Server의 서비스 받을 수 있도록 정책 설정(telnet,ssh)
● win10 ↔ server
iptables -t filter -A FORWARD -p tcp --dport 23 -s 192.168.50.1 -d 20.20.20.1 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 23 -s 20.20.20.1 -d 192.168.50.1 -j ACCEPT
● win10 ↔ server ssh
iptables -t filter -A FORWARD -p tcp --dport 12121 -s 192.168.50.1 -d 20.20.20.1 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 12121 -s 20.20.20.1 -d 192.168.50.1 -j ACCEPT
iptables -t nat -A PREROUTING -s 192.168.50.1 -d 192.168.50.101 -j DNAT --to 20.20.20.1
◆win10에서 ftp 서비스 받을 수 있도록 정책 설정 (passive)
● win10 ↔ server ftp control
iptables -A FORWARD -p tcp --dport 21 -s 192.168.50.1 -d 20.20.20.1 -j ACCEPT
iptables -A FORWARD -p tcp --sport 21 -s 20.20.20.1 -d 192.168.50.1 -j ACCEPT
● win10 ↔ server ftp control
iptables -t filter -A FORWARD -p tcp --dport 50000:50005 -s 192.168.50.1 -d 20.20.20.1 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 50000:50005 -s 20.20.20.1 -d 192.168.50.1 -j ACCEPT
'시스템 보안 구축' 카테고리의 다른 글
실습 (0) | 2024.11.14 |
---|---|
iptables 확장 모듈 (0) | 2024.11.12 |
방화벽 실습 (0) | 2024.11.11 |
★tables, chain (0) | 2024.11.11 |
★firewalld (공부해라) (0) | 2024.11.11 |