Nextcloudでウィルス対策を行う(Ubuntu)
2026年にNextcloud用に追加したClamAVの導入メモです。
ClamAVのインストール
sudo apt -y update
sudo apt -y install clamav clamav-daemon
自動起動設定
sudo systemctl enable clamav-daemon clamav-freshclam --now
sudo systemctl status clamav-daemon clamav-freshclam
権限の設定
Nextcloudがclamdのソケットに接続できるように、www-dataをclamavグループに追加します。
sudo usermod -aG clamav www-data
ClamAVの設定ファイル確認
設定ファイル /etc/clamav/clamd.conf を確認し、ソケット通信の設定が有効かチェックします。
sudo vi /etc/clamav/clamd.conf
以下の行があることを確認してください。
コメントアウトされていないことも確認してください。
デフォルトで有効なはずですが念のためです。
666がデフォルトですが660にしておきます
LocalSocket /var/run/clamav/clamd.ctl
FixStaleSocket true
LocalSocketGroup clamav
LocalSocketMode 660
設定変更後は clamd を再起動します。
sudo systemctl restart clamav-daemon
Nextcloud側で設定する
アプリ管理画面またはoccコマンドでAntivirus for filesを導入後
管理者設定 → セキュリティ → ファイルのウイルス対策へ
| 項目 | 設定例 | 理由/補足 |
|---|---|---|
| モード (Mode) | ClamAVデーモン(ソケット) | 一番高速で負荷が少ないため |
| ソケットへのパス | /var/run/clamav/clamd.ctl | 先ほど確認したパスです。clamd.conf と一致させる |
| ストリームの長さ | 26214400 (デフォルト) | とりあえずそのままでOK |
| 定期的なバックグラウンドスキャンとチャンクアップロードのファイルサイズ制限 | 26214400 (デフォルト) | 最初の25MBだけ検査する |
| ファイルの最初のバイトのみをチェックします | 26214400 (デフォルト) | 最初の25MBだけ検査する |
| 感染時の動作 | ログのみ または ファイルを削除 | (最初は「ログのみ」でテスト推奨) |
| スキャナーにアクセスできない場合アップロードをブロックする | はい(推奨) | clamdにアクセスできないとアップロードがブロックされます。 |
基本的に私は個人利用程度なのでログ運用をします。
会社運用する場合は会社の規定やルールをもとに設定してください。
デフォルト(26214400 = 約25MB)、または 104857600 (約100MB)がいいですが負荷が増えるのでお好みで
(googleドライブでも最大100Mbくらいですよね検査サイズです)
最終動作テスト(必須)
設定が正しいかは無害なテスト用ウイルス「EICARテストファイル」を使って確認します。
「EICARテストファイル」あたりで検索して入手し、eicar.txt(または eicar.com)として保存してアップロードします。
ウィルス対策ソフト入れていると文字列を保存した時点で即時に消されるので注意。
ウィルス対策ソフトを止める行為は会社によっては不可能かもしれないですね。
その場合はwgetとかcurlを使いWebDAVでフォルダに無理やり入れるしかないかも