DNS
※ 학습 목표
[DNS 특징]
구분 | 내용 |
질의 순서 | Windows : 로컬 DNS Cache → hosts.ics 파일 → hosts 파일 Unix/Linux : 1) /etc/resolv.conf : 시스템 기본 DNS 설정 정보를 포함한 파일 2) /etc/hosts : 도메인/호스트명과 IP 주소 매핑 정보를 담은 파일 3) /etc/host.conf : DNS 질의 순서를 지정하는 파일로, order절에 명시된 순서로 질의를 수행 |
질의/응답 패킷 특성 | Data 크기 512byte 이하 : 53/UDP → Truncated = 0 Data 크기 512byte 초과 : 53/TCP → Truncated = 1 |
[DNS 역할]
구분 | 내용 |
Recursive DNS 서버 | 1. 데이터 캐싱 : DNS 요청을 캐시 메모리에 저장하여 DNS 요청 응답 2. 다른 DNS 서버 검색 : 캐시 메모리에 요청된 DNS 정보가 없을 경우, 다른 네임서버에 요청해 재귀적 검색 * ISP 업체가 제공해주는 DNS 서버가 해당 (KT, SK 등) |
Authoritative DNS 서버 | 1. 권한 : 실제 개인 도메인과 IP 주소 관계를 기록/저장/변경 함. 2. Zone : 관리 도메인에 대한 영역 → Zone File : 해당 파일 * 도메인/호스팅/개인/회사 DNS 서버 구축 한 경우 해당 |
[DNS 질의 유형]
DNS 질의 유형 | 설명 |
A (Address) | * 도메인에 대한 IPv4 주소 질의 (A record 질의) |
AAAA | * 도메인에 대한 IPv6 주소 질의 |
ANY | * 도메인에 대한 모든 Record 질의 - 요청 대비 응답이 크기 때문에 DNS 증폭(DRDoS) 공격에 악용 |
MX (Mail Exchanger) | * 도메인의 메일서버 질의 (MX Record 질의) |
NS (Name Server) | * 도메인의 네임서버 질의 (NS Record 질의) |
SOA (Start Of Authority) | * Zone의 시작을 표현하는 Record로, Zone 기본 속성 정보(존 파일 버전, 존 전송 주기 등) 질의 (SOA Record 질의) |
TXT (Text) | * 도메인에 대한 텍스트 정보 질의 (TXT Record 질의) - SPF (발송자 메일서버 인증) 레코드 : 요청 대비 응답이 커서 DNS 증폭(DRDoS) 공격에 악용 - DKIM을 사용하여 디지털 이메일 서명 추가 - DMARC를 사용하여 발신 스팸 방지 |
HINFO (Host Information) | * 호스트의 CPU, OS 정보 |
CNAME (Canonical Name) | * 호스트의 별명 (Alias) |
PTR (Pointer) | * IP에 대한 도메인 정보 질의 (A 유형의 반대) - Reverse Zone file에 설정된 PTR Record를 질의함 |
AXFR (Authoritative Zone Transfer) | * Zone 버전에 상관없이 무조건 Zone 전송 요청 (Full Zone Transfer) * 형식 : dig @"마스터 네임서버주소" "zone name" axfr ex) dig @192.168.10.100 test.com axfr |
IXFR (Incremental Zone Transfer) | * Zone 버전을 비교하여, 상위 버전일 경우에만 존 전송 요청 (Incremental Zone Transfer) * 형식 : dig @"마스터 네임서버 주소" "zone name" ixfr=버전정보 ex) dig @192.168.10.100 test.com ixfr=2021050701 |
[DNS 공격]
구분 | 내용 | 보안 방법 |
DNS Spoofing | DNS 질의 도청 후(Sniffing), 조작하여 전송 | 1. Sniffing 사전 탐지 및 차단 2. hosts 파일에 우선순위 선정 |
DNS Cache Poisonning | DNS 서버를 공격하여 Cache Table 정보 조작 (조작된 DNS 쿼리를 지속적으로 DNS서버에 전달) | 1. Iterative Query : 차단(Authoritative DNS 서버는 재귀적 질의 허용 차단) 2. DNSSEC(DNS Security Extensions) : 수신자가 공개키 암호화로 검증하는 기능 (신뢰성↑, 무결성↑) |
[DNS 보안 방법]
구분 | 내용 |
Master / Slave DNS | Master DNS와 Slave DNS 동기화 및 부하 분산 (53/TCP 통신 = Zone Transfer) |
Zone FIle 환경 설정 (etc/named.conf) | 1. 재귀적 질의 제한 : recursion no; 또는 allow-recursion(ip/24); 2. Zone Transfer 제한 : allow-transfer {none;} 또는 allow-transfer{ip;]; |
SPF DKIM DMARC
※ 학습 목표
[Mail Protocol]
구분 | 내용 |
SMTP | 메일 서버를 의미하며, 보안 기술이 하나도 적용되어 있지 않음.(암호화 X) 25/TCP SMTPS :365/TCP |
POP3 | 클라이언트가 메일을 pc에 다운할 수 있도록 해줌(다운 시 서버에 있는 메일 삭제) 103/TCP POP3S |
IMAP | 클라이언트가 서버에서 메일을 읽음 143/TCP IMAPS |
[Mail 보안 기술]
구분 | 내용 |
PEM (Privacy Enhanced Mail) | 1) SMTP에 암호화된 정보, 전자서명, 암호화를 하여 전송함 2) 기밀성, 인증, 무결성, 부인방지 *중앙 집중화된 키 인증 |
PGP (Pretty Good Privacy) | 1) 이메일 파일보호를 위해 암호화를 사용하는 암호시스템 2) 기밀성, 메시지 인증, 사용자 인증, 송순 부인방지(수신 부인방지 X) *분산화된 키 인증 |
S/MIME (Secure Multipurpose Internet Mail Extensions) | 1) PEM의 구현 복잡성, PGP의 낮은 보안성과 기존 시스템과 통합이 용이하지 않는 점 보완하여 개발 2) 기밀성, 무결성, 사용자 인증, 송신 부인방지 3) MIME 기반 / X.509 기반 |
SPF (Sender Policy Framework) | 메일 헤더에 표시된 발송정보가 실제로 메일을 발송한 서버와 일치하는지 비교하는 기술 |
[Mail 보안 Tool]
구분 | 내용 |
Procmail | 1. 이메일 필터링 : 특정 키워드 필터링 / 이메일 사이즈 |
Sanitizer | 1. Procmail Ruleset 제공 : 모든 공격 효과적으로 대응 가능 2. 이메일 필터링 : 확장자 / MS Office 메크로, 감염된 MSG 보관 |
Inflex | 1. 메일서버로부터 외부로 나가는 Inbound/Outbound 정책 필터링 2. 첨부파일만 필터링 가능 |
Spam Assassin | 1. White/Black List/RBL 기반 필터링 2. 텍스트 / 헤더, 본문 / 베이시언 필터링 |
[Send Mail 보안]
*주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드 참고
구분 | 내용 |
버전 점검 | 최선 버전 사용 |
서버 릴레이 기능 제한 | */etc/mail/sendmail.cf 1) 550 Relaying denied 주석 제거 2) makemap hash /etc/mail/access.db < /etc/mail/access |
일반 사용자 Sendmail q 옵션 제한 | */etc/mail/sendmail.cf Privacy Options → restrictqrun 추가 |
DB 암호
※ 학습 목표
암호화 방식 | 개념 및 장단점 |
API 방식 | ㅇ개념: 데이터베이스 단이 아닌 외부 애플리케이션 영역에서 암복호화를 수행 ㅇ장점: 암복호화 수행시에도 DB서버에 부하 없음, DB 구축비용이 상대적으로 저렴 ㅇ단점: DB내부 연산에서 암호화된 데이터 처리 불가능 |
플러그인 방식 | ㅇ개념: DBMS 자체에 플러그인 방식으로 암복화 모듈을 설치해 암호화를 운영 ㅇ장점: 구축이 용이, 애플리케이션으로부터 독립성을 제공 ㅇ단점: 성능 이슈 발생시 쿼리 수정 필요 -> DB서버 부하 발생 |
인플레이스 방식 | ㅇ개념: 플러그인에서 더 나아가 DB 엔진 내부에서 암복호화 기능을 수행 ㅇ장점: 애플리케이션 환경에서 완변학 독립성 제공, 플러그인 방식보다 더 빠른 암호화 성능 ㅇ단점: 암호화 이외의 DB 보안 기능 지원을 위해 별도의 패키지 사용 |
하이브리드 방식 (API+플러그인) | ㅇ개념: 플러그인 방식의 성능 저하 이슈 개선을 위해 API 방식의 장점 채용, 성능이 우선시 되는 환경에서는 API 방식을 적용, 성능 영향이 덜 민감한 환경에는 플러그인 방식 적용하는 식으로 유동성 있게 구축 |
Web
※ 학습 목표
[OWASP Top 10] - 2017
구분 | 내용 |
Injection | Injection 공격 |
Broken Authentication | 인증 메커니즘 → 계정 도용 |
Sensitive Data Exposure | 미 암호화 → 정보 유출 |
XML External Entities(XXE) | 취약한 XML 프로세서 사용 → 원격 요청 |
Broken Access Control | 리소스 제어 불가 |
Security Misconfiguration | 정보시스템 미슨한 보안설정 |
Cross-Site Scripting(XSS) | XSS 공격 |
Insecure Deserialization | 악의적인 객체가 역직렬화 과정에서 실행 |
Using Components with Known Vulnerabilities | 취약한 컴포넌트 사용 |
Insufficient Logging & Monitoring | 불충분한 로깅 및 모니터링 |
[OWASP Top 10] - 2021
구분 | 내용 |
1. Broken Access Control (접근 제어 결함) | 접근 제어 결함 → 허용되지 않은 데이터 접근 |
2. Cryptographic Failures (암호화 실패) | 부적절한 암호화 → 민감데이터 노출 |
3. Injection (인젝션) | SQL, Command, LDAP, XML |
4. Insecure Design (안전하지 않은 설계) | 설계단계에서 발생한 취약점 (SBOM?) |
5. Security Misconfiguration (보안 구성 오류) | 정보시스템 미슨한 보안설정 |
6. Vulnerable and Outdated Components (취약하거나 오래된 컴포넌트) | 취약한 컴포넌트 사용 |
7. Identification and Authentication Failures (식별 및 인증 실패) | 사용자 식별 및 인증 불가 |
8. Software and Data Integrity Failures (소프트웨어 및 데이터 무결성 실패) | 소프트웨어/공급망 취약점 |
9. Security Logging and Monitoring Failures (보안 로깅 및 모니터링 실패) | 불충분한 보안 로깅 및 모니터링 |
10. Server-Side Request Forgery (SSRF) | 서버 간의 접근 취약점 |
[웹 취약점]
구분 | 보안 방법 |
BoF | 문자열 제한 |
포맷스트링 | 문자열 로직 점검 |
LDAP Injection | 특수문자 필터링 LDAP 관련 특수문자 필터링 |
Command Injection | 특수문자 필터링 데이터 검증 애플리케이션에서 운영체제 명령어 직접 호출 차단 |
SQL Injection | 특수문자 필터링 Dynamic SLQ 구문 사용 차단 |
SSI | SSI 기능 차단 특수문자 필터링 |
Xpath | 특수문자 필터링 허용된 문자만 사용 |
디렉터리 인덱싱 | *Apache Options Indexes → Indexes 제거 |
XSS | 특수문자 필터링 공백 제거 → trim(), replace() 스크립트 정의어 차단 |
CSRF | |
파일업로드/다운로드 | AllowOverride Fileinfo |
[Apache - TimeOut 설정]
구분 | 내용 |
Timeout 120 | 클라이언트와 서버 연결 후 타임아웃 설정 시간동안 아무런 메시지가 없으면 연결 끊김 |
KeepAlive On | 클라이언트와 서버 프로세스간의 연결을 일정 조건에 따라 지속시키는 설정 원래대로면 매번 클라이언트 요청에 대해 연결 설정하고 응답 후 연결을 종료해야 하지만, tcp 연결 부하를 줄이기 위해 KeepAlive 설정을 On 시킴 |
MaxKeepAliveRequests 100 | KeepAlive 기능 사용 시, 클라이언트와 서버 프로세스간에 동시 연결 최대 허용 건수 |
KeepAliveTimeout 15 | KeepAlive 기능 사용 시, 클라이언트와 서버간 연결 유지 시간 |
RequestReadTimeout header=5 body=10 | 클라이언트로부터 Request Message 받을 때 헤더부와 바디부를 모두 수신하는 시간 제한 해당 시간 내에 모두 수신못하면 408(Request Timeout)메시지 반환 Slow 계열 HTTP DoS공격 차단 목적 |
[Apache - 접근제어]
구분 | 내용 |
Order Deny, Allow | Deny와 Allow 순서 |
Deny from All | 모든 트래픽 차단 |
LimitRequestBody 5000000 | 파일 업로드/다운로드 크기 제한 |
Options FollowSymLinks | 심볼릭 링크 경로 확인 |
indexs | 디렉터리 인덱싱 가능 → 사용 금지 |
AllowOverride FileInfo | 파일 업로드 제한 |
Require all granted | 접근 허용 → 모두 허용 Require ip {ip} 특정 ip만 허용 Require not ip {ip} 특정 ip 차단 |
'Certification > 2. 정보보안기사' 카테고리의 다른 글
[정보보안기사 실기] [2. 네트워크 보안] 요약 본 (0) | 2024.08.05 |
---|---|
[정보보안기사 실기] [4. 정보보안 일반] 요약 본 (0) | 2024.07.27 |
[2. 네트워크 보안] 무선랜 보안 (0) | 2024.07.21 |
[2. 네트워크 보안] 스위치 환경 스니핑 (0) | 2024.07.21 |
[2. 네트워크 보안] [DoS] DRDoS (0) | 2024.07.21 |