DNS 패킷 구조 192.168.0.114가 205.152.39.23에게 Query를 던짐(wireshark.org의 IP 주소를 알려줄래?) 205.152.39.23 패킷을 클릭하면 answer가 있음 DNS(Domain Name System) 기본 설정 DNS 서버와 보조 DNS 서버 => DNS서버는 1개 또는 2개를 셋팅 => 이 부분은 DNS 클라이언트가 작성 => 기본과 보조는 무슨 차이일까? 보통 기본을 Master, 보조를 Slave라고 생각하는 경우가 있는데 아님!!! 기본은 사내망에서 운영하는 DNS 서버주소 보조는 ISP(통신사업자)에서 운영하는 DNS 서버주소 => 사내망 서버가 다운될 경우를 생각해서 2개를 설정 => 이거 클라이언트가 설정하는 것! cmd 창에 명령어 입력 > n..
Zeek NIDS : 우리망에 공격자가 있는지 탐지하는 시스템 ● 네트워크 칩입탐지시스템(NIDS) - Bro 또는 프로토콜 분석 - 네트워크를 모니터링 할 수 있는 오픈 소스 프로그램 ● IP 헤더와 TCP 헤더를 분석하여 로그 생성 ● 응용 프로토콜의 헤더를 분석하여 로그 생성 - FTP, HTTP, SMTP, X.509... ● zeek은 패킷을 수집하고, 헤더를 분석하여 프로토콜별 분류를 하고, 각각의 파일에 로그를 생성 - ★ 로그에는 반드시 시간이 기록되어야함!! ★ zeek a(192.168.1.1:4043) b(192.168.1.2:80) => a가 b에 접속한 정보가 zeek으로 넘어가게 되고, a가 b로 전송한 데이터의 헤더들을 보고 zeek은 로그를 남김 이 작업을 하는 이유? 현재 ..
WebServer(Cent OS 7)에 HTTPS 구성 1. HTTP Server 구성 2. 인증서 생성 3. HTTP config에 인증서 맵핑 인증기관(CA)에 인증서를 발급받는 것이 아닌 자가발급 인증서 생성 1. HTTP Server 구성 0) 관리자로 들어가기 $ su - root 1234 1) 패키지 설치 및 확인 # rpm -qa | grep httpd #패키지 설치 확인 # yum install -y httpd #패키지가 없다면 설치 # httpd -v 2) OpenSSL과 mode_ssl 설치 => 인증서 맵핑을 위한 모듈 설치 => 오픈소스 형태의 키 생성기 : open ssl # rpm -qa | grep openssl #패키지 설치 확인 # yum -y install openssl-..
암호화의 역할기밀성(Confidentiality) : 허용된 자(인가자)들만 데이터 열람 가능신뢰성(Authenticity) : 사용자의 진위 확인, 인증무결성 (Integrity) : 허용된 자(인가자)만 데이터 변경 가능, 데이터의 오염도(변조) 비대칭키 암호화 방식에서는 (기밀성)- 공개키로 암호화- 개인키로 복호화- 개인키를 가지고 있어야 데이터를 열람할 수 있다.- 인가자는 개인키를 가지고 있는 자- 공개키로 암호화하여 수신자 쪽에서 개인키로 복호화하는 것은 기밀성 보장 비대칭키 암호화 방식에서는 (신뢰성)- 개인키로 암호화- 공개키로 복호화- 인증!- 개인키로 암호화시키는 것을 전자서명이라고 함- 공개키로 데이터가 원문이 복호화가 되는 것은 신뢰성 보장*전자서명은 어떻게 만들어졌나?1. 원본데..
대칭키 암호화 방식- 암호화와 복호화 시 동일한 키를 사용- 단일키 비대칭키 암호화 방식- 암호화와 복호화 시 서로 다른 키를 사용- 공개키, 개인키대칭키 암호화A(앨리스)가 B(밥)에게 문서 전송 => 이거 중요한 데이터니까 너만 봐~! A는 암호화해서 데이터 전송 => 평문을 암호문으로=> 대칭키 암호화 방식 중 DES3 사용=> 안전성을 위해 salt 사용=> P1.txt를 암호화해서 P2.bin 파일로 추출=> cat으로 읽으면 암호화되어 읽을 수 없음 B는 복호화해서 데이터 읽음 => 암호문을 평문으로=> 복호화를 위해 -d=> 동일한 암호화 방식 사용 DES3=> P2.bin를 복호화해서 P3.txt 파일로 추출=> 암호화 시 비밀번호와 동일한 값 입력 **암호화할 때와 복호화할 때 동일한 패..
Rsyslog 설치 및 설정 SplunkServer가 rsyslog server가 되고, 나머지는 로그를 전송하는 rsyslog client로 설정 => 각 시스템에서 생긴 로그들을 서버에게 전송 => 여기서 ZeekIDS나 WebServer는 리눅스 기반이기 때문에 Syslog가 돌아가고 있지만, Sysmon의 경우는 운영체제가 완전히 달라서 Agent를 설치해서 로그를 전송해야함 1. (Ubuntu : SplunkServer) rsyslog server 설치 0) 관리자로 들어가기 $ sudo su - root 1234 1) apt 업데이트 및 rsyslog 설치 # apt update # apt-get install -y rsyslog # rsyslog 서버 설치 2) 환경설정(포트 활성화 : 51..
NTP 설치 및 설정 NTP는 Network Time Protocol로, 네트워크 장비들의 시간을 동기화 시키기 위해서 Time Server와 장비들 간에 통신하는 프로토콜 입니다. 우리 컴퓨터에서 수집한 로그파일들을 중앙관제 서버에게 넘길 것! 방법은 2가지! 1) Agent를 설치해서 전달(SNMP) 2) Agent 없이 그냥 전달(Syslog) [시간 동기화 목적] => 로그를 전송할 때, A,B,C가 보내는 로그의 시간이 일치해야 신뢰성이 있음 백업이나 패치 등 예약한 작업들이 실행되지 않는 것을 방지 로그에 대한 신뢰도 : 언제 어떤 작업을 했는지 보여주는 로그의 시간은 정확해야함 보안·암호화 인증 프로토콜 과정시 timestamp 및 lifetime이 추가 : 이때 서버와 클라이언트의 시간이 ..
실습을 위한 환경 구성 VMware는 허브라고 생각! 허브 이름은 NAT08 192.168.10.0/24 GW : 192.168.10.2 DNS : 192.168.10.2 Splunk Ubuntu 192.168.10.10 | 255.255.255.0 중앙관제서버 ZeepIDS Ubuntu 192.168.10.20 | 255.255.255.0 NMS 로그 전송 WebServer Cent OS 7 192.168.10.30 | 255.255.255.0 SMS 로그 전송 Sysmon Windows 10 192.168.10.40 | 255.255.255.0 엔드포인트 로그 전송 => 중앙서버에게 로그를 넘기면, 중앙서버는 로그를 수집하고 분석하고, 관리자에게 알리고, 보고서 작성하는 일을 함 VMware 설치 및..