e2guardian のインストール(Ubuntu 上)
e2guardian は、Web ページのフィルタリング機能をもったソフトウェアである。フレーズ照合、URL 照合、ウイルススキャン連携などによりフィルタリングを行う。e2guardian は DansGuardian から分岐したプロジェクトである。DansGuardian は開発が終了しており、Ubuntu 24.04 LTS の標準リポジトリには含まれない。e2guardian は Ubuntu 24.04 LTS の標準リポジトリ(universe)にバージョン 5.3.5 が含まれており、apt でインストールできる。
既定では、e2guardian はポート 8080 で HTTP プロキシとして動作する。上位プロキシ(Squid など)を使う場合は、設定ファイルの proxyip と proxyport で指定する。
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは、端末で、次のコマンドを実行する。
# パッケージリストの情報を更新
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 はユーザ e2guardian、clamd はユーザ clamav で動作するため、clamav を e2guardian グループに追加する。端末で、次のコマンドを実行する。
# 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.org は e2guardian の組み込みの動作確認用 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 以下のリストファイルで設定する。