share facebook facebook twitter menu hatena pocket slack

2012.03.05 MON

Squidでの中継をドメイン名(DNS名)でアクセス制限

鈴木 宏康

WRITTEN BY 鈴木 宏康

前回、VPCのNATインスタンスを作ってみる(Squid編)の記事を紹介したのですが、
目的は中継するHTTP(S)のアクセスをドメイン名(DNS名)でアクセス制限する為でした。
(iptablesではIPアドレスとポートの制限までとなります)

上記より、www.google.co.jpのみにアクセスできるようにしてみました。
(設定ファイルは下記の通りです)

# cat /etc/squid/squid.conf
...
acl google dstdomain www.google.co.jp
http_access allow google
http_access deny all

上記のNATインスタンス(Squid)を利用しているサブネット上のEC2から確認してみます。
※NATインスタンスのIPアドレスは、10.0.0.74 です。

▼プロキシーを設定してHTTPアクセス

# curl -x 10.0.0.74:3128 http://www.google.co.jp/
...

【成功】

# curl -x 10.0.0.74:3128 http://xxx.xxx.xxx/
...

【失敗】

▼プロキシーを設定してHTTPSアクセス

# curl -x 10.0.0.74:3128 https://www.google.co.jp/
...

【成功】

# curl -x 10.0.0.74:3128 https://xxx.xxx.xxx/
curl: (56) Received HTTP code 403 from proxy after CONNECT

【失敗】

▼HTTPアクセス(透過プロキシーとして利用)

# curl http://www.google.co.jp/
...

【成功】

# curl http://xxx.xxx.xxx/
...

【失敗】

上記より、ドメイン名(DNS名)でアクセス制限できていることが確認できました。

前回も紹介しましたが、HTTPSは透過型プロキシー(Squid)が利用できません。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。