サーバを入れずに、gmailからメールを送る。

 2段階認証になってから、困りましたが、smtpのログインにアプリパスワードでOKでした。
 まず、GMAILから、アプリパスワードを手に入れます。
 Gmailの2段階認証設定後にThunderbirdのIMAP再設定をする方法!を参考に、Windowsパソコンのアプリパスワードをもらいます。
 msmtpを使います。

$ sudo apt-get install msmtp

後にcrondで動かすので、rootで設定します。

#gedit .msmtprc

内容

account default
host smtp.gmail.com
port 587
user <ユーザー名>@gmail.com
password アプリパスワード
from <ユーザー名>@gmail.com
tls on
tls_starttls on
tls_certcheck off
auth on
logfile ~/.msmtp.log


テストしてみましょう。

echo 'Test for mail' | awk 'BEGIN{print "Subject:Test \n";}{print $0;}' | msmtp -a default <メール先>

 で送れているはずです。

clamavでスキャンさせる

$ sudo apt install clamav clamav-daemon

 始めにウイルス定義の更新をしておく。

$ sudo freshclam

 スキャンスクリプトを作る。

# gedit clam-full.sh

内容

#!/bin/sh
rm /var/log/clamav/clamscan.log
rm /var/log/clamav/freshclam.log
freshclam > /var/log/clamav/clamscan.log
echo =========================================
date
clamscan / \
     --infected \
     --recursive \
     --log=/var/log/clamav/clamscan.log \
     --move=/var/log/clamav/virus \
     --exclude-dir=^/sys \
     --exclude-dir=^/proc \
     --exclude-dir=^/dev \
     --exclude-dir=^/var/log/clamav/virus
# --infected 感染を検出したファイルのみを結果に出力
# --recursive 指定ディレクトリ以下を再帰的に検査 圧縮ファイルは解凍して検査
# --log=FILE ログファイル
# --move=DIR 感染を検出したファイルの隔離先
# --remove 感染を検出したファイルを削除
# --exclude=FILE   検査除外ファイル(パターンで指定)
# --exclude-dir=DIR 検査除外ディレクトリ(パターンで指定)
if [ $? = 0 ]; then
  echo "ウイルス未検出."
  cat /var/log/clamav/clamscan.log |awk 'BEGIN{print "Subject:Clamav scan OK. \n";}{print $0;}' | msmtp -a default <メール先>
else
  echo "ウイルス検出!!"
  cat /var/log/clamav/clamscan.log |awk 'BEGIN{print "Subject:Clamav scan NG. \n";}{print $0;}' | msmtp -a default <メール先>
fi

 下準備

# mkdir /var/log/clamav/virus

cronで1日1回動かす。

crontab -e

内容

00 04 * * * /root/clam-full.sh

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-04-14 (日) 13:38:33