Hatena::ブログ(Diary)

Magical Diary このページをアンテナに追加 RSSフィード

2011年01月01日

DTI VPSの大部分がオープンプロキシになっていた件について

Twitterで断片的につぶやいた (http://twilog.org/hirayasu/date-101230) 内容をもう少し詳しくまとめておく。

概要

先日、DTIのServersMan@VPS*1メンテナンス (機能追加) http://www.dti.co.jp/release/101216.html でAirDisplay@VPS*2インストールが行われたが、設定ミスがありほぼ全てのVPSオープンプロキシ (アクセス制限が行われず誰でも利用出来るプロキシサーバ) となっている状態だった。

12/27メンテナンス作業後

まず、27日のメンテナンス時点で /etc/httpd/conf.d/proxy_ajaxterm.conf にはイカのように記載されていた。これは localhost:8022 で動作する AjaxTerm に対するリバースプロキシ設定だが、本来不要な記載をしているためにセキュリティ上の問題があった。

<IfModule mod_proxy.c>
ProxyRequests On

<Proxy *>
        Order deny,allow
        Deny from all
        Allow from all
</Proxy>
ProxyPass /airdisplay/ http://localhost:8022/
ProxyPassReverse /airdisplay/ http://localhost:8022/

ProxyRequests On を設定することによりApacheHTTP Proxyサーバとして動作するが、ProxyPass, ProxyPassReverse を利用する場合にはこの設定を有効にする必要は全く無い。これは、Apacheマニュアルにもイカのように記載されている。

The ProxyRequests directive should usually be set off when using ProxyPass. (http://httpd.apache.org/docs/2.2/en/mod/mod_proxy.html#proxypass)

さらに、このプロキシ機能に対して Allow from all (制限無しにアクセス可能) を設定したため、無制限にプロキシ機能を提供するオープンプロキシの状態となっていた。

12/30緊急メンテナンス作業後

ProxyRequests On の設定は12月30日の緊急メンテナンスコメントアウトされたようだが、Proxy * に対するアクセス制限が allow from all のままとなっているため、元々HTTP Proxyサーバとして動作させている場合にはそのアクセス制限にかかわらず、allow from allで上書きされる可能性がある。

ServersMan@VPSサービス 緊急メンテナンスのお知らせ

http://info.dti.ne.jp/announce/docs/20101230_01.html

CentOS/RHELパッケージで導入されたApache場合、/etc/httpd/conf/httpd.conf に

include conf.d/*.conf

という記載があり、途中で設定が読み込まれる。この読み込まれる順番は文字コード順となる。

proxy_ajaxterm.conf が読み込まれる前にHTTP Proxyの設定が記載されていた場合、たとえば192.0.2.0/24 からのみアクセス可能とするためにproxy.confというファイル名 (読み込み順はproxy_ajaxterm.confより先となる) で以下の設定を行っている場合でも、アクセス制限は上書きされてオープンプロキシとなる。

ProxyRequests On
<Proxy *>
  Order deny,allow
  deny from all
  allow from 192.0.2.0/24
</Proxy>

HTTP Proxyサーバとして利用している例は多くはないだろうが、メンテナンスでは既存環境に極力影響を与えないように行うべきだと思う。

推奨する設定変更

AjaxTermを無効化、AjaxTermに対するリバースプロキシ設定を削除することをおすすめする。

service ajaxterm stop
chkconfig ajaxterm off
rm /etc/httpd/conf.d/proxy_ajaxterm.conf
service httpd restart

また、各種ブラックリストに登録されていないか確認しておく方が良いだろう。

*1http://dream.jp/vps/

*2:AjaxTermを利用したウェブ経由のシェルアクセス

baikukenbaikuken 2011/04/20 20:09 これ、自分のお客でも公開Proxyになっててサーバ負荷の増大で気がつきました。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。