043. Linux 서버 보안 — Lynis 하드닝 점검 결과 해석

changseop lee·5일 전

시스템 보안 · 취약점 › A. Linux 서버 보안 설정 · 43/50편 (전체 043/450)
학습 단계: 4단계 · 자동 점검·로그 분석
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

Lynis 는 셸 스크립트 기반의 오픈소스 보안 점검 도구입니다. 특정 기준(CIS 등)의 합격 여부를 판정하는 OpenSCAP과 달리, 시스템 전반을 훑어 경고(warning)와 개선 제안(suggestion) 을 제시하는 "건강검진" 성격이 강합니다.

비교OpenSCAPLynis
기준프로파일(CIS 등) 규칙 합격 여부자체 테스트 + 모범 사례 제안
결과pass/fail (XCCDF)Hardening index, warning, suggestion
설치패키지 + 데이터스트림단일 디렉터리 실행 가능
강점감사 대응·표준 보고빠른 전체 진단, 배포판 무관

두 도구는 경쟁이 아니라 보완 관계입니다. 기준 준수 증명은 OpenSCAP, 빠른 진단과 놓친 항목 발견은 Lynis가 적합합니다.

2. 왜 중요한가

  • 하드닝 작업 후 "놓친 곳이 없는지" 다른 관점으로 교차 확인할 수 있습니다.
  • 테스트 ID(예: SSH-7408)가 있어 결과를 항목 단위로 추적·비교할 수 있습니다.
  • Hardening index는 참고 지표일 뿐이며, 점수를 올리기 위한 무리한 설정보다 warning 해소가 우선입니다.

3. 핵심 명령어 / 설정

명령·파일용도
sudo lynis audit system전체 점검
sudo lynis show details 테스트ID특정 테스트 상세
/var/log/lynis.log상세 실행 로그
/var/log/lynis-report.dat기계 처리용 결과(key=value)
lynis show tests테스트 목록
테스트 ID 예시영역
SSH-7408SSH 세부 옵션 점검
KRNL-6000sysctl 값 점검
AUTH-9328기본 umask
ACCT-9628auditd 사용 여부

4. 실습 (실습 예시)

# Rocky: EPEL 또는 공식 저장소, Ubuntu: apt install lynis (버전이 오래될 수 있음)
sudo dnf install -y epel-release && sudo dnf install -y lynis

sudo lynis audit system --quick
sudo grep -E '^(hardening_index|warning\[\]|suggestion\[\])' /var/log/lynis-report.dat | head -20

# 결과 보관 및 비교
sudo cp /var/log/lynis-report.dat /root/baseline/lynis-$(date +%F).dat
diff <(grep -E '^warning' /root/baseline/lynis-2026-09-15.dat) \
     <(grep -E '^warning' /root/baseline/lynis-2026-10-01.dat)

--quick은 중간 확인 입력 없이 실행합니다. 저장소 버전이 오래되었다면 공식 배포본(CISOfy) 최신 버전 사용을 검토합니다.

