2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

OpenProxyを意識したSquidの設定!

「open proxyで送信元を隠蔽する」 これは、第三者にも使用可能ないわゆるopen proxy鯖を踏み台とし、送信に使用したIPアドレスをも隠蔽する。
ところでopen proxyとは、一般に「串」と呼ばれるhttp proxyではなく、SMTPを通すproxyのことを指すもしくは設定ミスでプロトコルを限定しないhttp proxyのことを言う。つまり誤った設定をしているSOCKSサーバなどが踏み台に使用されていると思われる。このように、第三者によって使用することのできるproxyのことである。こういう恐ろしいproxyはずいぶん前から存在していて、主に匿名性を求めるユーザによって悪用されてきた(BBSの書き込みなど)。また、squidのCONNECTメソッドで任意のポートに対するTCP接続が可能なopen proxyが、数年前からspammerによって悪用されるようになった。ちなみにPOSTメソッドなどでも同じことが可能である。
virusやOS及びアプリケーションの脆弱性を利用してホストにopen proxyをセットアップして、それを踏み台にするのが最近のspammerのトレンドのようである。バックドアを仕掛けるvirus及びwormの目的はopen proxyだと言っても過言ではない。特定のサイトに攻撃を仕掛けるよりもspamを送信する方がお金により直接的に結びつく(バックドアを仕掛けても、人を困らすことだけで自分には何の利益にもならないし)。
しかも、Internetから接続できるproxyサーバの数は限られているけど脆弱なWindowsマシンは腐るほどあるので大量に送信するにはもってこいだと思う。IPアドレスも静的に割り当てられたIPアドレスではないので追跡も困難だ。電源が入ったらspamを送信して、しばらくすればシャットダウンされて、次に接続されたときにはIPアドレスも違うものが割り当てられる。特定のアドレス範囲をMTAが拒否しても、別のopen proxyを試せばいいことになる。まさに一石二鳥。


1.実際のOpenProxyの実例

結構以下のようなメッセージが俺のメル鯖のmaillogに目立つ。これは、OpenProxyのサーバを踏み台にリレーメールを送る輩である(;-_-) =3 フゥ。
ただ俺の場合、以下で解るようにORBLサイトでチェックをしているので馬鹿野郎をはじいている。PostfixでのORBLチェック設定方法は、 ここ を参照されたい。

Sep 23 14:12:29 michi postfix/smtpd[3000]: connect from unknown[210.219.133.212]
Sep 23 14:12:33 michi postfix/smtpd[3000]: 51C2511BCEC: client=unknown[210.219.133.212]
Sep 23 14:12:34 michi postfix/smtpd[3000]: reject: RCPT from unknown[210.219.133.212]: 554 Service unavailable; [210.219.133.212] blocked using opm.blitzed.org, reason: Open proxy – see http://opm.blitzed.org/210.219.133.212; from= to=
Sep 23 14:12:40 michi postfix/smtpd[3000]: disconnect from unknown[210.219.133.212]

とか・・・

Jan 16 08:56:21 sub postfix/smtpd[23543]: connect from unknown[222.65.81.133]
Jan 16 08:56:27 sub postfix/smtpd[23543]: NOQUEUE: reject: RCPT from unknown[222.65.81.133]: 554 Service unavailable; Client host [222.65.81.133] blocked using sbl.spamhaus.org; http://www.spamhaus.org/SBL/sbl.lasso?query=SBL19307; from=<cornelia@flightsims.co.uk> to=<****@kozupon.com> proto=SMTP helo=<flightsims.co.uk>
Jan 16 08:56:28 sub postfix/smtpd[23543]: NOQUEUE: reject: RCPT from unknown[222.65.81.133]: 554 Service unavailable; Client host [222.65.81.133] blocked using sbl.spamha
us.org; http://www.spamhaus.org/SBL/sbl.lasso?query=SBL19307; from=<cornelia@flightsims.co.uk> to=<****@kozupon.com> proto=SMTP helo=<flightsims.co.uk>
Jan 16 08:56:30 sub postfix/smtpd[23543]: NOQUEUE: reject: RCPT from unknown[222.65.81.133]: 554 Service unavailable; Client host [222.65.81.133] blocked using sbl.spamhaus.org; http://www.spamhaus.org/SBL/sbl.lasso?query=SBL19307; from=<cornelia@flightsims.co.uk> to=<****@kozupon.com> proto=SMTP helo=<flightsims.co.uk>
Jan 16 08:56:31 sub postfix/smtpd[23543]: lost connection after RCPT from unknown[222.65.81.133]

こうしたことから、open proxyはspammerに大人気。まあちょっと言い過ぎかも知れないが、最近のspamの殆どはopen proxy経由ではないかと・・・・。


2.OpenProxyを意識した俺的squidの設定

俺の場合の設定。■色の部分がみそです。■色は説明です。

# vi squid.conf

# Default:

http_port 3128 ←Proxy接続時のPort番号(デフォルト 3128)8080が多いです。

hierarchy_stoplist cgi-bin ? ←ここで指定した文字列がURL中に存在したらキャッシュしない。

acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY ←このようにURLのパスにcgi-bin \?が有る場合はキャッシュしない。

cache_mem 10 MB ←キャッシュとして使用するmaxメモリ容量を決める。

cache_dir ufs /usr/local/squid/cache 200 16 256 ←キャッシュを置くディレクトリと容量を決める。俺の場合、200MBの容量で16分割されそれぞれに256のフォルダが作られてその中にキャッシングされる。

cache_log /usr/local/squid/logs/cache.log ←キャッシュログのパスを定義。

cache_store_log /usr/local/squid/logs/store.log ←ストアログのパスを定義。

cache_access_log /usr/local/squid/logs/access.log ←アクセスログのパスを定義。

ftp_user mity@kozupon.com ←ftpサイトへアクセスするときのパスワードの役目をするメルアド。

acl all src 0.0.0.0/0.0.0.0 ←ここいら辺、全てアクセス制限の記述。OpenProxyにならないためにはここをしっかりと設定する。 

acl manager proto cache_object  ←cachemgr.cgiと言う統計情報を出すためのプログラムが使用するcache_objectにmanagerという名前を定義している

acl localhost src 127.0.0.1/255.255.255.255 ←ローカルホストの定義。

acl SSL_ports port 443 563 ←SSLポートを定義(Defineのようなもの)。

acl Safe_ports port 80 21 443 563 70 210 1025-65535

acl CONNECT method CONNECT

acl mitynet src 192.168.255.0/255.255.255.0 ←ローカルネットワークをmitynetという名前で定義。

http_access allow mitynet ←mitynetで定義されているローカルネットワークはアクセス許可。

http_access allow localhost ←ローカルホストはアクセス許可。

http_access deny manager

http_access deny !Safe_ports ← Safe_portsリストにないポートへのURLでのポート番号指定を禁止。

http_access deny CONNECT !SSL_ports ←SSL_portsリストにないポートへの接続を禁止。

http_access allow mitynet ←mitynetで定義されているローカルネットワークはアクセス許可。

http_access deny all ←それ以外は全てアクセス禁止。

icp_access deny all ←icpアクセス全て禁止。

visible_hostname Secure ←HTTP_VIAで見えるドメインは、Secureと表示される。

forwarded_for off ←プロキシを使用してるローカルIPを隠蔽

注) http_accessパラメータは、必ずallowを設定してからdenyを設定すること!混在させると書き方によっては、全て許可になったり、全て拒否になったりするので注意すること。

以上

コメント