@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

自宅サーバ公開に関して(セキュリティなど)

投稿者投稿内容
タカタン
常連さん
会議室デビュー日: 2005/07/16
投稿数: 21
投稿日時: 2005-08-15 13:04
こんにちわ
以前ここで質問させていただいて、
的確なアドバイスをいただけて大変助かりました。

現在
独自ドメイン取得 
Webサーバ(apache)
ftpサーバ
sshサーバ 
などの設定をしました。

一時的(自分がサーバを操作する間)に開放しています。

現在の設定(セキュリティ)
ftp:外部から接続NG(ポートを閉じている)
ssh:root接続禁止、PASS接続禁止、管理者ユーザだけ接続可

今考えていることは、Webサーバを公開して、友達にもWebサーバのスペースをあげようと考えています。

で質問なんですが。
Webページで知り合いだけをアクセスさせるページを作りたいのですが
現在設定してあるのは、パスワードファイルを作成しただけです。

@アクセス制限はかけずに、特定の人だけに公開するページを作るには
 なにかよい方法はありますでしょうか?
A現在の設定(パスワードファイルの作成)だと、どのような脆弱性があるのでしょう  か?←なんかの方法でパスワードファイルの中が見えてしまうなど




angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-08-15 14:59
こんにちは。
引用:
Webページで知り合いだけをアクセスさせるページを作りたいのですが
現在設定してあるのは、パスワードファイルを作成しただけです。


これは、Basic認証を設定したということでしょうか。( 一般に htpasswd を使うアレ )

引用:
@アクセス制限はかけずに、特定の人だけに公開するページを作るにはなにかよい方法はありますでしょうか?


Basic認証はお手軽で十分だと思います。
凝るのであれば、Digest認証に替えたり、SSL を導入・クライアント証明書を発行して、接続に証明書が必要となるよう制限をかける等も考えられます。
※社内LANのような運営をしたいなら、VPN と絡める手もありそうですが…。

SSLを使用する場合、公的に通用する証明書を取得するのでなければ、ナンチャッテ証明書を使うことになりますので、注意が必要です。
引用:
A現在の設定(パスワードファイルの作成)だと、どのような脆弱性があるのでしょうか?←なんかの方法でパスワードファイルの中が見えてしまうなど


勿論、パスワードファイルの中が見えるような状況になっているとまずいです。が、運用上気を付ければ良い問題なので、その設定自体に脆弱性があるとは言わないと思います。
ちなみに、Basic認証の弱点としては、

・パスワードが平文 ( 単なる Base64エンコード ) で流れるので、盗聴による漏洩がありうること。
・パスワードの強度によっては、ブルートフォースアタックで破られること。( アタックに直ぐに気付いて対処できるなら別ですが… )

が考えられます。
前者は、SSLでの暗号化を併用するか、Digest認証に替えることで防げますし、後者に対しては、パスワードの有効長を長くして ( DES の替わりに MD5 とか ) かつ複雑にしたり、SSLクライアント証明書を使う方法に替えれば、そんなに心配が無い筈…だと思います。

以上、ご参考まで。

[ メッセージ編集済み 編集者: angel 編集日時 2005-08-15 15:25 ]
タカタン
常連さん
会議室デビュー日: 2005/07/16
投稿数: 21
投稿日時: 2005-08-15 16:45
早い返事ありがとうございます。
angelさんの書き込みを見て。すごい・・・の一言です^^;

今、知り合いだけに公開するページは Basic認証だけです。
もうちょい高度なセキュリティを保ってみたい←勉強したい 
ので SSLを一緒に使ってみようと思いました。

ttp://fedorasrv.com/apache-ssl.shtml さんのHPのmod_sslを使ってみました。
一通りHPを参考に設定してみたんですが、外部から実験が出きませんのでちょっと
心配です^^;
ローカルのクライアント(XP)で実験した場合、
https://サーバIPアドレス/ ← SSLで設定してあるページ
にアクセスすると「セキュリティの警告」ウィンドウが表示されます。
そこで証明書の発行をして、
またブラウザを閉じてもっかいアクセスすると警告ウィンドウが表示れてしまいます;
これってsslがうまく動いてないのですか?それともそういうものなのでしょうか?
SSLがうまく動いているのがわかる方法ってありますか??

angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-08-15 20:15
こんばんは。
引用:
https://サーバIPアドレス/ ← SSLで設定してあるページ
にアクセスすると「セキュリティの警告」ウィンドウが表示されます。


IPアドレスベースのURLを使用すると、全うなサーバ証明書を使っているところでも、警告は出るでしょうね…
例えば、

 https://www.atmarkit.co.jp/
 https://210.131.249.57/

を比べてみると違いが出ます。( @ITさん、申し訳ないですが勝手に使わせて頂きます )

引用:
SSLがうまく動いているのがわかる方法ってありますか??


ブラウザが IE であれば、ファイル→プロパティで、SSL通信の情報も「接続」欄に出ます。

ちなみに、IPアドレスではなく、ドメイン名を使うにしても、ナンチャッテ証明書では警告はどうしても出てしまいます。IE でこれを防ぐ手段はありません。
※ PC の hostsファイルを弄れば、正式でないドメインでも使えます。
※ 本当は手段はあるのですが、禁忌の技なので、無いことにしておいてください。

その点では、FireFox の方が使い勝手が良いです。高木氏のBlog 3/27分をご参考に。
※この高木氏は、SSLも含めWebセキュリティの、恐らく日本での第一人者の方です。他の記事も色々参考にさせて頂いています。

