広告を非表示にする為にプロキシサーバ(squid)をたてる
広告を非表示にする為にプロキシサーバをたてました。
インストール
iptablesの設定
今回はCentOS6なのでiptablesの設定を記載します。
25128というポートを使用したいと思います。
iptables -A INPUT -p TCP --dport 25128 -j ACCEPT
確認します
iptables -L ACCEPT tcp -- anywhere anywhere tcp dpt:25128
コンフィグ設定
squid.confを編集します。
まずはバックアップ。
cp /etc/squid/squid.conf /etc/squid/squid.conf.org
ホスト名の設定
ホスト名を設定してやらないとwarningが出ます。
Stopping squid: 2016/XX/XX XX:XX:XX| WARNING: Could not determine this machines public hostname. Please configure one or set 'visible_hostname'. 2016/XX/XX XX:XX:XX| WARNING: Could not determine this machines public hostname. Please configure one or set 'visible_hostname'.
ホスト名を設定します。
visible_hostnameの行が無い場合、追加して下さい。
visible_hostname ホスト名
ポートの変更
デフォルトだと不安なのでポートを変更します。
# Squid normally listens to port 3128 http_port 25128
ダイジェスト認証
パスワードファイルを作成します。
htpasswd -bcp /etc/squid/passwd ユーザ名 パスワード
squid.confにダイジェスト認証をする為の設定をします。
###ダイジェスト認証用パスワードファイル auth_param digest program /usr/lib64/squid/digest_pw_auth /etc/squid/passwd ###認証用のプロセス数を制限する auth_param digest children 3 ###プロキシサーバの名前 auth_param digest realm Proxy Web Server ###クライアントエージェントの有効性をチェックする時間 auth_param digest nonce_garbage_interval 5 minutes ###nonce(臨時・その場限り)の有効性のチェックする時間 auth_param digest nonce_max_duration 30 minutes ###nonceの使用できる回数 auth_param digest nonce_max_count 50 ###ダイジェスト認証 acl password proxy_auth REQUIRED ### password #以下2行をコメントアウト #http_access allow localnet #http_access allow localhost #以下を追加 http_access allow password
blacklistの設定
下記のようなファイルを作成します。
blacklist.conf
XXXX.net XXXX.info
squid.confにblacklistを使用する為の設定をします。
acl blacklist dstdomain "/etc/squid3/blacklist.conf" http_access deny blacklist
dstdomainはデスティネーションドメインです。
blacklistの設定(正規表現を使用)
正規表現を使用する場合です。
下記のようなファイルを作成します。
blacklist_reg.conf
.*/ad/.*
squid.confにblacklist_regを使用する為の設定をします。
acl blacklist_reg url_regex "/etc/squid3/blacklist_reg.conf" http_access deny blacklist_reg
dstdomainの代わりにurl_regexを使用します。
ログフォーマットの変更
デフォルトだとシリアル値が出力されてしまうので、日付けフォーマットに変更します。
logformat squid %tl %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt
起動
最後に起動してやります。
service squid start
chkconfig squid on
blacklistはインターネットを検索してみると2016年でもいくつか見つかりました。
助かります。
まだblacklist_reg.conf周りがうまくいってないかも。
後日調査。