メインコンテンツまでスキップ

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でフォルダに無理やり入れるしかないかも