정보보안기사 | 데몬별 핵심 보안 설정 항목 총정리 (3/4)

정보보안기사 | 데몬별 핵심 보안 설정 항목 총정리 (3/4)

🛡️ 정보보안기사 | 데몬별 핵심 보안 설정 항목 총정리 (3/4)

SSH · Apache · vsftpd · DNS(BIND) · NFS · Samba · rsync
“이 설정의 문제점을 쓰시오” 유형에 3초 안에 대응하는 즉답 훈련표 포함

#sshd_config #httpd.conf #vsftpd #named.conf #exports #PermitRootLogin #정보보안기사실기

📋 목차

  • 1. 시험 출제 3가지 패턴
  • 2. SSH — sshd_config 보안 설정
  • 3. Apache — httpd.conf 보안 설정
  • 4. vsftpd — vsftpd.conf 보안 설정
  • 5. DNS (BIND) — named.conf 보안 설정
  • 6. NFS — /etc/exports 보안 설정
  • 7. Samba · rsync 보안 설정
  • 8. 즉답 훈련표 — “설정값 → 위험” 3초 매핑
  • 9. 최종 정리: 데몬별 경로 + 최다출제 항목

1. 시험에서 데몬 설정이 나오는 3가지 패턴

유형 A
문제점 + 조치
위험한 설정을 보여주고 “뭐가 잘못이며 어떻게 고치는가”
유형 B
빈칸 채우기
설정 항목명 자체를 정확히 기억해야 하는 유형
유형 C
파일 경로
설정 파일의 풀 경로를 쓰게 하는 유형

2. SSH — /etc/ssh/sshd_config

💡 가장 자주 출제되는 데몬

원격 접속의 기본이면서 보안 설정 항목이 많아, 정보보안기사에서 출제 빈도 1위입니다.

설정 항목권장값의미빈도
PermitRootLoginnoroot 직접 로그인 차단. yes면 brute force 표적.★★★ 최다
PasswordAuthenticationno패스워드 인증 비활성화. 공개키 인증만 허용.★★★
Protocol2SSH v1은 MITM 취약. 반드시 2만 사용.★★★
Port비표준기본 22 → 다른 포트. 자동화 공격 회피.★★☆
MaxAuthTries3~5최대 인증 시도 횟수. brute force 방어.★★☆
LoginGraceTime60로그인 대기 시간(초). 미인증 시 연결 종료.★★☆
AllowUsers / DenyUsers지정사용자별 접근 제어.★★☆
PermitEmptyPasswordsno빈 패스워드 허용 여부. 반드시 no.★★☆
출제예시 다음 sshd_config의 보안 문제점을 찾고 조치 방안을 쓰시오.
PermitRootLogin yes
Protocol 1
PasswordAuthentication yes
PermitEmptyPasswords yes
→ 4가지 모두 보안 취약: • PermitRootLogin yes → no (root 직접 로그인 차단)
• Protocol 1 → 2 (v1은 MITM 취약)
• PasswordAuthentication yes → no (공개키 인증 사용)
• PermitEmptyPasswords yes → no (빈 패스워드 차단)

3. Apache — /etc/httpd/conf/httpd.conf

설정 항목권장값의미빈도
ServerTokensProd서버 버전 노출 수준. Full이면 OS/모듈 전부 노출.★★★ 단골
ServerSignatureOff에러 페이지에 서버 정보 표시 여부.★★☆
Options -Indexes-Indexes디렉토리 리스팅 차단. Indexes면 파일 목록 노출.★★★ 단골
AllowOverrideNone.htaccess 사용 제한.★★☆
TraceEnableOffTRACE 메소드 비활성화. XST 방어.★★☆
Timeout낮게연결 타임아웃(초). Slowloris 공격 방어.★★☆
📋 ServerTokens 값별 노출 수준

ProdServer: Apache (최소, 권장)

MajorServer: Apache/2

FullServer: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k PHP/5.4.16 (위험)


4. vsftpd — /etc/vsftpd/vsftpd.conf

설정 항목권장값의미빈도
anonymous_enableNO익명 FTP 접속 차단. YES면 누구나 접속.★★★ 단골
chroot_local_userYES사용자를 홈 디렉토리에 가둠 (chroot jail).★★★ 서술형
xferlog_enableYES파일 전송 로그 기록.★★☆
ftpd_banner커스텀시스템 정보 노출 방지용 배너.★☆☆
userlist_enableYES사용자 리스트 기반 제어. userlist_deny와 조합.★★☆
📝 chroot_local_user 서술형 대비

