テクノロジーガイド

Dansguardian をマルチグループフィルタリングで導入し、Squid を NTLM 認証で設定する(Debian Etch)

3 min read ネットワーク 更新されました 22 Oct 2025
Dansguardian と Squid(NTLM)を Debian Etch に導入する方法
Dansguardian と Squid(NTLM)を Debian Etch に導入する方法

目的と想定環境

  • 目的: 小〜中規模ネットワーク向けの完全なインターネットゲートウェイを構築する。Dansguardian でマルチグループフィルタリング、Squid で NTLM 認証、dnsmasq で DNS/DHCP、Samba/Winbind でドメイン統合を実現する。
  • 想定ハードウェア/ネットワーク: 2 NIC(eth0 = 外部、静的または動的;eth1 = 内部、静的 192.168.1.1/24)
  • 前提: Debian Etch の最小インストール(ベースシステムのみ)。root または sudo 権限。

重要: Debian Etch は非常に古いリリースです。セキュリティや公式サポートを要する本番環境では、現行の安定版への移行を強く検討してください。ここでは原著の手順を忠実に訳・整理しています。

準備: ベースシステム設定

このハウツーは以下の設定を前提とします。

  • eth0: 外部 NIC(静的または DHCP)
  • eth1: 内部 NIC(192.168.1.1/24)

ベースインストールでは SSH が入っていないため、まず SSH を導入します。以下を実行します。

apt-get install ssh openssh-server

SSH を入れたら、この続きを SSH セッション内で作業できます。

ClamAV(ウイルス定義エンジン)は Etch の標準版にバグがあり、Dansguardian 起動時にロードが遅くなることがあります。backports から新しいバージョンを取得するよう apt を設定して回避します。

/etc/apt/sources.list に以下を追加します。

deb http://download.webmin.com/download/repository sarge contrib
deb http://www.backports.org/debian etch-backports main contrib non-free

次に、ClamAV 系パッケージだけを backports から取得するよう /etc/apt/preferences を編集します。注意: Etch 向けにバグ修正版の ClamAV が公式に出ていれば、この指定は不要になる場合があります。

Package: clamav
Pin: release a=etch-backports
Pin-Priority: 999
Package: clamav-base
Pin: release a=etch-backports
Pin-Priority: 999
Package: clamav-freshclam
Pin: release a=etch-backports
Pin-Priority: 999
Package: libclamav2
Pin: release a=etch-backports
Pin-Priority: 999

次にパッケージを更新し、必要なソフトウェアをインストールします。以下を実行してください。

apt-get update
apt-get install debian-backports-keyring
apt-get install dnsmasq webmin squid dansguardian samba winbind krb5-user libcompress-zlib-perl resolvconf ntp ntpdate

インストール中にいくつか質問が出ます。回答は大文字小文字を区別する場合があるため、例のとおりに入力してください。以下は例です(各自の環境に合わせて置き換えてください)。

  • Workgroup: EXAMPLEDOMAIN
  • Modify smb.conf to use WINS settings from DHCP?: No
  • Kerberos servers for your realm: domaincontroller.EXAMPLEDOMAIN.LOCAL
  • Administrative server for your Kerberos realm: domaincontroller.EXAMPLEDOMAIN.LOCAL

Kerberos 設定の再構成を行います。

dpkg-reconfigure krb5-config

さらに質問が出ます。例(環境に合わせて変更):

  • Default Kerberos version 5 realm: EXAMPLEDOMAIN.LOCAL
  • Does DNS contain pointers to your realm’s Kerberos Servers?: Yes

resolvconf と dnsmasq の設定

多くのインターネット接続は動的で、pppd や DHCP によって DNS サーバが更新されると Kerberos が失敗することがあります。resolvconf を導入済みであればこれを利用して問題を和らげます。

/etc/resolvconf/resolv.conf.d/head を編集し、3 行目に次を追加します(例):

search exampledomain.local

dnsmasq は軽量の DNS フォワーダかつ DHCP サーバです。resolvconf と統合されます。

