
Lynis是一款Unix系統(tǒng)的安全審計以及加固工具,能夠進行深層次的安全掃描,其目的是檢測潛在的時間并對未來的系統(tǒng)加固提供建議。這款軟件會掃描一般系統(tǒng)信息,脆弱軟件包以及潛在的錯誤配置。掃描完成后,Lynis還會為我們生成一份包含所有掃描結(jié)果的安全報告。
Lynis是Unix/Linux系統(tǒng)用于軟件補丁管理,惡意軟件掃描和漏洞檢測的最值得信賴的自動化審計工具之一。此工具非常適合于安全審計人員,網(wǎng)絡安全專家,滲透測試人員,網(wǎng)絡和系統(tǒng)管理人員以及安全工程師使用。
與Lynis兼容的操作系統(tǒng)包括:
AIX
Arch Linux
BackTrack Linux
CentOS
Debian, DragonFlyBSD
Fedora Core, FreeBSD
Gentoo
HPUX
Kali, Knoppix
Linux Mint
MacOS X, Mageia, Mandriva
NetBSD
OpenBSD, OpenSolaris, openSUSE, Oracle Linux
PcBSD, PCLinuxOS
Red Hat Enterprise Linux (RHEL) and derivatives
Sabayon, Scientific Linux, Slackware, Solaris 10, SuSE
TrueOS
Ubuntu and derivatives
Lynis也可以被用于軟件審計
Database servers: MySQL, Oracle, PostgreSQL
Time daemons: dntpd, ntpd, timed
Web servers: Apache, Nginx
一旦lynis開始掃描你的系統(tǒng),它將執(zhí)行多個類別的審計:
系統(tǒng)工具:系統(tǒng)二進制文件
啟動和服務:啟動加載程序,啟動服務
內(nèi)核:運行級別,加載模塊,內(nèi)核配置,核心轉(zhuǎn)儲
內(nèi)存和進程:僵尸進程,IO等待進程
用戶,組和身份驗證:組ID,sudoers,PAM配置,password aging,默認掩碼
Shells
文件系統(tǒng):掛載點,/tmp文件, root文件系統(tǒng)
存儲:usb-storage,firewire ohci
NFS
軟件:名稱服務:DNS搜索域,BIND
端口和軟件包:易受攻擊/可升級軟件包,安全存儲庫
網(wǎng)絡:名稱服務器,混雜接口(promiscuous interfaces),連接
打印機和spools: cups配置
軟件:電子郵件和消息
軟件:防火墻:iptables,pf
軟件:webserver:Apache,nginx
SSH支持:SSH配置
SNMP支持
數(shù)據(jù)庫:MySQL root密碼
LDAP服務
軟件:php:php選項
Squid支持
日志記錄和文件:Syslog daemon,日志目錄
不安全服務:inetd
Banners和標識
計劃任務:crontab/cronjob,atd
Accounting:sysstat數(shù)據(jù),auditd
時間和同步:ntp daemon
加密:SSL證書過期
虛擬化
安全框架:AppArmor,SELinux,安全狀態(tài)
軟件:文件完整性
軟件:惡意軟件掃描器
主目錄:shell歷史文件
第一次運行Lynis建議使用-c參數(shù),-c表示對系統(tǒng)進行最全面的檢查。如果你想要添加審計員的名字,可以使用–auditor參數(shù)。
從GitHub下載和安裝Lynis。
git clone https://github.com/CISOfy/lynis
$ cd lynis-1.3.8
# ./lynis
使用示例:
# lynis -c –auditor “BALAJI”
圖1.初始化

圖2.系統(tǒng)工具

圖3. Boot&Services和Kernel

圖4.用戶和組

圖5.Shell和存儲

圖6.軟件,端口和軟件包

圖7.網(wǎng)絡和打印機

圖8.電子郵件,防火墻和Web服務器

圖9. SSH,SNMP和數(shù)據(jù)庫

圖10. PHP,Squid代理和日志記錄

圖11. Inetd,Banner和Cron

圖12.Accounting,NTP和密碼學

圖13.虛擬化,安全框架和文件完整性

圖14.惡意軟件掃描程序,系統(tǒng)工具和主目錄

圖15.內(nèi)核加固

圖16.加固,自定義測試和結(jié)果

圖17.index加固

