본문 바로가기
Certification/2. 정보보안기사

[정보보안기사 실기] [3. Apllication 보안] 요약 본

by 행태정보수집가 2024. 8. 9.

 

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 SpoofingDNS 질의 도청 후(Sniffing), 조작하여 전송1. Sniffing 사전 탐지 및 차단
2. hosts 파일에 우선순위 선정
DNS Cache PoisonningDNS 서버를 공격하여 Cache Table 정보 조작
(조작된 DNS 쿼리를 지속적으로 DNS서버에 전달)
1. Iterative Query : 차단(Authoritative DNS 서버는 재귀적 질의 허용 차단)
2. DNSSEC(DNS Security Extensions) : 수신자가 공개키 암호화로 검증하는 기능 (신뢰성↑, 무결성↑)

 
[DNS 보안 방법]

구분내용
Master / Slave DNSMaster 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
※ 학습 목표




[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]

구분내용
Procmail1. 이메일 필터링 : 특정 키워드 필터링 / 이메일 사이즈
Sanitizer1. Procmail Ruleset 제공 : 모든 공격 효과적으로 대응 가능
2. 이메일 필터링 : 확장자 / MS Office 메크로, 감염된 MSG 보관 
Inflex1. 메일서버로부터 외부로 나가는 Inbound/Outbound 정책 필터링
2. 첨부파일만 필터링 가능
Spam Assassin1. 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

구분내용
InjectionInjection 공격
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 구문 사용 차단
SSISSI 기능 차단
특수문자 필터링
Xpath특수문자 필터링
허용된 문자만 사용
디렉터리 인덱싱*Apache

Options Indexes → Indexes 제거
XSS특수문자 필터링
공백 제거 → trim(), replace()
스크립트 정의어 차단
CSRF 
파일업로드/다운로드AllowOverride Fileinfo

 
 
[Apache - TimeOut 설정]

구분내용
Timeout   120클라이언트와 서버 연결 후 타임아웃 설정 시간동안 아무런 메시지가 없으면 연결 끊김
KeepAlive   On클라이언트와 서버 프로세스간의 연결을 일정 조건에 따라 지속시키는 설정
원래대로면 매번 클라이언트 요청에 대해 연결 설정하고 응답 후 연결을 종료해야 하지만, tcp 연결 부하를 줄이기 위해 KeepAlive 설정을 On 시킴
MaxKeepAliveRequests   100KeepAlive 기능 사용 시, 클라이언트와 서버 프로세스간에 동시 연결 최대 허용 건수
KeepAliveTimeout   15KeepAlive 기능 사용 시, 클라이언트와 서버간 연결 유지 시간
RequestReadTimeout   header=5 body=10클라이언트로부터 Request Message 받을 때 헤더부와 바디부를 모두 수신하는 시간 제한
해당 시간 내에 모두 수신못하면 408(Request Timeout)메시지 반환
Slow 계열 HTTP DoS공격 차단 목적

 
[Apache - 접근제어]

구분내용
Order Deny, AllowDeny와 Allow 순서
Deny from All모든 트래픽 차단
LimitRequestBody 5000000파일 업로드/다운로드 크기 제한
Options FollowSymLinks심볼릭 링크 경로 확인
indexs디렉터리 인덱싱 가능 → 사용 금지 
AllowOverride FileInfo파일 업로드 제한
Require all granted접근 허용 → 모두 허용
Require ip {ip} 특정 ip만 허용
Require not ip {ip} 특정 ip 차단