/var/run/dnsmasq/resolv.conf に正しいネームサーバが入っているか確認してください。例:

nameserver 
nameserver 
nameserver 

dnsmasq の設定をパフォーマンスとセキュリティ向上のため変更します。/etc/dnsmasq.conf を編集し、必要な行をアンコメントします。

編集例(nano を使用):

nano -c /etc/dnsmasq.conf
  • 14 行目と 16 行目のコメントを外す。
  • 71 行目のコメントを外し、行末に eth0 を追加する。

dnsmasq の DHCP 機能は現在無効になっています。DHCP を使う場合は 100 行目あたりから DHCP オプションが始まるのでそちらを参照してください。DNS の高度なオプション(MX レコード等)は 307 行目付近にあります。詳細はこのハウツーの範囲外です。

NTP をドメインコントローラに合わせる

nano -c /etc/ntp.conf

/ etc/ntp.conf の 19 行目〜22 行目をコメントアウトし、23 行目に次を挿入します(例):

server domaincontroller.exampledomain.local iburst

正確なホスト名は環境に合わせてください。

Samba を設定してドメインに参加する

まず /etc/samba/smb.conf のバックアップを取り、編集します。

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
nano -c /etc/samba/smb.conf
  • 53 行目に interfaces = 192.168.1.1/255.255.255.0 を追加します。
  • 59 行目のコメントを外します。
  • 91 行目のコメントを外し、security = ads に変更します。
  • 204 行目と 205 行目のコメントを外します。
  • 217 行目の前に以下を追加します。
winbind trusted domains only = yes
realm = EXAMPLEDOMAIN.LOCAL
winbind cache time = 3600

Samba と winbind を再起動し、ドメインコントローラと時刻同期を行います。

net time set -S domaincontroller
/etc/init.d/samba restart
/etc/init.d/winbind restart

ドメインへ参加します。

net ads join -U Administrator

参加に成功すれば、以下のコマンドが期待する出力を返します。

wbinfo -t

出力: checking the trust secret via RPC calls succeeded

wbinfo -u

ドメイン内のユーザが一覧表示されます。

wbinfo -g

ドメイン内のグループが一覧表示されます。

Dansguardian と Squid(NTLM)の統合ヒント

  • Dansguardian はコンテンツフィルタです。ユーザ/グループごとにフィルタ設定を分けるには、複数のグループ定義とプロセス分離(マルチグループフィルタ)を利用します。
  • Squid は認証プロキシとして動作し、NTLM 認証を使うには winbind と連携させてプロキシ認証を有効にします。
  • 透過プロキシを行う場合、iptables でポート転送(80/tcp)を行い、Squid/Dansguardian の構成に合わせて ACL を設定してください。

注意: 各種設定ファイル(dansguardian.conf、squid.conf、/etc/samba/smb.conf など)を編集する際は、オリジナルのバックアップを必ず保存してください。

トラブルシューティングのチェックリスト

  • Kerberos エラー: /etc/krb5.conf の realm と kdc 設定を再確認。DNS の逆引き/正引きが正しいか確認。
  • Samba ドメイン参加失敗: 管理者権限で net ads join を実行しているか。時刻差(NTP)で失敗する場合が多い。
  • dnsmasq が期待通りのネームサーバを使わない: /var/run/dnsmasq/resolv.conf を確認。resolvconf が正しく機能しているかチェック。
  • Dansguardian の起動が遅い: ClamAV のバージョンが原因の可能性あり。backports からの更新設定を確認。

代替アプローチと比較

  • フリーで一元管理したい場合: pfSense(FreeBSD ベースのファイアウォールアプライアンス)を検討。GUI が充実しており、プロキシ/フィルタリング機能もある。
  • Linux のより新しいディストリビューションを使う: Debian の現行安定版(bookworm など)で同様の構成を行うと、パッケージの安全性/互換性が改善される。
  • クラウド型/サービスを利用する: オンプレミスでの運用負荷を避けたい場合はクラウド型プロキシ/フィルタリングを検討する。