chroot_local_user=YES로 설정하면, FTP 로그인 사용자가 자신의 홈 디렉토리 상위로 이동 불가. cd ..를 해도 올라갈 수 없음. 이것을 chroot jail(감옥)이라 하며, 시스템의 다른 디렉토리 탐색을 원천 차단합니다.


5. DNS (BIND) — /etc/named.conf

설정 항목권장값의미빈도
allow-transfer{ none; } 또는 보조DNS존 전송 제한. 무제한이면 DNS 레코드 전체 유출.★★★ 단골
recursionno (권위 DNS)재귀 질의 비활성화. 캐시 포이즈닝 방어.★★★ 서술형
version“none”BIND 버전 숨김. fingerprinting 방지.★★☆
allow-query내부 네트워크질의 허용 범위 한정.★★☆
dnssec-enableyesDNS 응답 위변조 방지.★★☆
출제예시 다음 named.conf의 보안 문제점과 조치를 쓰시오.
options {
    allow-transfer { any; };
    recursion yes;
};
→ allow-transfer { any; } : 누구나 존 전송 가능 → 내부 네트워크 구조 노출 → recursion yes : 외부 재귀 질의 가능 → 캐시 포이즈닝·DNS 증폭 DDoS 악용
조치: allow-transfer { 보조DNS_IP; }; / recursion no; 또는 allow-recursion { 내부대역; };

6. NFS — /etc/exports

/share   192.168.1.0/24(ro,root_squash)
/data    10.10.10.5(rw,no_root_squash)    ← 위험!
안전
root_squash (기본값)
클라이언트의 root(UID=0) → 서버에서 nfsnobody로 매핑. root 권한으로 서버 파일 조작 불가.
위험
no_root_squash
클라이언트의 root → 서버에서도 root로 동작. 서버의 모든 파일을 읽고 쓸 수 있음.
관련 명령어의미
exportfs -a/etc/exports 변경사항 즉시 적용
exportfs -v현재 공유 목록 확인
showmount -e [호스트]원격 호스트의 NFS 공유 목록 확인 (공격자 정찰에도 사용)

7. Samba · rsync 보안 설정

Samba
/etc/samba/smb.conf
핵심: hosts allow/deny(접근 제어), security = user(인증 방식), valid users = @그룹(사용자 제한), encrypt passwords = yes
rsync 데몬
/etc/rsyncd.conf
핵심: hosts allow/deny, auth users, secrets file(패스워드 파일). secrets file 권한 반드시 600. 아니면 인증 자체가 거부됨.

8. 즉답 훈련표 — “설정값 → 위험” 3초 매핑

💡 사용법

왼쪽 열의 설정을 보고 3초 안에 오른쪽 열의 위험이 떠올라야 합니다. 시험장에서 이 속도가 나와야 합격선입니다.

보이는 설정즉답: 뭐가 위험한가
PermitRootLogin yesroot 직접 로그인 → brute force 표적
Protocol 1SSH v1 → MITM 취약
Options Indexes디렉토리 리스팅 → 파일 목록 노출
ServerTokens Full서버 버전 전체 노출 → fingerprinting
anonymous_enable=YES익명 FTP → 무인가 접속
chroot_local_user=NO상위 디렉토리 이동 가능 → 시스템 탐색
allow-transfer { any; }존 전송 무제한 → DNS 레코드 전체 유출
recursion yes재귀 질의 허용 → 캐시 포이즈닝, 증폭 DDoS
no_root_squash원격 root = 서버 root → 전체 파일 조작
secrets file 권한 644패스워드 파일 노출 → 600이어야 함

9. 최종 정리: 데몬별 경로 + 최다출제 항목

데몬설정 파일 경로최다출제 항목
SSH/etc/ssh/sshd_configPermitRootLogin · Protocol
Apache/etc/httpd/conf/httpd.confServerTokens · Options -Indexes
vsftpd/etc/vsftpd/vsftpd.confanonymous_enable · chroot_local_user
DNS/etc/named.confallow-transfer · recursion
NFS/etc/exportsno_root_squash vs root_squash
Samba/etc/samba/smb.confhosts allow · security
rsync/etc/rsyncd.confsecrets file (권한 600)
🎯 3편 암기 포인트
  • SSH: PermitRootLogin no · Protocol 2 · PermitEmptyPasswords no
  • Apache: ServerTokens Prod · Options -Indexes · TraceEnable Off
  • vsftpd: anonymous_enable=NO · chroot_local_user=YES (chroot jail)
  • DNS: allow-transfer { none; } · recursion no
  • NFS: root_squash(안전) vs no_root_squash(위험)
  • rsync: secrets file 권한 반드시 600
  • 설정 파일 풀 경로 암기 필수: /etc/ssh/sshd_config, /etc/httpd/conf/httpd.conf, /etc/named.conf