squid firewall

Squidとルーターで規制のあるネットワークを作る

squid firewall

社内ネットワーク アクセス制御 情報セキュリティ

※正確にはルーターではなくファイアウォール(Firewall)ですが
ルーター製品には大抵ファイアウォール機能がついています。

規制とか嫌いです、もっとふわふわしていたい

でもネットワークを規制したい管理者さんも多いと思うので
今回はSquidの記事を書いてみます。

Squidはキャッシュを貯めてくれるので高速化も図られるはず(?)です。
高速化はしないまでも溜め込んだキャッシュで帯域の節約になります。

キャッシュサーバーSquidのインストール

いわゆるProxy(プロキシ)ってやつです。
普通と違った方向からパソコンをかじった人などは『串』と呼んだりします。

[bash]# yum install squid

squid.x86_64 7:3.1.10-22.el6_5

Complete!
[/bash]

ディスク容量確認

ディスク容量確認。/は50Gだとわかる。

[bash] # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
50G 14G 34G 29% /
tmpfs 1.9G 68K 1.9G 1% /dev/shm
/dev/sda1 477M 93M 356M 21% /boot
/dev/mapper/VolGroup-lv_home
96G 18G 73G 20% /home
[/bash]

1KB(キロバイト)=1024バイト
1MB(メガバイト)=1024KB(約100万バイト)
1GB(ギガバイト)=1024MB(約10億バイト)
1TB(テラバイト)=1024GB(約1兆バイト)

1024×40として40960MB(40GB)

Squid設定ファイルを編集します。

[bash] # vi /etc/squid/squid.conf

http_port 8080←確認(portを設定)

# We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?
cache_mem 1024 MB←追加。Squidに割り当てのメモリを指定。

coredump_dir /var/spool/squid←ログ保存先確認。

#cache_dir ufs /var/spool/squid 100 16 256
cache_dir ufs /var/spool/squid 40960 16 256←キャッシュは40GBとします。

#許可ネットワーク
acl OK_lan src 192.168.0.0/16
http_access allow OK_lan
http_access deny all

cache_effective_user squid←rootで稼働する時squidユーザーにプロセスの所有を渡す
cache_effective_group squid←rootで稼働する時squidグループにプロセスの所有を渡す
cache_swap_low 90
cache_swap_high 95
ftp_user hoge@hoge.co.jp←anonymousFTPに接続した時のID
pid_filename /var/run/squid.pid
debug_options ALL,1←ログの詳細度を最高に(1-10)
cache_access_log /var/log/squid/access.log←ログファイル名を設定。
logfile_rotate 10←ログの循環数を指定
emulate_httpd_log on←ログをhttpd形式に出力
cache_mgr root@sigotosiro.biz←cache_mgrをroot@sigotosiro.bizに
visible_hostname unkown
forwarded_for off
request_header_access X-FORWARDED-FOR deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
[/bash]

閲覧禁止サイトを登録します!

〇禁止ドメインの登録

[bash] # vi /etc/squid/blacklist_filter

#blacklist
.2ch.net
[/bash]

〇禁止URLの登録

[bash] # vi /etc/squid/blacklist_regex

# blacklist_regex
^http://2ch.net/
[/bash]

フィルターファイルを読み込んで貰うようSquidに設定します。

[bash] # vi /etc/squid/squid.conf

# Only allow cachemgr access from localhost
#アクセス禁止サイト定義
acl blacklist_filter dstdomain “/etc/squid/blacklist_filter”←追加
acl blacklist_regex url_regex “/etc/squid/blacklist_regex”←追加

http_access deny blacklist_filter←追加
http_access deny blacklist_regex←追加

http_access allow manager localhost
http_access deny manager
[/bash]

キャッシュディレクトリ初期化

[bash] # squid -z
[/bash]

再起動させて設定を反映させます。

[bash] # /etc/rc.d/init.d/squid restart
squid を停止中: ……………. [ OK ] squid を起動中: . [ OK ] [/bash]

自動起動設定を行います。

[bash] # chkconfig squid on
[/bash]

パケットフィルタリング

192.168.11.8からのポート80は通過させる
それ以外のアドレスからは80番ポートを破棄

パケットフィルタリング

これでキャッシュサーバーを通さないとWEBの閲覧が出来なくなりました。

クライアントのネットワーク設定

このままではまずいのでクライアントPCを設定して
キャッシュサーバーを読むようにします。

社内情報セキュリティ

自ホストのIPを設定して、デフォルトゲートウェイにSquid(キャッシュサーバ)の
IPを指定します。

クライアントのブラウザにSquidを通します

squid proxy firefoxに刺す
(クリックすると大きくなります。)

使用するブラウザに設定してあげねばSquidは役目を果たせません。
今回はFirefoxに設定してみます。

これでクライアントは最初にルーターではなく
Squidにパケットが向かいます。

ではyahooにでもアクセスしてみます。

yahoo.co.jp

おっけー、アクセス出来ました。
これで一安心ですね☆

禁止サイトにアクセスしてみます。

アクセス拒否 squid 社内アクセス制御

しょぼーん。
おとなしく仕事するしかなさそうです(笑)
まとめサイトやSNSは今回規制していないのでお好みで規制して下さい。

弊社では閲覧サイトの規制などはしていません。
今日の分の仕事さえ終わっていればのんびりした環境です。

squid firewall
最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG