インストール
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C80E383C3DE9F082E01391A0366C67DE91CA5D5F
apt install apt-transport-https
echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/99disable-translations
echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" > /etc/apt/sources.list.d/cisofy-lynis.list
apt update
apt remove lynis
apt install lynis
以下のサイト様より引用
linuxのセキュリティツール - fr33f0r4ll
使い方
$ lynis audit system
メールレポート送信
デフォルトでは、メールレポート送信機能はないので、
以下のスクリプトを作成。
Lynisはスキャンが終わると、そのレポートを「/var/log/lynis-report.dat」に作成する。
大事なのは、「Warning」と「Suggestion」箇所なので、
その部分を抽出し、各行数を追記し、レポートをメールを送信する。
一日に1回のスキャンで自分は良いので、cron.dailyにスクリプトを配置している。
結構汚いコードなので、あしからず。
/etc/cron.daily/lynis_daily
#!/bin/bash LOGFILE="{{ lynis_log_directory }}/lynis-$(date +'%Y-%m-%d_%H:%M:%S').log"; DATA="{{ lynis_log_directory }}/lynis-data-$(date +'%Y-%m-%d_%H:%M:%S').txt"; WARNING_DATA="{{ lynis_log_directory }}/lynis-warning-$(date +'%Y-%m-%d_%H:%M:%S').txt"; SUGGESTION_DATA="{{ lynis_log_directory }}/lynis-suggestion-$(date +'%Y-%m-%d_%H:%M:%S').txt"; TMP_DATA="{{ lynis_log_directory }}/lynis-tmp-$(date +'%Y-%m-%d_%H:%M:%S').txt"; EMAIL_FROM="{{ lynis_mail_from }}"; EMAIL_TO="{{ lynis_scan_email }}"; SEPARATOR="--------------------------------------------------------------------------------" echo "Starting a lynis scan" lynis audit system if [ -f /var/log/lynis-report.dat ]; then cat /var/log/lynis-report.dat | grep 'warning\[\]' | sed -e 's/^warning\[\]\=/warning: /g' > ${WARNING_DATA} cat /var/log/lynis-report.dat | grep 'suggestion\[\]' | sed -e 's/^suggestion\[\]\=/suggestion: /g' > ${SUGGESTION_DATA} mv /var/log/lynis-report.dat ${DATA} # [START] append header WARNING_HEADER="Warnings ($(cat "$WARNING_DATA" | wc -l)):\n$SEPARATOR" SUGGESTION_HEADER="\n\n\nSuggestions ($(cat "$SUGGESTION_DATA" | wc -l)):\n$SEPARATOR" sed "1s/^/$WARNING_HEADER\n/" ${WARNING_DATA} > ${TMP_DATA} cat "$TMP_DATA" > ${WARNING_DATA} sed "1s/^/$SUGGESTION_HEADER\n/" ${SUGGESTION_DATA} > ${TMP_DATA} cat "$TMP_DATA" > ${SUGGESTION_DATA} rm "$TMP_DATA" # [END] append header cat "$WARNING_DATA" "$SUGGESTION_DATA" | mail -s "Lynis Report" -r "$EMAIL_FROM" "$EMAIL_TO"; fi exit 0