5. 정상 상태

  Lynis security scan details:
  Hardening index : 78 [###############     ]
  Tests performed : 262
  Warnings        : 0
$ grep -E '^suggestion' /var/log/lynis-report.dat | head -3
suggestion[]=SSH-7408|Consider hardening SSH configuration|AllowTcpForwarding (set YES to NO)|-|
suggestion[]=KRNL-6000|One or more sysctl values differ from the scan profile and could be tweaked|-|-|

수치는 예시입니다. Warning 0, suggestion은 검토 후 적용 또는 예외 사유 기록이 된 상태가 정상입니다.

6. 이상 상태

  Hardening index : 61 [############        ]
  Warnings        : 3
$ diff (이전 warning) (현재 warning)
> warning[]=AUTH-9204|Found one or more users with UID 0 (root) other than root|sysbak|-|
> warning[]=FIRE-4512|iptables module(s) loaded, but no rules active|-|-|
> warning[]=LOGG-2190|Found deleted files in use|-|-|
warning의미
UID 0 계정 추가003편 백도어 계정과 동일 신호
방화벽 규칙 없음039편 방화벽 중지와 연결
삭제된 파일 사용 중실행 후 삭제된 바이너리 → F영역(비정상 프로세스)에서 상세 분석

점수 하락(78→61)보다 새로 생긴 warning 3건이 분석의 출발점입니다. (테스트 ID·메시지는 Lynis 버전에 따라 다를 수 있습니다.)

7. 로그 분석 (분석 방법)

Lynis 결과 파일은 key=value 구조라 SIEM 연동이 쉽습니다(분석 방법 예시).

[/var/log/lynis-report.dat 일부]
report_datetime_start=2026-10-01 05:30:02
hardening_index=61
warning[]=AUTH-9204|Found one or more users with UID 0 (root) other than root|sysbak|-|
warning[]=LOGG-2190|Found deleted files in use|-|-|

[SIEM 전송용 변환 예시 — logger로 한 줄씩]
lynis: host=rocky9-web01 type=warning test=AUTH-9204 detail=sysbak
lynis: host=rocky9-web01 type=index value=61 prev=78

필드 구분자가 |이므로 cut -d'|' -f1로 테스트 ID를 뽑아 이전 결과와 집합 비교하면 신규 항목만 쉽게 찾을 수 있습니다.

8. SOC 관제 포인트

  • Lynis는 정기 실행 + 신규 warning 알림 방식으로 운영합니다.
  • 점수는 추세 지표로만 쓰고, warning 테스트 ID별로 담당·조치 상태를 관리합니다.
  • 다른 점검(OpenSCAP, SCA)과 결과가 겹치는 항목은 교차 확인된 고신뢰 이상 징후로 봅니다.

9. 탐지 규칙

<rule id="100480" level="10">
  <match>lynis: </match>
  <regex>type=warning test=AUTH-9204|type=warning test=LOGG-2190</regex>
  <description>Lynis 고위험 warning: UID 0 추가 또는 삭제된 파일 사용 중</description>
</rule>

Lynis 자체가 상시 감시 도구는 아니므로, 실시간성이 필요한 항목(UID 0, 방화벽 중지)은 앞선 편의 auditd·FIM 룰로 잡고 Lynis는 정기 교차 검증 역할을 맡깁니다.

10. 대응 방법

  1. 초기 확인 — 신규 warning 테스트 ID와 상세 내용(lynis show details)을 확인합니다.
  2. 범위 확인 — 같은 warning이 다른 서버·다른 점검 도구 결과에도 있는지 교차 확인합니다.
  3. 증거 확보 — lynis-report.dat, lynis.log 원본을 날짜별로 보존합니다.
  4. 차단/조치 — warning 원인을 조치하거나 사고 분석 절차(UID 0, 삭제된 실행 파일)로 전환합니다.
  5. 재발 방지 — 정기 실행과 신규 warning 비교, 점검 도구 간 교차 검증을 운영합니다.

11. 핵심 정리

구분핵심 내용
성격기준 합격 판정(OpenSCAP)보다 전반 진단·개선 제안
결과Hardening index · warning · suggestion · 테스트 ID
결과 파일/var/log/lynis-report.dat (key=value, | 구분)
운영점수보다 신규 warning, 다른 점검과 교차 확인
면접 포인트"점수 하락이 아니라 새로 생긴 warning이 분석의 출발점"

12. 다음 편 예고

다음 편 044. Linux 서버 보안 — 자체 점검 스크립트 설계와 결과 표준화 에서는 여러 도구의 결과를 하나의 형식으로 모으는 자체 점검 스크립트 설계와 결과 표준화를 다룹니다.


이전 편: 042. Linux 서버 보안 — OpenSCAP 자동 점검과 결과 해석
📚 시리즈 전체 보기: 시스템 보안 · 취약점

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글