前回のPROXYサーバの検証の続きですが、
社内に実際に設置して、みんなに使ってもらっているのですが、
HTTP(TCP:80)、HTTPS(TCP:443)、FTP(TCP:21)以外のサイトがPROXY経由だと見られない
という問題が発生しました。
通常のwebサイトであれば、上記のポートが見られれば問題ないでしょうが、
あえて、変えている場合(webカメラを公開している場合なんかが該当するでしょうか)
に問題がでてくるので、とりあえずPROXYサーバ(squid2.7)の設定を変更して対応しようと思いましたが・・・
設定変更してみても見られない、、、
webや書籍を参考にしてsquidの設定ファイル(squid.conf)の編集をしてみましたが、
acl Safe_ports port 80 # http
acl Safe_ports port 1025-65535 # unregistered ports
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access allow localhost
http_access allow localsubnet
http_access deny all
http_reply_access allow all
icp_access allow all
あたりの設定だと思うんですが、何がおかしいかさっぱりわかりません
※acl Safe_ports port 1025-65535 # unregistered ports
でOKだと思うんですが、、、
Linuxのファイアウォール(Iptables)で全許可の設定にしても現象変わりません。
ちなみに、以下みたいなエラーになっちゃいます・・・
==========================================
ERROR
The requested URL could not be retrieved
While trying to retrieve the URL: http://***.**.**:60000/
The following error was encountered:
* Connection to Failed
The system returned:
(13) Permission denied
The remote host or network may be down. Please try the request again.
==========================================
PC側でPROXYを外せばhttp://***.**.**:60000/は見られるので、PROXYの設定がどっかおかしいのは間違いなのですが、、、、
ログを解析できれば、ヒントが見つかるのでしょうが、そんなスキルはまだなく、
一応それらしいログ(masseage や、squidの各種ログ)を見ましたが、さっぱりわからず・・・
ちょっと泥沼な感じになりそうでしたが、たまたま本屋で立ち読みしたlinuxの本にあるヒントが、、
「SElinux」
最初は、その名前でLinuxのディストリビューションの一つかなんかだと思いましたが、
そうじゃないらしく、
【LinuxOSのセキュリティを高めるために追加する、一つの拡張機能(モジュール)】
だそうです。
Windowsでいうところの「Windowsファイアウォール」みたいなものでしょうか?
「iptables」を無効にしていたので、ファイアウォールはもう関係ないと思い込んでいまして、まさか別のファイアウォールがあるとは知りませんでした。
さっそく「SELinux」の設定を一旦無効にしてみたところ・・・
無事、http、https以外のwebも見られるようになりました。squidの設定も特に問題ないようです。
とりあえず原因はわかったので、ひと安心ですが、「SELinux」を無効のままというのも良くなさげなので、SElinuxの設定をどう変えるかは、ひとまず宿題にしようと思います。
※コメント投稿者のブログIDはブログ作成者のみに通知されます