자격증 정복/정보보안(산업)기사

정보보안기사 실기 재도전 06 — 서비스 보안 (DNS·메일·FTP·DB·파일서버)

올드 IT직장인 2026. 11. 5. 08:16

정보보안기사 실기 재도전 06 — 서비스 보안 (DNS·메일·FTP·DB·파일서버)

출제기준 주요항목 1. 시스템·네트워크 보안특성 파악 (1-3 서비스별) / 2. 취약점 점검·보완 (2-2 서비스)
단답은 설정 파일명(named.conf, sendmail.cf, access.db), 서술·실무는 점검 이유와 설정값이 중심입니다.
서비스마다 "동작·포트 → 설정 파일 → 취약점 → 보안 설정" 틀로 외우면 편해요.


이번 편 출제 맵 ⭐⭐⭐

주제 출제 회차 (예시) 유형
DNS 설정 파일 (named.conf / resolv.conf) 32회 1번, 21회 16번 단답
Master/Slave named.conf 작성 23회 18번 실무
DNS 질의·캐시·TTL 22회 8번, 29회 7번 단답
스팸 메일 릴레이 제한 (sendmail) 31회 9번, 21회 1번 단답
윈도우 FTP 디렉터리 접근권한 위협 32회 13번 서술
데이터 마스킹 (정적/동적) 30회 5번 단답
Oracle DB 감사 정책 28회 17번 실무
메일 보안 프로토콜 (PGP/PEM/S-MIME), SPF/DKIM 산업기사 30회, 19회 8번, 18회 14번 외 단답

 

(회차는 기출 파일과 이론 정리 문서에서 확인한 예시입니다. 전수 목록은 아니에요.)

 

서비스 포트 설정 파일·핵심
DNS UDP/TCP 53 named.conf, resolv.conf
메일 SMTP 25 · POP3 110 · IMAP 143 sendmail.cf, /etc/mail/access
FTP 21(제어) · 20(데이터) ftpusers, vsftpd.conf
DB 제품별 감사(audit), 접근 통제, 마스킹

1. DNS ⭐⭐⭐

동작과 질의 순서

  • 재귀(Recursive): 클라이언트 → 로컬 DNS가 대신 끝까지 조회
  • 반복(Iterative): 로컬 DNS가 루트 → TLD(com) → 권한 서버를 차례로 질의
  • 질의 순서(www.example.com): 호스트 캐시·hosts 파일 → 로컬 네임서버 → 루트 → com 네임서버 → example.com 네임서버 → IP 응답
  • UDP 53은 일반 질의, TCP 53은 Zone Transfer·큰 응답
  • 응답은 TTL 동안 캐시되며 만료되면 다시 조회합니다.
22회 8번 유형: DNS는 53번 포트, 전송 계층은 UDP / 반복 질의 부하를 줄이는 것은 캐시 / 유지 기간은 TTL

 

설정 파일 ⭐⭐⭐