メリット/デメリットの判断: 古い Etch 手順は学習用途や既存環境の保守には有効だが、新規導入では最新 OS を選ぶ方が保守コストは低い。

セキュリティ強化チェック(基本)

  • SSH: パスワード認証を無効化し、公開鍵認証に切り替える。
  • サービスの最小化: 不要なデーモンは停止/削除する。
  • ファイアウォール: iptables または netfilter で外部からの不要な接続を遮断。
  • ログ監査: Samba、winbind、Squid、Dansguardian、dnsmasq のログを定期確認し、ログローテーションを設定する。

ロール別チェックリスト

  • 管理者(設計): ネットワークアドレス計画、ドメイン情報(ホスト名/IP)、NTP 設定の方針決定。
  • 運用担当: バックアップ手順、サービス再起動フロー、監視設定(ログ、疎通監視)の整備。
  • ユーザサポート: 認証問題時の問診テンプレート(時刻、DNS、ユーザ名)を用意。

移行と互換性のヒント

  • Etch は古いため、パッケージが既にリポジトリから消えている可能性があります。リポジトリ URL の可用性を必ず確認してください。
  • 最新の Debian に移行する場合、smb.conf や krb5 の項目やオプション名が変わっていることがあるため、移行前に公式ドキュメントと差分を確認してください。

受け入れ基準(Критерии приёмки)

  • サーバがドメインに参加し、wbinfo -u でユーザが見える。
  • NTP がドメインコントローラと同期している。
  • dnsmasq が意図したネームサーバを参照している。
  • Dansguardian と Squid が起動し、ブラウザ経由でフィルタリングと認証が行える。

テストケースと確認事項

  • クライアントから HTTP リクエストを行い、Squid 経由で NTLM 認証プロンプトが出るか。
  • グループごとのフィルタ設定でアクセス制限が正しく適用されるか。
  • ドメインユーザでログイン後、許可されたサイトへアクセス可能か。

1行用語集

  • NTLM: Windows 系の認証プロトコル(旧式)。
  • Kerberos: 時刻同期とチケットベースの認証システム。
  • winbind: Samba のコンポーネントで、Windows のユーザ/グループ情報を Linux 上に連携する。

短い発表文(100–200 文字)

Debian Etch 上で Dansguardian によるマルチグループフィルタと Squid の NTLM 認証を組み合わせ、dnsmasq・resolvconf・Samba/Winbind を使ってドメイン統合された透過プロキシ型ゲートウェイを構築する手順です。小〜中規模ネットワーク向けのオンプレミス構成に有用です。

まとめ

  • Debian Etch の最小インストールから、ClamAV の backports 指定、dnsmasq/resolvconf による DNS 管理、NTP のドメイン同期、Samba/Winbind を使ったドメイン参加、そして Dansguardian と Squid の統合までを扱いました。
  • 本手順は教育・保守目的で有用ですが、セキュリティやライフサイクルを考えると現行のディストリビューションへの移行を推奨します。

重要: 実行前に必ず設定ファイルのバックアップを取り、変更を段階的に適用してください。

共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

Debian 11 に Podman をインストールして使う
コンテナ

Debian 11 に Podman をインストールして使う

Apt-pinning入門:Debianで複数リポジトリを管理
Linux

Apt-pinning入門:Debianで複数リポジトリを管理

OptiScalerでFSR 4を全対応ゲームに導入する方法
ゲーム

OptiScalerでFSR 4を全対応ゲームに導入する方法

Dansguardian と Squid(NTLM)を Debian Etch に導入する方法
ネットワーク

Dansguardian と Squid(NTLM)を Debian Etch に導入する方法

AndroidでSDカードのインストールエラーを修正する方法
トラブルシューティング

AndroidでSDカードのインストールエラーを修正する方法

KNetAttach と KDE の remote:/ でネットワークフォルダーを設定
Linux ネットワーク

KNetAttach と KDE の remote:/ でネットワークフォルダーを設定