프로젝트 소개

Linux Hardener는 Rust로 작성된 Linux 시스템용 포괄적인 보안 자동화 도구입니다. 호스트에서 보안 설정 오류를 스캔하고 강화 수정을 적용하며, 서명된 체크포인트를 통한 완전한 롤백을 지원합니다. 모든 변경 사항은 적용 전에 스냅샷되므로 `hardener rollback`은 호스트를 이전 상태로 복원합니다. 이 도구는 단일 CLI 바이너리와 Tauri 및 Leptos/WASM 프런트엔드로 구축된 데스크톱 애플리케이션으로 제공됩니다. 8개의 강화 플러그인이 커널 매개변수, SSH 구성, 방화벽 규칙, PAM 인증, 서비스 최소화, 감사 규칙, 파일 권한, MAC 시스템(SELinux/AppArmor)을 다룹니다. 발견 사항은 CIS, STIG, NIST 800-53, PCI-DSS, HIPAA, GDPR, ISO/IEC 27001:2022, SOC 2, NIST SP 800-171 Rev 3, FedRAMP의 10가지 규정 준수 프레임워크에 매핑됩니다. 엔진이 평가할 수 없는 컨트롤은 통과된 것으로 간주하지 않고 수동 검토가 필요하다고 보고합니다. 배포판 지원은 계열 기반으로 Debian, Ubuntu, Fedora, RHEL, Arch Linux, openSUSE를 포함합니다. 이 도구는 openSUSE에서 `/etc` 및 `/usr/etc` 레이어를 모두 읽고, 공급업체의 `Include` 줄을 보존하기 위해 SSH 드롭인 구성을 처리합니다. `FROM scratch` 베이스의 Docker 이미지는 호스트 수정 없이 읽기 전용 감사를 가능하게 합니다. 주요 기능은 다음과 같습니다: Ed25519 서명 SQLite 저장소를 통한 체크포인트 기반 롤백, 해시 체인 감사 로그, 만료 날짜가 있는 정책 예외, 적용 불가능한 컨트롤에 대한 범위 제외, 데몬 또는 systemd 타이머를 통한 예약 스캔, SSH를 통한 플릿 운영 및 동시 배치 스캔/적용. 데스크톱 애플리케이션은 보안 점수, 프레임워크별 규정 준수 보기, 심각도별로 그룹화된 발견 사항, 단계별 미리보기가 포함된 플릿 적용 인터페이스를 갖춘 대시보드를 제공합니다. 구성은 다음 네 가지 소스에서 순서대로 로드됩니다: `/etc/linux-hardener/config.toml`, 사용자 구성(루트 아래에서 건너뜀), `--config` 플래그, `HARDENER_*` 환경 변수. 이 도구는 `scan`(읽기 전용, 루트 불필요), `apply --dry-run`(변경 미리보기), `apply`(변경 실행)을 구분합니다. 배치 작업은 기본적으로 드라이런이며 변경하려면 `--execute`가 필요합니다. 이 프로젝트에는 2343개의 통과 테스트, 6개의 부팅된 컨테이너에서 적용 및 롤백을 수행하는 교차 배포판 테스트 스위트, 독립적인 오라클을 통해 적용 전후 호스트를 비교하는 차등 테스트 스위트가 포함됩니다. 코드베이스는 플러그인, 규정 준수, 스케줄러, 코어, 상태, 배포판 감지를 위한 도메인 크레이트와 공통 유틸리티 및 WASM 안전 유형을 위한 공유 기반 크레이트로 구성됩니다.