파일 역할
/etc/named.conf BIND 기본 설정 파일, Zone 설정·options 관리
/etc/resolv.conf 클라이언트 측 네임서버 지정 (nameserver IP), 도메인 검색 규칙
/etc/hosts 정적 매핑
Zone 파일 (/var/named/*.zone) 레코드 저장
32회 1번 정답: (1) named.conf  (2) resolv.conf

 

주요 레코드: A(IPv4), AAAA(IPv6), NS(네임서버), MX(메일), CNAME(별칭), PTR(역방향), SOA(권한 시작), TXT(SPF·DKIM)

 

Master/Slave named.conf 작성 (23회 18번 유형) ⭐⭐

문제: korea.co.kr 도메인, zone 파일 ns.korea.co.kr.zone, Master 192.168.1.53, Slave 192.168.2.53

[Master의 named.conf]
zone "korea.co.kr" IN {
    type master;
    file "ns.korea.co.kr.zone";
    allow-transfer { 192.168.2.53; };     // Slave에게만 Zone 전송 허용
};

[Slave의 named.conf]
zone "korea.co.kr" IN {
    type slave;
    masters { 192.168.1.53; };            // 복제해 올 Master
    file "ns.korea.co.kr.zone";           // 받아 온 Zone 저장 파일
};

 

(23회 파일에는 답안이 없어서 BIND 표준 문법으로 직접 작성한 예시입니다. 최신 BIND에서는 type primary / type secondary 표기도 쓰이니 시험지의 표기를 따르세요. 핵심은 Master = type master + allow-transfer, Slave = type slave + masters 입니다.)

 

DNS 서버 점검 항목 ⭐⭐⭐

32회 1번의 named.conf 예시를 점검 관점으로 읽어 보세요.

options {
    listen-on port 53 { 127.0.0.1; 192.168.1.100; };   // DNS 서비스를 제공할 IP
    directory "/var/named";                            // Zone 파일 위치
    allow-query { any; };                              // 질의 허용 범위 (전체 허용)
    allow-transfer { 192.168.1.101; };                 // Zone Transfer 허용 Slave IP
    recursion yes;                                     // 재귀 질의 허용
};
점검 위험 설정
점검 위험 설정
Zone Transfer 모든 호스트에 허용하면 호스트명·IP·네트워크 구조 노출 allow-transfer { 2차 DNS IP; };
또는 { none; }
동적 업데이트 신뢰할 수 없는 곳에서 DNS 정보 갱신 allow-update { none; };
(Windows: 보안되지 않은 동적 업데이트 허용 안 함)
재귀 질의 DNS 증폭 공격의 반사 서버로 악용 recursion no;
또는 allow-recursion { 내부망; };
버전 노출 버전 정보로 취약점 탐색 version "unknown";
공격 확인: dig @DNS서버 도메인 AXFR   /   nslookup → ls -d 도메인
⚠️ allow-transfer 문제는 "2차 DNS IP만 허용"이 답입니다.
⚠️ 위 예시에서 allow-query { any; } 와 recursion yes; 는 외부 서비스용 DNS라면 점검 대상입니다.

 

DNS 관련 공격 (원리는 이론 정리 기준)

공격 내용 대응
DNS 스푸핑 DNS 서버보다 먼저 위조 응답을 보내 피싱·파밍 사이트로 유도 구간 암호화, DNSSEC
캐시 포이즈닝 재귀 서버 캐시에 위조 레코드 주입 질의 ID·소스 포트 랜덤화, DNSSEC, 재귀 제한
DNS 터널링 DNS 질의/응답(TXT·CNAME·ANY)에 데이터를 숨겨 C&C·유출 긴 도메인·대량 질의 탐지,
외부 DNS 직접 질의 차단
DNS 증폭 출발지 위조 + ANY 질의 재귀 제한, RRL

 

DNSSEC은 DNS 응답에 전자서명을 붙여 위·변조를 막습니다.


2. 메일 ⭐⭐⭐

프로토콜과 구성

구분 포트 역할
SMTP TCP 25 메일 송신, MX 레코드로 수신 서버 탐색
POP3 TCP 110 수신 후 서버에서 삭제
IMAP TCP 143 서버에 보관·동기화
  • 에이전트: MUA(사용자) · MTA(전달) · MDA(최종 배달)
  • 보안: SMTP AUTH, TLS(SMTPS 465 / STARTTLS), VRFY·EXPN 명령 차단(계정 정보 노출)

 

메일 보안 프로토콜 비교 ⭐⭐⭐

구분 PGP PEM S/MIME
키 인증 신뢰망(Web of Trust), 사용자 분산 중앙집중 CA 계층 (X.509) CA 발급 인증서 (PKI)
특징 구현 쉬움, 개인 간 널리 사용 구현 어려움, 거의 미사용 MIME 확장, 첨부파일 보호, 표준
PGP = 분산 신뢰망 / PEM = 중앙 CA / S/MIME = MIME + PKI 인증서

 

스팸 차단 기술 ⭐⭐

기술 내용
RBL (DNSBL) 스팸 발송 IP 블랙리스트를 DNS로 조회해 차단
SPF 발송 도메인이 허용 발신 서버 IP를 DNS(TXT)에 등록, 수신 서버가 대조
DKIM 발신 서버가 개인키로 서명, 공개키는 DNS(TXT)에 게시 → 수신 서버가 검증
DMARC SPF·DKIM 결과의 도메인 정렬 + 실패 시 정책(none/quarantine/reject) + 리포트
SpamAssassin 점수 기반 필터
Sanitizer 첨부 무해화
Procmail 조건부 분류·실행
⚠️ SPF = 발신 IP 검증 / DKIM = 서명(공개키) 검증

 

스팸 메일 릴레이 제한 (31회 9번) ⭐⭐⭐

오픈 릴레이(Open Relay): 인증 없이 외부에서 외부로 메일 중계를 허용 → 스팸 경유지로 악용, IP 블랙리스트 등재

1. sendmail.cf: FEATURE(`access_db')  — access 테이블 사용, promiscuous_relay 설정 제거
2. /etc/mail/access: 도메인 또는 IP   RELAY(중계 허용) / REJECT(거부) / DISCARD(수신 후 폐기) / 550·501(오류 코드로 거부)
3. makemap hash /etc/mail/access < /etc/mail/access   → access.db 생성 후 sendmail 재시작

31회 9번 정답: (1) sendmail.cf  (2) access  (3) access.db
⚠️ 파일 3종 세트 순서: sendmail.cf → access → access.db

3. FTP ⭐⭐

포트와 모드

모드 데이터 연결 시작 방화벽
Active 서버(20) → 클라이언트 (클라이언트가 PORT 명령으로 포트 통보) 클라이언트 방화벽이 인바운드를 막으면 실패
Passive 클라이언트 → 서버 (서버가 PASV로 1024 이상 포트 통보) 클라이언트 방화벽 친화적
  • 제어 포트 21, 데이터 포트 20(Active) 또는 서버가 알려준 1024 이상(Passive)
종류 특징
FTP ID/PW, TCP, 평문
tFTP 인증 없음, UDP 69
sFTP SSH 기반 (22)
FTPS FTP + TLS

 

취약점과 보안 설정

  • 취약점: 평문 전송(스니핑), Bounce Attack(PORT 명령을 악용해 FTP 서버를 경유한 스캔·공격), Anonymous FTP, Brute Force, tFTP 무인증
  • 보안 설정: /etc/ftpusers(접속 차단 계정, root 등), anonymous_enable=NO(vsftpd), 사용자 셸 /sbin/nologin, 로그 xferlog, 가능하면 sFTP/FTPS
  • xferlog 예: ... /home/aa.txt a _ i r test ftp 0 * c → 마지막 c(complete) = 전송 성공
⚠️ 방화벽 문제의 핵심: Active는 서버가 클라이언트로 접속한다
⚠️ Bounce = PORT 명령 악용

4. 파일서버 · FTP 디렉터리 권한 ⭐⭐⭐

윈도우 서버 FTP 디렉터리 접근권한 미흡 시 위협 2가지 (32회 13번, 서술)

① 권한 없는 사용자가 중요 파일을 열람·유출·변조·삭제 (기밀성·무결성 침해)
② 악성 파일(웹쉘·악성코드) 업로드로 서버 장악, 악성코드 유포 경유지화 (무결성·가용성 침해)

 

양호 기준: FTP 홈 디렉터리에서 Everyone 권한 제거, 사용자별 접근 가능한 폴더 분리, 익명 접속 차단, 쓰기 권한 최소화.

공유 폴더 개선 4가지(기본 공유 제거 / Everyone 제거 / 필요한 계정에만 읽기·변경 / 공유 암호 설정)와 net session 명령은 03편에서 다뤘습니다.


5. DB 보안 ⭐⭐

통제 · 위협

  • 보안 통제: 접근 통제(뷰·권한) · 추론 통제 · 흐름 통제
  • 위협: 집합(Aggregation) — 낮은 등급 정보를 모아 높은 등급 정보를 알아냄 / 추론(Inference) — 공개 정보로 기밀을 유추
  • 암호화 방식: Plug-in(DB 서버에 암호화 모듈) · API(애플리케이션이 암호화 API 호출)

 

데이터 마스킹 (30회 5번) ⭐⭐⭐

구분 시점 원본
정적 마스킹 (SDM) 운영 데이터를 비운영 환경으로 복사하기 전 가짜 값으로 영구 치환 비운영 환경의 저장 값이 변환됨
동적 마스킹 (DDM) 조회 시점에 권한에 따라 실시간 마스킹 원본 불변
30회 5번 정답: (A) 정적 데이터 마스킹 (SDM)  (B) 동적 데이터 마스킹 (DDM)

 

Oracle DB 감사 (28회 17번) ⭐⭐

audit_file_dest      = OS 수준 감사 로그 파일이 저장될 디렉터리 경로
audit_sys_operations = FALSE → SYS/SYSDBA 작업이 감사되지 않음 (보안 강화를 위해 TRUE 권장)
audit_trail          = (공백/NONE) → 표준 감사 기능이 비활성화된 상태

(2) 감사 로그를 SYS.AUD$ 테이블에 저장:
    ALTER SYSTEM SET AUDIT_TRAIL = DB SCOPE = SPFILE;   (DB, EXTENDED 로 SQL 문까지 기록 가능)
    SHUTDOWN IMMEDIATE; STARTUP;   ← audit_trail은 정적 파라미터라 재시작 필요

(3) 외부(OS/별도 로그 서버)에 저장을 권장하는 이유:
    ① DBA/침입자가 DB 내부 테이블의 감사 기록을 수정·삭제할 수 있어 무결성 확보를 위해
    ② SYS.AUD$ 누적으로 SYSTEM 테이블스페이스 용량·성능 문제 방지
    ③ DB 장애 시에도 감사 로그를 보존해 사고 분석 가능

 

백업 방식

방식 기준점
전체 전체 데이터
차등 마지막 전체 백업 이후 변경분
증분 마지막 백업(전체 또는 증분) 이후 변경분

단답 키워드 표 ⭐⭐⭐

질문 답
BIND 기본 설정 파일 named.conf
클라이언트 네임서버 지정 파일 resolv.conf
2차 DNS에게만 Zone 전송 허용 allow-transfer
재귀 질의 제한 설정 recursion no (allow-recursion)
DNS 응답에 전자서명 DNSSEC
응답 캐시 유지 기간 TTL
메일 송신 / 수신 / 서버 보관 프로토콜 SMTP / POP3 / IMAP
분산 신뢰망 / 중앙 CA 메일 보안 PGP / PEM
발신 IP를 DNS에 등록하는 스팸 대응 SPF
서명 + DNS 공개키 게시 DKIM
릴레이 제한 sendmail 파일 3종 sendmail.cf → access → access.db
FTP 접속 차단 계정 파일 /etc/ftpusers
FTP 제어 / 데이터 포트 21 / 20
인증 없는 UDP 69 파일 전송 tFTP
복사 전 치환 / 조회 시 실시간 마스킹 정적(SDM) / 동적(DDM)

서술형 답안 구조 ⭐⭐⭐

DNS Zone Transfer 위험과 대응

정의: Master → Slave로 Zone 데이터를 전체 복제하는 기능 (AXFR)
위험: 모든 호스트에 허용하면 호스트명·IP·내부 구조 노출 → 이후 공격의 사전 정보
대응: named.conf allow-transfer { 2차 DNS IP; };  (또는 none), 동적 업데이트 해제, 재귀 제한

 

FTP 디렉터리 권한 미흡 위협

① 정보 유출·변조·삭제 (권한 없는 사용자 접근)
② 악성 파일 업로드로 서버 장악·악성코드 유포 경유지화
대응: Everyone 제거, 익명 접속 차단, 사용자별 폴더 분리, 쓰기 최소화

 

오픈 릴레이

정의: 인증 없이 외부 → 외부 메일 중계 허용
위험: 스팸 경유지, IP 블랙리스트 등재
대응: sendmail.cf FEATURE(access_db) → /etc/mail/access (RELAY/REJECT) → makemap으로 access.db 생성

⚠️ 함정 모음

⚠️ named.conf(서버 Zone 설정) ≠ resolv.conf(클라이언트 네임서버 지정)
⚠️ allow-transfer는 2차 DNS IP만. any로 두면 안 됨
⚠️ SPF = IP 등록 / DKIM = 서명 + 공개키 DNS 게시
⚠️ PGP = 분산 신뢰망 / PEM = 중앙 CA
⚠️ Active FTP: 서버가 클라이언트로 접속 → 클라이언트 방화벽에 막힘
⚠️ 정적 마스킹은 복사 전 치환, 동적 마스킹은 조회 시점 (원본 불변)
⚠️ 차등 백업은 마지막 "전체" 기준, 증분은 직전 "백업" 기준

기출 Q&A

Q. (32회 1번) (1) DNS 서버의 기본설정 파일로 Zone 설정을 관리하는 파일, (2) 네임서버 설정과 도메인 검색 규칙을 지정하는 파일은?

A. (1) named.conf (2) resolv.conf

 

Q. (31회 9번) 스팸 메일 릴레이 제한 설정에서 ( 1 )~( 3 )에 들어갈 파일명은?

A. (1) sendmail.cf (2) access (3) access.db

 

Q. (30회 5번) 운영 데이터를 비운영 환경에 복사하기 전 가짜 정보로 대체하는 기술 (A)와 운영 서버에 접근할 때 실시간으로 마스킹하는 기술 (B)는?

A. (A) 정적 데이터 마스킹 (B) 동적 데이터 마스킹


💡 실무에서는?

20년 인프라/보안 SI 경험에서 서비스 점검은 "필요한 서비스만 켜고, 필요한 상대에게만 열어 둔다"는 한 줄로 요약됩니다.

 

DNS는 내부용과 외부용을 분리하고 외부용은 재귀를 끄는 구성이 기본이에요.

 

메일은 SPF·DKIM·DMARC를 모두 설정해야 수신 측에서 정상 메일이 스팸으로 분류되지 않고, DB는 DBA 권한이 너무 넓게 열려 있는 경우가 점검에서 자주 지적됩니다.

 

감사 로그를 DB 안에만 두면 관리자 권한으로 지울 수 있기 때문에 별도 서버 전송이 28회 17번의 답과 같은 이유로 권장됩니다.


핵심 정리

✅ DNS: named.conf(Zone 설정) / resolv.conf(네임서버 지정), allow-transfer는 2차 DNS만, 재귀 제한, DNSSEC
✅ 메일: SMTP 25 / POP3 110 / IMAP 143, PGP(신뢰망) · PEM(중앙 CA) · S/MIME(PKI)
✅ 스팸: RBL · SPF(IP) · DKIM(서명) · DMARC, 릴레이 제한 sendmail.cf → access → access.db
✅ FTP: 제어 21 / 데이터 20, Active(서버→클라) vs Passive(클라→서버), ftpusers, Bounce = PORT 악용
✅ FTP 디렉터리 권한 미흡 위협: 정보 유출·변조 + 악성 파일 업로드
✅ DB: 정적 마스킹(복사 전) vs 동적 마스킹(조회 시), 감사 로그는 외부 저장, 차등 vs 증분

 

📌 참고: 2027년 출제기준 개편에서 실기 1-3에 REST API 서비스 보안(OWASP API Security Top 10 등)이 신설되고 DNS·DB·전자서명 항목 번호가 한 칸씩 밀립니다. 이번 11/14 시험은 현행 기준이에요.

 

다음 편에서는 웹 공격·시큐어코딩·웹로그 판독으로 이어갑니다!

 

궁금한 점은 댓글로 남겨주세요!

 

2026.10.27 - [자격증 정복/정보보안(산업)기사] - 정보보안기사 실기 재도전 01 — 소개·재도전 전략·출제 맵 (46점에서 합격으로)

 

정보보안기사 실기 재도전 01 — 소개·재도전 전략·출제 맵 (46점에서 합격으로)

정보보안기사 실기 재도전 01 — 소개·재도전 전략·출제 맵 (46점에서 합격으로)출제기준 주요항목 전체: 1. 시스템·네트워크 보안특성 / 2. 취약점 점검·보완 / 3. 보안관제·대응 / 4. 위험분석·

tech.seanney.pe.kr

 

반응형
개인정보처리방침  |  블로그 소개