e2guardian のインストール(Ubuntu 上)

e2guardian は、Web ページのフィルタリング機能をもったソフトウェアである。フレーズ照合、URL 照合、ウイルススキャン連携などによりフィルタリングを行う。e2guardianDansGuardian から分岐したプロジェクトである。DansGuardian は開発が終了しており、Ubuntu 24.04 LTS の標準リポジトリには含まれない。e2guardian は Ubuntu 24.04 LTS の標準リポジトリ(universe)にバージョン 5.3.5 が含まれており、apt でインストールできる。

既定では、e2guardian はポート 8080 で HTTP プロキシとして動作する。上位プロキシ(Squid など)を使う場合は、設定ファイルの proxyipproxyport で指定する。

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは、端末で、次のコマンドを実行する。

Ubuntu のインストールは別ページ »で説明している。

# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新などで再起動が必要な場合に実行
sudo shutdown -r now

e2guardian と ClamAV のインストール(Ubuntu 上)

端末で、次のコマンドを実行する。e2guardian のウイルススキャン連携は clamd(ClamAV のスキャンデーモン)を使うため、clamav-daemon も併せてインストールする。

# ウイルススキャン連携用の ClamAV をインストール
sudo apt -y install clamav-daemon clamav-freshclam

# ウイルス定義ファイルを更新 (自動更新サービスを止めてから実行)
sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam

# e2guardian をインストール
sudo apt -y install e2guardian

ClamAV 連携の設定

設定ファイルは /etc/e2guardian/e2guardian.conf である。ウイルススキャン連携は、既定では無効(コメント行)になっているため、contentscanner の行を有効化する。端末で、次のコマンドを実行する。

# 設定ファイルをバックアップ
sudo cp -a /etc/e2guardian/e2guardian.conf /etc/e2guardian/e2guardian.conf.bak

# clamdscan によるウイルススキャンを有効化 (行頭の # を削除)
sudo sed -i -E "s|^#(contentscanner = .*clamdscan\.conf.*)|\1|" /etc/e2guardian/e2guardian.conf

# 有効化されたことを確認 (contentscanner の行が表示される)
grep -n "^contentscanner" /etc/e2guardian/e2guardian.conf

スキャン対象の一時ファイルは e2guardian の実行ユーザが作成し、clamd がそれを読む。そのため、両者が同じユーザまたは同じグループで動作する必要がある。Ubuntu のパッケージでは e2guardian はユーザ e2guardianclamd はユーザ clamav で動作するため、clamave2guardian グループに追加する。端末で、次のコマンドを実行する。

# e2guardian の実行ユーザとグループの設定を確認
grep -n -E "^#?daemon(user|group)" /etc/e2guardian/e2guardian.conf

# clamav ユーザを e2guardian グループに追加
sudo usermod -aG e2guardian clamav

# 設定を反映
sudo systemctl restart clamav-daemon

サービスの起動と動作確認

端末で、次のコマンドを実行する。internal.test.e2guardian.orge2guardian の組み込みの動作確認用 URL である。正常に動作しているときは OK を含むページが返る。

# e2guardian サービスを有効化し起動
sudo systemctl enable --now e2guardian

# 状態を確認
systemctl status e2guardian

# プロキシとしての動作を確認
curl -x http://127.0.0.1:8080 http://internal.test.e2guardian.org/

LAN 内の他の PC からプロキシとして使う場合は、ファイアウォールでポート 8080 を開ける。端末で、次のコマンドを実行する。

sudo ufw allow 8080/tcp

クライアント側では、Web ブラウザのプロキシ設定で、この PC の IP アドレスとポート 8080 を指定する。フィルタリングの内容は /etc/e2guardian/e2guardianf1.conf/etc/e2guardian/lists 以下のリストファイルで設定する。