<< 2024/03 >> | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|
Proxy Server を作ってみました。
12/09/18 13:48 / その他のソフト
PMail Server には、Inbound Block が実装されていますので、まったくもって問題無いのですし、Apache2 にも IPブロック単位で deny できますので問題無いのですが、うちで利用している FTP サーバーにはこの機能がありません。
(動的フィルタはあるんですが) やりたいのは、FTP の Port21 を日本国内以外を全てブロックしたいのです。 netsh advfirewall を使って、ブロックかましているのですが、netsh のログがいまいち気に入らない(^-^; あと、Subnet Mask or CIDR でしか設定できないので、192.168.0.57 - 192.168.1.11 というレンジ設定も出来ないのが気に入らないのです。(複数のサブネットマスク跨いでブロックするには、複数行記述しなければならない) てなことで、Proxy Server を作ってみることにしました。 というても、もう作ったのですが。 最初、全然動かなくて「なんでだ!」と1日ほど悩んでいたのですが、なんてことは無く、bind() を複数箇所で実行していただけという体たらくぶりです。 PMail Server のコアを利用して作っているので2日(実質1日)で出来上がっている訳ですが。 Proxy Server ソフトは他のサーバーと比べてソフトの数が少ないので、余り馴染みが無いのですが、動作原理としては・・・ 1)サーバー側で特定のポートを開いて待機する。 ただし、例えば FTP の場合、Port21 で待機する必要がありますので、Proxy 側で 21 を開き、FTP 側では 10021 のようにポートを変更する必要があります。 2)サーバー側で待機しているポートに接続があったら、accept() して受け付けます。 同時に、Proxy 先?のポートに connect() して接続をします。 3)後は単純に、accept() したソケットからデータが流れてきたら、connect() したポートにそのまま流すだけです。 元々 Proxy Server は HTTP のキャッシュなども行う目的がありましたが、その場合は、クライアントから要求された HTTP コマンドから URL を抜き出して、Proxy Server が持つ Cache と一致した場合は、Proxy 先のポートに connect() せずに、Cache をそのまま送り返すという仕組みです。 取りあえず、試作品では Proxy 先を 127.0.0.1 に限定しているのですが、IP も指定できるようにすれば、トンネル的なソフトにもなります。 更にクライアント側も作って、TLS などで暗号化送受信すれば VPN にもなる感じですね。(多分) パケットを更にパケットで包まず、パケットのヘッダを書き換えるようにすれば、あらびっくり NAT にもなるって代物です。 取りあえず簡単に IP アドレスでブロックしたい為に作ったので、それが実現できれば満足なのですが、ちょっとネタ的に面白いので、ちょいちょいと機能を実装していこうかと思います。 [更新日付:2012/09/18 13:48:55]
トラックバックを見る(0) Log Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+dc7cefff1a0b0e96f7e7ff859d2f11437e7aab0d] TB Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+dc7cefff1a0b0e96f7e7ff859d2f11437e7aab0d] 記事へのコメント コメントはありません |
@AKISoftOfficialをフォロー
掲示板 サポートBBS PMailServer BBS アクセスの多い記事
最新記事(カテゴリ別)
フリー版からの製品版移行時の MTA 並列数について
02/17 23:52 メールサーバーの開発を始めて20年 02/07 21:46 PMailServer2 Version 2.52a をリリースしました。 12/26 14:02 PMailServer2 Version 2.52 をリリースしました。 10/01 10:48 PMailServer2 Version 2.51b をリリースしました。 09/19 01:43 PMailServer2 Version 2.51b(仮) Memo 09/12 00:33 PMailServer2 Version 2.51a をリリース、及び脆弱性についてのお知らせ 09/05 01:15 PMailServer2 Version 2.51a Memo 08/21 00:48 アドレスV125(K5)のスターターリレーの交換 08/04 10:10 SanDisk ポータブルSSDを買ってみました。 08/04 09:41 最新コメント
コメントはありません
UUアクセス数
今日は 186回
昨日は 159回 トータル 300903回 3ヶ月記事別ランキング
プロフィール
Z80から68系、8086系を経由して
Pascalに移行。現在は Delphiをメインに C/C#も囓ってみたり。 「無い物は作れ」の精神で年がら年中なにかを作っています。 すぐ自前で作りたがるので無駄に工数が上がったりして自爆してみたりもします。 好きな物は麺類とお煎餅 Blom内検索
BLOM Version 1.39 ©2007-15 A.K.I Software all rights reserved. |