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
실습
방화벽 구축
request영역에서 파라미터를 차단
웹 방화벽 castle
https://www.krcert.or.kr/download/whistlCastle/castle.do
신청후 사용가능
다운시 tar.gz 파일이 있고
압출을 풀고
웹서비스를 하고있는 www/wordpress or html 에 넣기
index.php있는곳에 같은경로에 폴더체 넣고
웹서비스 경로 주소에서 접근하여 gui 환경에서 설치가능
디렉터리 권한을 변경해주고 chmod 707 ~~
새로고침
관리자 설정
로그인
관리메뉴에서 나에게 맞는 설정하기
흐름은 비슷하나 회사마다 툴이 다르기에 나머지는 회사에서 맞춰서 ㄱㄱ
pfsense 구축하기
설치후 절차 따라 진행
lan ip 변경
오픈소스에 비해서 기능이 다양하고 사용법이 많다.
한번 실습해 보도록 하자
내부인터넷의 게이트웨이가 pfsense의 ip와 같아야 타구 외부 인터넷에 접속 가능
기준을 만들때
22, 80번포트 금지라고 만들지 말자
바른예
22번금지
80번금지
방화벽을 기준으로 내부, 외부 나눔
suricata - ips
https://hoong2.tistory.com/entry/How-to-install-IPSsuritaca-on-unubntu-2004
[공격 유형]
- 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
'보안 > 케이쉴드' 카테고리의 다른 글
심화과정 2일차 (모의해킹 대상의 정보수집, 관리자 페이지 들어가기 실습) (0) | 2022.08.01 |
---|---|
심화과정 1일차 (모의해킹 방법론) (0) | 2022.07.30 |
5일차 공통 교육 과정(윈도우) (0) | 2022.07.23 |
오프라인 8일차 (위협에 대응하기 위한 보안 환경의 이해) (0) | 2022.07.21 |
오프라인 8일차 (원격 조종_pc 점령하기) (0) | 2022.07.21 |