보안/케이쉴드

오프라인 9일차 (위협에 대응하기 위한 보안 환경의 이해)

RavenKim 2022. 7. 26. 15:13
반응형

위협에 대응하기위한 여러 환경의 구축

> 오픈소스를 기준으로

 

서비스를 위해 앞단에 설치하는 여러 서비스

윈도우 디펜더, ufw 등등 

 

우리가 고려할것이 무엇일지 어떤걸 신경써야할지

자세한 방화벽 내용은 회사 가서 배우는것을 추천

 

 

NAT

network address translation의 약어 

네트워크 주조 변환기 > ip주소를 변환해줌

궁극적 목표 > 앞단에 있는 방화벽 안에 이 기술이 있다.  공인 ip와 사설ip간의 교류

 

공인 ip > 사설ip > 사설ip ..... 

어디서든 접속 가능한것: 공인 ip

 

패킷에는 출발지 목적지가 있다

 

 

DNAT

누군가 우리를 찾을때 (공인ip로) 올바른 사설ip로 목적 포트를 변경(destination)

 

출발지를 바꾸면 

SNAT

 

 

 

보안솔루션 구성

> 웹방화벽, 백신, 방화벽 등등등

 

HA

고 가용성(이중화)  = 병렬연결처럼 하나가 고장나도 인터넷이 가능한 구조

as 방식과 aa방식 존재

aa - 둘다 활성화 active 상태, 하나가 죽어도 이상이 없음

as - 하나를 메인, 다른걸 standby로 되어있다가 mian이 고장시 활성화

 

FullMesh

보안을 높이고 가용성을 영혼까지 끌어올리지만 현질이,,,,,,, 필요한 과금러용

 

 

 

 

 

 

네트워크 설정

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=arrowmask&logNo=220955516494 

 

VMware Workstation pro 네트워크 기본 설명(1)

VMware Workstation에 게스트 컴퓨터를 생성하면 거의 대부분 NAT를 기본 네트워크형태로 설정해줍니...

blog.naver.com

 

 

 

실습 

방화벽 구축

 

ModSecurity_Install_Guide_v1.1.pdf
0.45MB

request영역에서 파라미터를 차단

 

 

 

 

웹 방화벽 castle

https://www.krcert.or.kr/download/whistlCastle/castle.do

 

KISA 인터넷 보호나라&KrCERT

KISA 인터넷 보호나라&KrCERT

www.boho.or.kr

신청후 사용가능

 

다운시 tar.gz 파일이 있고

압출을 풀고 

웹서비스를 하고있는 www/wordpress or html 에 넣기

index.php있는곳에 같은경로에 폴더체 넣고

웹서비스 경로 주소에서 접근하여 gui 환경에서 설치가능

디렉터리 권한을 변경해주고 chmod 707 ~~

새로고침

관리자 설정

로그인

관리메뉴에서 나에게 맞는 설정하기

 

 

흐름은 비슷하나 회사마다 툴이 다르기에 나머지는 회사에서 맞춰서 ㄱㄱ

 

 

 

 

pfsense 구축하기

 

https://www.pfsense.org/

 

pfSense® - World's Most Trusted Open Source Firewall

Securely Connect to the Cloud Virtual Appliances Netgate® virtual appliances with pfSense® Plus software extend your applications and connectivity to authorized users everywhere, through Amazon AWS and Microsoft Azure cloud services. Network your employe

www.pfsense.org

설치후 절차 따라 진행

lan ip 변경

 

오픈소스에 비해서 기능이 다양하고 사용법이 많다. 

한번 실습해 보도록 하자

 

내부인터넷의 게이트웨이가 pfsense의 ip와 같아야 타구 외부 인터넷에 접속 가능

 

기준을 만들때

22, 80번포트 금지라고 만들지 말자

 

바른예

22번금지

80번금지

 

 

방화벽을 기준으로 내부, 외부 나눔

 

 

 

suricata - ips

https://suricata.io/

 

Home - Suricata

Meerkats (Suricata suricatta) are known for their sentinel behavior, patiently and alertly standing watch over their class. Sentries who stand guard gain trust through their experience and reputation, not through their age or social rank.

suricata.io

https://hoong2.tistory.com/entry/How-to-install-IPSsuritaca-on-unubntu-2004

 

How to install IPS(suritaca) on unubntu 20.04

ㅇSnort와 Suricata의 차이점 -snort 룰 완벽 호환 -GPU하드웨어 가속지원 -Lua 시그니처 작성 가능 -multi-core, multi-threading 지원 ㅇ관련 dependency 확인 및 설치 $ sudo apt install -y libpcre3 li..

