Lynis – 시스템 보안 점검 도구
1. Lynis란 무엇인가요?
Lynis는 CISOfy에서 개발한 오픈소스 보안 감사 및 시스템 경화 도구입니다. Linux, macOS, BSD, AIX 등 다양한 Unix 계열 시스템에서 실행되며, 시스템의 보안 취약점, 미흡한 설정, 규정 준수 여부를 종합적으로 진단해 줍니다.
💡 Lynis의 주요 특징
- 에이전트리스(Agentless) 방식: 별도의 무거운 에이전트 설치 없이 셸 스크립트 기반으로 가볍고 빠르게 동작합니다.
- 비파괴 검사(Non-destructive): 시스템 설정을 임의로 변경하지 않고 단순 진단만 수행하므로 가동 중인 운영 서버에서도 안전하게 사용할 수 있습니다.
- 수백 가지의 검사 항목: 커널 설정부터 파일 권한, 네트워크, 웹 서버, 인증 정책까지 시스템 전반을 정밀 스캔합니다.
- 구체적인 개선 가이드 제공: 발견된 문제점에 대해 구체적인 수용 대책과 공식 문서 링크(URL)를 제공합니다.
2. 주요 점검 영역
Lynis는 시스템을 실행할 때 아래와 같은 주요 카테고리를 순차적으로 점검합니다.
- 시스템 인증 및 계정: 비밀번호 정책, Sudo 권한, PAM 설정, 미사용 계정 등
- 부팅 및 커널: GRUB 부트로더 설정, 커널 파라미터(
sysctl), 로드된 모듈 점검 - 네트워크 & 방화벽: 오픈된 포트,
iptables/nftables/ufw설정, DNS 보안 - 주요 서비스: SSH, Nginx/Apache, MySQL/PostgreSQL, Mail 서버 보안 설정
- 파일 시스템 & 권한: SUID/SGID 파일 점검, 탭 설정, 마운트 옵션(
noexec,nosuid) - 로그 및 감사:
rsyslog,auditd설정 여부 및 로그 파일 권한
3. Lynis 설치하기
각 OS 패키지 관리자를 통해 간단히 설치할 수 있습니다.
Ubuntu / Debian
sudo apt update
sudo apt install lynis -y
최신 버전으로 업데이트
wget -O - https://packages.cisofy.com/keys/cisofy-software-public.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/cisofy-software-public.gpg
echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
sudo apt update
sudo apt install lynis
# 업데이트 확인
lynis show version
CentOS / RHEL / Rocky Linux
sudo dnf install epel-release -y
sudo dnf install lynis -y
Tip! 더 최신 버전의 Lynis를 사용하고 싶다면 CISOfy 공식 Git 저장소를 clone 받아서 실행할 수도 있습니다.
git clone https://github.com/CISOfy/lynis cd lynis ./lynis audit system
4. Lynis 실행 및 결과 분석
전체 시스템 진단 명령어
가장 기본이 되는 시스템 스캔 명령어입니다.
sudo lynis audit system
명령어를 실행하면 터미널 상에서 각 항목별로 [ OK ], [ WARNING ], [ SUGGESTION ] 등의 결과가 실시간으로 출력됩니다.
진단 결과 종합 리포트 확인
스캔이 종료되면 맨 마지막에 Hardening Index(보안 경화 지수)와 함께 결과 요약이 표시됩니다.
================================================================================
-[ Lynis 3.x.x Results ]-
Great, no warnings found.
Suggestions (28):
----------------------------
* Consider hardening SSH configuration [SSH-7408]
- Details : PermitRootLogin (YES)
- Solution : Set PermitRootLogin to 'no' or 'prohibit-password'
- Text : https://cisofy.com/lynis/controls/SSH-7408/
Hardening index : 68 [================== ]
Tests performed : 250+
Plugins enabled : 0
================================================================================
- Hardening Index: 시스템의 보안 안전성을 나타내는 점수(100점 만점)입니다. 보통 70~80점 이상을 목표로 설정하는 것을 권장합니다.
- WARNING (경고): 즉시 해결해야 하는 심각한 보안 위험 요소입니다.
- SUGGESTION (제안): 보안을 한 단계 더 강화하기 위해 권장되는 설정 변경 사항입니다.
세부 로그 파일 위치
- 전체 상세 실행 로그:
/var/log/lynis.log - 점검 결과 데이터 리포트:
/var/log/lynis-report.dat
5. 자주 지적되는 보안 항목 개선 팁
Lynis 스캔 후 보안 점수(Hardening Index)를 올리기 위한 대표적인 개선 작업은 다음과 같습니다.
1) SSH 접속 보안 강화 (/etc/ssh/sshd_config)
- Root 직접 로그인 비활성화:
PermitRootLogin no - 비밀번호 인증 대신 Key 기반 인증 사용:
PasswordAuthentication no - SSH 기본 포트 변경:
Port 2222(예시)
2) 커널 파라미터 경화 (/etc/sysctl.conf)
네트워크 스푸핑 및 DoS 공격 방지를 위해 커널 설정을 강화합니다.
# IP 포워딩 비활성화 (라우터 용도가 아닌 경우)
net.ipv4.ip_forward = 0
# ICMP Redirect 패킷 무시
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# SYN Flood 공격 방어
net.ipv4.tcp_syncookies = 1
수정 후 적용: sudo sysctl -p
3) 감사 도구(auditd) 설치
시스템 내부 동작을 기록하는 auditd 패키지를 설치하면 보안 지수가 대폭 상승합니다.
sudo apt install auditd # Ubuntu/Debian
sudo dnf install audit # RHEL/Rocky
6. 결론 및 요약
Lynis는 정기적인 서버 보안 점검을 자동화하고 보안 표준 가이드를 반영하는 데 필수적인 오픈소스 솔루션입니다.
운영 중인 서버가 있다면 지금 바로 lynis audit system 명령어를 통해 보안 점수를 측정해 보고, 제공되는 Suggestion 가이드를 하나씩 적용해 보시길 권장합니다!
- 관련 참고 링크: CISOfy 공식 Lynis 홈페이지