自定義測試
你的當前測試的系統(tǒng)可能并不需要對所有內(nèi)容進行測試,例如你的系統(tǒng)并沒有運行Web服務器,那么我們可以使用-tests參數(shù),語法如下:
# lynis –tests “Test-IDs”
有超過100個我們可以做的測試。以下是Lynis Tests-ID的部分列表。
FILE-7502 (檢查系統(tǒng)所有的二進制文件)
BOOT-5121 (GRUB boot loader存在檢查).
BOOT-5139 (LILO boot loader存在檢查)
BOOT-5142 (檢查SPARC Improved boot loader (SILO))
BOOT-5155 (檢查YABOOT boot loader配置文件)
BOOT-5159 (OpenBSD i386 boot loader存在檢查)
BOOT-5165 (檢查FreeBSD boot services)
BOOT-5177 (檢查Linux boot和正在運行的services)
BOOT-5180 (檢查Linux boot services (Debian style))
BOOT-5184 (檢查引導文件/腳本的權限)
BOOT-5202 (檢查系統(tǒng)的正常運行時間)
KRNL-5677 (檢查CPU選項和支持)
KRNL-5695 (確定Linux內(nèi)核版本和版本號)
KRNL-5723 (確定Linux內(nèi)核是否為單內(nèi)核)
KRNL-5726 (檢查Linux加載的內(nèi)核模塊)
KRNL-5728 (檢查Linux內(nèi)核配置)
KRNL-5745 (檢查FreeBSD加載的內(nèi)核模塊)
KRNL-5770 (檢查活動內(nèi)核模塊)
KRNL-5788 (檢查新內(nèi)核的可用性)
KRNL-5820 (檢查核心轉(zhuǎn)儲配置)
以下是運行“檢查系統(tǒng)正常運行時間”和“檢查核心轉(zhuǎn)儲配置”測試的命令示例。
# ./lynis –tests “BOOT-5202 KRNL-5820”

想要獲得更多Tests-ID,可以在/var/log/lynis.log中找到。這里有一個竅門。
1.首先,我們使用-c (check-all)參數(shù)運行l(wèi)ynis。
# ./lynis -c -Q
2.然后看看/var/log/lynis.log文件。使用cat命令并與grep結(jié)合使用。假設你想搜索與Kernel相關的Test-ID。則可以使用關鍵字KRNL找到它。
# cat /var/log/lynis.log | grep KRNL

以下是Lynis提供的完整的Test-ID關鍵字。
BOOT KRNL (kernel) PROC (processor) AUTH (authentication) SHLL (shell) FILE STRG (storage) NAME (dns) PKGS (packaging) NETW (network) PRNT (printer) MAIL FIRE (firewall) HTTP (webserver) SSH SNMP DBS (database) PHP LDAP SQD (squid proxy) LOGG (logging) INSE (insecure services – inetd) SCHD (scheduling – cron job) ACCT (accounting) TIME (time protocol – NTP) CRYP (cryptography) VIRT (virtualization) MACF (AppArmor – SELINUX) MALW (malware) HOME HRDN (hardening)
如果你覺得輸入Test-ID是件非常麻煩的事,那么你可以使用-test-category參數(shù)。使用該選項,Lynis將運行包含在特定類別內(nèi)的Test-ID。例如,你想運行防火墻和內(nèi)核測試。你可以輸入以下命令:
# ./lynis –tests-category “firewalls kernel”

將Lynis作為Cronjob運行
除了以上的方便之外,我們還可以將Lynis作為Cronjob定期自動運行。以下是每月運行一次的示例:
#!/bin/sh
AUDITOR=”automated”
DATE=$(date +%Y%m%d)
HOST=$(hostname)
LOG_DIR=”/var/log/lynis”
REPORT=”$LOG_DIR/report-${HOST}.${DATE}”
DATA=”$LOG_DIR/report-data-${HOST}.${DATE}.txt”
cd /usr/local/lynis
./lynis -c –auditor “${AUDITOR}” –cronjob > ${REPORT}
mv /var/log/lynis-report.dat ${DATA}
# End
將腳本保存到/etc/cron.monthly/lynis。還有千萬不要忘記添加相關路徑(/usr/local/lynis和/var/log/lynis),否則腳本將無法正常工作。
|