hoong2.tistory.com

[공격 유형]
- Known Attack & Hidden Attack
  = 여러가지 탐지 방법 및 분석 방법 존재
- Unknown Attack & Blind Attack
  = 탐지 방법이나 분석 방법에 대한 고민 필요

- Known Attack(알려진 공격) : Known to US + Known to Hacker
- Blind Attack(가려진 공격) : Unknown to US + Known to Hacker
- Hidden Attack(숨겨진 공격) : Known to US + Unknown to Hacker
- Unknown Attack(알려지지 않은 공격 : Unknown to US + Unknown to Hacker

[DMZ Zone 에 업데이트 서버 배치 이유]
- 기존 서버에 설치되어있는 어플리케이션 및 프로그램과 신규 OS 버전, 커널 버전이 충돌이 날 수도 있기 때문 ---> 테스팅의 목적

- 다운로드 받은 패치 파일 내에 악성코드가 삽입되어 있거나 혹은 업데이트 서버가 벤더 사의 정상 서버가 아닐 경우 ---> 공급망 공격에 대응하기 위함

[HA]
- L4 스위치는 일정한 주기로 구성 장비들에게 health check를 위한 패킷을 전달
- 해당 패킷에 응답을 하게 되면 장비가 up상태에 있다고 판단
- 만약 해당 패킷에 응답이 없을 경우 장비가 down 상태인 것으로 판단

  --------- A - S 방식
- down 상태로 판단된 장비가 active 상태의 장비일 경우 standby 상태의 장비를 active 상태로 전환 ---> failover 발생
- down 상태로 판단된 장비가 standby 상태의 장비일 경우 기존 구성 그대로 active 상태의 장비에게 트래픽을 흘려줌

  --------- A - A 방식
- 한 대의 active 장비가 down 상태로 판단이 될 경우 살아있는 나머지 장비에게 트래픽을 흘려줌

 

 

 

[suricata]
- NFQUEUE
  = 커널 패킷 필터로 패킷 큐(대기열)에 대한 접근 권한을 주는 라이브러리
  = suricata는 NFQUEUE 기능을 이용하여 흘러오는 패킷을 확인하고 차단, 허용, 로깅 등의 행동을 판단
  = Suricata가 활성화되어 있지 않은 경우 NFQUEUE가 패킷 큐를 잡고있는(홀딩) 상태이기 때문에 내부에서 인터넷 등 패킷이 전달되지 않음

- Masquerade
  = NAT 기반으로 외부망과 내부망을 구분한 뒤 설정되어 있는 경로에 따라 패킷을 전달하는 역할 수행
  = 외부를 통해 전달될 때 내부 IP가 외부 IP로 변경되어 전달


[수리카타의 룰]
- Action, Header, Rule Option

- Action
  = Pass, Drop, Reject, Alert
- Header
  = Protocol, Port, Address
- Rule Option
  = General Rules
  = Detection Rules
  = Rule Thresholds

- 룰의 형태
  = [action] [protocol] [source IP] [source port] -> <> [dest IP] [dest port] ([Rule Options])

[수리카타 설치 패키지]
- libpcre3 -> 펄호환 정규표현식
  = libpcre
  = libpcre3-dbg
  = libpcre3-dev
- build-essential -> 개발에 필요한 기본 라이브러리
- libyaml -> 인간친화적 프로그래밍 언어에 대한 표준
- zlib1g -> gzip파일을 읽고 쓸수 있도록 해주는 어플리케이션
  = zlib1g
  = zlib1g-dev
- libmagic -> 파일 명령을 지원하는 라이브러리
  = libmagic-dev
- libjasson -> JSON 데이터를 인코딩/디코딩할 수 있도록 지원
  = libjansson4
  = libjansson-dev
- libnfnetlink -> 커널-유저 간 통신을 지원해주는 로우레벨 넷필터
  = libnfnetlink0
  = libnetfilter-queue-dev
  = libnetfilter-queue1
  = libnetfilter-log-dev
  = libnetfilter-log1
  = libnfnetlink-dev
- libnspr -> 포터블 런타임 라이브러리
  = libnspr4-dev
  = libnss3-dev
- liblz4 -> 멀티코어 CPU에서 고속 지원
  = liblz4-dev
- libhtp2 -> suricata에서 사용하는 HTTP 스트림을 위한 parser
  = libhtp2