だいじゅさん、
CGIでは、ユーザ入力をそのまま system などで実行する、というのが危険な代表例です。
たとえば、
$data = $ENV{'QUERY_STRING'};
system("$data");
とすれば、やりたい放題になります。
もちろんこんなことはしないのが普通ですが、スクリプトが複雑になると結果的にこうなってしまうことはあります。
標準入力やその他の環境変数など、ユーザ入力はチェックする、というのが防御手段になります。
また、一部の掲示板スクリプトなど、SSI実行可能なファイルにユーザ入力が入る場合も同じ理由で注意が必要です。
さらに、HTTPの基本認証ではユーザ名/パスワードは暗号化はされずに流れますから盗まれる可能性は0ではありません。
が、総じてそれほど神経質になる必要はないとも言えますね。
>だいじゅさん
危ないかどうかという点に付いては危ないです。
というよりどういう場合でもちゃんと考えてCGIを作るのが良いと思います。
>中田さん
>これらのセキュリティホール以外ではパソコンの中身をいじられる心配はありません。
>要は、最新版を使ってください、ということになります。
>ただし、HTTPサーバにかかわらず(自作ないし改造した)CGI/SSIはセキュリティホールを作っ>てしまう可能性はあります。
早速のレスありがとうございます。
安心しました。常に最新版を使うということでいいみたいですね。
しかし、自作のCGIを作っていますが、こちらのセキュリティホールが気になります。
ユーザ認証をおこなって、アクセスコントロールする予定ですが、
パスワード等を記入しないと入り込めないパスにあるCGIプログラムも危ないのですか?
>ぴゅあさん
早速のご返事ありがとうございました。
現在はNTを導入することが困難な状況なので、折をみていれたいと思います。
あと、サーバ用のパソコンを導入することで、検討していきたいと思います。
>Win98で効果があるかもしれないWeb Booster Ninja 2の紹介を電子掲示板で。
>ちっとだけ。
>早く整理しまする。(>_<)
どういったソフトなのかはわかりませんが、期待してまってます。
だいじゅさん、
AN HTTPD のセキュリティホールについてはセキュリティ情報にまとめました。
今後もセキュリティ上の問題が出てくることはありえますが、その時までにわかったものは最新版で直すようにしています。
これらのセキュリティホール以外ではパソコンの中身をいじられる心配はありません。
要は、最新版を使ってください、ということになります。
ただし、HTTPサーバにかかわらず(自作ないし改造した)CGI/SSIはセキュリティホールを作ってしまう可能性はあります。
>だいじゅさん
一応σ(^ー^;)の見解。
特にAN HTTP Serverを使うことに限っては適当な設定を行いセキュリティの問題となるよう
なものを含まないようにしておけば問題ないと考えます。
またWin95/98かWinNTかという点に関してはアクセス制限だけでなくSSI/CGIをよりUNIX環境
に近い状態で使えるということ,Win98よりは快適に稼動するだろう,WinNTの安定性という点
でWinNTが選択できるならWinNTの方が絶対お勧めといえると思います。
なおWin95/98ではAN HTTP Serverの環境として適していないと思われてもあれですので個人
テストレベルでは全く支障はないでしょうと付記しておきます(本格的なテストを行う場合は考
えなくてもいい支障で悩まされることも?)。
セキュリティに関しては既に挙がっていることを参考にしてみては。
サーバ用に別のマシンを用意するかどうかはそのマシンの直接使われている状況(頻度)と
アクセス状況によるでしょう。
少なくともWin95/98では通常の使用と平行してAN HTTP Serverを稼動させるのはきついので
はないかと思います。
☆余談
Win98で効果があるかもしれないWeb Booster Ninja 2の紹介を電子掲示板で。
ちっとだけ。
早く整理しまする。(>_<)
はじめまして、いままでhttpdをCGIのテストとして用いていましたが、
今回、大学の研究室のHPを作成することになりまして、お聞きしたいことがあります。
学内はLANでつながっているのですが、今現在使用している自分のパソコンをサーバに
しようと考えています。そこでセキュリティなどのことがよくわかりません。
Windows98を使用していますが、NTでファイルごとにアクセス制限ができるほうがいいのでしょうか?
不正なアクセスなどされてパソコンがいじられるというようなことは簡単にできてしまうものなのですか?
それと、サーバ用にパソコンを用意したほうがよいのでしょうか?
あまり重要なファイルなどはありませんが、パソコンをいじられるのはイヤという程度なので、
アクセス管理やセキュリティ管理などはどのようにおこなったらよいのでしょうか?
あまりよくわかっていないのでわかりづらい文章になってしまいましたが、
教えていただけたらと思います。