FTPサーバについては、もちろんその限定つきです。そうでなければそもそもHTTPサーバを使うことが危険ということになります。
なぜそういう条件であぶないのかを考えてもらえばわかると思います。
あと、中田さん・imamuraさん・ちひゃさんのお話で気になったのですが、あのお話は「FTPサーバを使ってHTTPサーバでアクセスできるところに任意のCGIファイルを置くことができて、そのCGIが実行できるという設定」という限定で、これを避ければFTP・HTTPサーバを共存させてCGIを実行出来る環境でも問題は無いのでしょうか?
ちなみに私のPCにはFTPサーバは無いのですが、<先日の私の件>+<CGIが実行できるという設定>でも同様な気が…。
もしこの考え方が合ってる場合、やはり有効な防御法は無いのでしょうか?
本当にすみませんが中田さんを始め有志の方々、宜しくお願い致します。
m(_ _)m
中田さん
すいません、聞く必要はなかったのですが、チャットで同じことを聞いたところ
「特に気にしなくてもいいはずですよ〜」
といわれたもので、そんなはずないと思いここでまた聞いたのです。
変なことを聞いてしまいすいませんでした。
imamura さん、
何をいまさらという感じがしますが、そういうことができるCGIは容易に作れます。そして、そのCGIを設置できて実行できるように設定してあれば、もちろん実行できます。
ちひゃさんが書いている内容は理解できているのでしょうか?
こういった話が理解できるようになるまでは、知り合いとはいえ他の人にスペースを貸すなどというのはやめた方がよいと思います。
それではCMD.exeをCGIから起動してコマンドを実行されてしまうのでしょうか?
たとえば削除のコマンドやformatなど。
imamura さん
そこが windows でサーバを構築するときのつらいところですね。httpサーバのソフトでいくら厳重にしようとも、任意のプログラムの起動を許せば、結局は何でもできてしまいます。
私も知り合いに場所を貸していますが、結局 SSI と CGI の実行は許可していません。ただ、カウンタと掲示板だけは自作のを用意して、それを設置したところだけ実行を許可しています。もちろん、その場所に対しては FTP でアクセスできないようにしています。
残念ながらこれ以上の良い案が思い浮かびませんねぇ。
imamura さん、
CGIの中ではもちろん使えます。 別に cmd.exe に限らず何でも使えます。
そのCGIにアクセスすることで実行することができます。
FTPサーバを使ってHTTPサーバでアクセスできるところに任意のCGIファイルを置くことができて、そのCGIが実行できるという設定であれば、そのCGIに記述してある通りに実行できます。
CGIをユーザが自由に設置できる状態では防ぐ方法はないと思います。
>>imamura
CGIとはPerlスクリプト等のプログラムの事ですよね?
デフォルトではSYSTEM権限で動いていると思うので、
大体の場所がアクセスが可能だと思います。
権限を変更しアクセスできるディレクトリを制限した方が良いと思います。
>imamuraさん
断言はできませんがNimda等でも狙ってきますし、通常のアクセスではパスが通りません。
僕はC:\やd:\等危なそうな箇所にアクセス制御をかけています。
↓この場合何か副作用もあるかも知れませんが、
C:\WINNT等空のフォルダにエイリアスをかけるという手もあると思います。
追記ですが、
OSはWINDOWS2000PROでハードディスクはNTFSですべてフォーマットされています。
お聞きしたいことがあるのですが
D:\httpdのフォルダでANHTTPDを実行させ、
C:\WINNT\system32\cmd.exe
とCGIに記述した場合実行されてしまうのでしょうか?
知り合いにホームページスペースを貸しているのでFTPサーバを動かしておりパスワード漏れが起き、悪質なコマンドを実行されてしまうのではないかと心配になったのでお聞きした次第です。
もし実行されてしまうならば何とかして止める方法はあるのでしょうか?
教えてください、よろしくお願いします。