kjh00n의 기록저장소

네트워크 방화벽 구축 본문

시스템 보안 구축

네트워크 방화벽 구축

kjh00n 2024. 11. 12. 14:20

방화벽 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 만들고 세팅해주기

ens224
ens256
IP 세팅

외부통신 가능 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