以上、ご参考まで。
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2005-08-16 11:15
誤解を生むといけないので補足しておきますが、ナンチャッテ証明書を使用したからセキュリティが早々低下するというものでもありません。実際、ナンチャッテ証明書も正規の認証局から発行してもらった証明書も物としては同じです。違いはブラウザメーカーによってあらかじめ信用の印鑑を押してあるか押していないかの違いです。

従って、クローズ(例えば社内)などのシステムで、安全な方法(郵送など)でナンチャッテ認証局の証明書を手渡しインストールしてもらうことができるなら、わざわざ正規の認証局から証明書を発行してもらう必要何てありません。

ただ、不特定多数の人に利用してもらうWEBサイトでナンチャッテ証明書を使用すると、利用者に対して「この証明書の安全性を確認することができません」というようなメッセージが表示されてしまうので不信感を与えてしまうでしょう。

特にクライアント証明書については正規の認証局のプライベートCAを購入するくらいならナンチャッテ証明書を使った方がいいと思います。もちろん、グローバルCAの証明書を使うのは逆にもっての他です(逆にセキュリティが低下してしまいます)。

一方、ベーシック認証についてですが、パスワードは8文字の乱文字列を発生させるプログラムで生成したデタラメなパスワードを付与したのであればそう簡単には破られません。有名サイトであれば狙い撃ちの可能性もありますが、個人レベルのサイトではそこまでシビアに考える必要もないと思います。盗聴に関しても、SSLサーバ認証と組み合わせることで防止することができます。(つまり、SSLクライアント認証の手間まで考慮すると、ベーシック認証で十分ということです。だからといってあまりにも簡単なパスワードで済ましてしまうのは問題だと思いますが)


[ メッセージ編集済み 編集者: あんとれ 編集日時 2005-08-16 11:17 ]
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-08-16 12:42
こんにちは。
引用:
実際、ナンチャッテ証明書も正規の認証局から発行してもらった証明書も物としては同じです。違いはブラウザメーカーによってあらかじめ信用の印鑑を押してあるか押していないかの違いです。


確かに、技術的にはその通りなのですが、
引用:
誤解を生むといけないので補足しておきますが、ナンチャッテ証明書を使用したからセキュリティが早々低下するというものでもありません。


こう言ってしまうのには抵抗があります。
正規の証明書の替わりにナンチャッテ証明書を使うのは、その前提やリスク、コストをしっかりと押さえないと、生兵法になると思っていまして。
入門段階としては、「ナンチャッテ証明書≒非SSL」位で考えて良いように思います。
※個人レベルや勉強用であれば、十分ナンチャッテ証明書で良いと思いますが、一般の案件にも持ち込むようだと危ない…

あんとれさんの挙げてらっしゃる前提は尤もだと思うのですが、それでもリスクの問題は出てきますし、むしろ「全部考慮できた上でなら、それもまた良し」だと思います。ハードルは高く…で行きたい所です。

上に紹介しました、高木氏のBlogから、関連する部分を挙げてみます。
 PKIよくある勘違い(1)
 PKIよくある勘違い(2)〜(7)
 PKIよくある勘違い(8) ※上で紹介した3/27分です。
 PKIよくある勘違い(9)

※高木氏は「オレオレ証明書」という用語で表現しています。…正式な用語はあるのでしょうかね? 私は先輩の口癖が移って「ナンチャッテ証明書」と言っています。

以上、ご参考まで。

[ メッセージ編集済み 編集者: angel 編集日時 2005-08-16 12:46 ]
タカタン
常連さん
会議室デビュー日: 2005/07/16
投稿数: 21
投稿日時: 2005-08-16 17:01
angelさん あんとれさん
大変濃い内容の解説ありがとうございます。
大変参考になります。

>ブラウザが IE であれば、SSL通信の情報も「接続」欄に出ます。
SSL 3.0、RC4 / 128 ビット暗号 (高); RSA / 1024 ビット交換
上記の表示がされたということはSSL信号で通信されているということですよね?
ちょっと安心しました。
例えば https://アドレス  ← 接続できる
    http://アドレス   ← 接続できない
というように設定はできるのでしょうか?

主に今回(6月頃〜)自宅サーバを立てた目的は、勉強のためです。実際サーバを構築しながら、ネットワークやセキュリティなどを身につけようということで今にあたります。
angelさんが紹介してくれた高木氏のBlogをよく読んで見たいと思います。
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2005-08-16 17:37
がると申します。
んっと、2箇所ほど突っ込みを。
引用:

あんとれさんの書き込み (2005-08-16 11:15) より:
誤解を生むといけないので補足しておきますが、ナンチャッテ証明書を使用したからセキュリティが早々低下するというものでもありません。


低下します。
詳細はAngelさんが書かれているので省略いたします。

引用:

一方、ベーシック認証についてですが、パスワードは8文字の乱文字列を発生させるプログラムで生成したデタラメなパスワードを付与したのであればそう簡単には破られません。


Basic認証では、やり取りが「平文で」行われること、パスワードデータが
「毎回」流れることなどから、正直「非常に危険な」認証方式です。
SSLに触れられているので、あんとれさんにとっては或いは「書くまでも
なく当然の」話なのかもとは思ったのですが、そのあたりを知らない人も
読んでいるかと思い、一応。
# 「平文で流れる」から、SSLでその「平文自体を読めないように」って
# 感じです。

あと、Basic認証だとブルースフォートアタックが比較的容易です。
抑止機能がないので。
まぁ8桁ですし、試すのも面倒ではあるのですが(苦笑

ちぃと蛇足かとは思いましたが、書き込みをしてみました。

スキルアップ/キャリアアップ(JOB@IT)