• ベストアンサー

【Apache】httpsのときだけ認証を行うことって出来ますか?

これまで社内向けに使っていたWebサーバを、社外からも利用出来るようにしようと考えています。 社外からやりとりしてもいいように、同じホスト名で、http、httpsの両方が使えるようにしました。 これに加えて、社外からのアクセスにのみ、ベーシック認証を行うようにしたいと思っているのですが、そういった設定は、どのように行うものなのでしょうか? ご存知の方がいらっしゃいましたら、教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • slackware
  • ベストアンサー率59% (22/37)
回答No.4

'http'および'https'でアクセスしたときの DocumentRoot が同一であれば、以下のように すれば実現可能だと思います. 例) DocumentRoot --> /usr/apache/htdocs 社内の IP アドレス --> 192.168.1.0/24 --+--+--+--+--+--+--+--+--+--+--+--+--+--+-- <Directory /usr/apache/htdocs> AuthUserFile /usr/apache/.htpasswd AuthGroupFile /dev/null AuthName "enter username and password" AuthType Basic require valid-user Satisfy any order deny,allow allow from 192.168.1.0/24 deny from all </Directory> --+--+--+--+--+--+--+--+--+--+--+--+--+--+-- 社内(192.168.1.0/24)からのアクセスの場合は、 BASIC 認証のダイアログは表示されません. 社外(192.168.1.0/24以外)からのアクセスの場合は、 BASIC認証のダイアログが表示されます. 他には、'http'と'https'での ".htaccess (AccessFileName )" の 参照先を別管理することもできると思います.

question01
質問者

お礼

出来ましたー!! すごく難しく考えていたんですが、".htpasswd"の設定だけで出来てしまうんですね。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.3

結論から言えば、”できます”。 >これまで社内向けに使っていたWebサーバ の環境の詳細が分からないので、お尋ねしますが、 内・外の区別は、IPアドレスで判断ですか?

question01
質問者

補足

ご回答ありがとうございます。 中か外かの判断は、IPアドレスでするか、もしくはホスト名を変えようかと思っております。

全文を見る
すると、全ての回答が全文表示されます。
  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

ちょっと手間がかかると思うし、手元にあるオライリーのApacheハンドブックを見た限りで(mod_rewriteを使用していないのであまり詳しくない上で)書いているので本当に実現性があるか分かりませんし、ご希望しているものと一致しているのか分かりませんので一応実現可能か分からない1アイデアのとして書きます。 社内向けとバーシック認証が必要な社外用のページを2つ作成し、リライトモジュール(mod_rewrite)のRewriteCondディレクティブあたりでREMOTE_HOSTかREMOTE_ADDRで社内/社外からのアクセスか判断し、社内以外からのアクセスの場合にはRewriteRuleディレクティブでURLを書き換えて用意した社外用のページに飛ばすというのはどうでしょうか? もし、URLのリライトの設定に詳しい方で実現性があるか補足してもらえたらありがたいです。

question01
質問者

お礼

ご回答ありがとうございました。 No.4さんの方法で、どうにか設定することが出来ました。 いろいろ書き込んでいただいて、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • 10gate
  • ベストアンサー率42% (50/117)
回答No.1

こんにちは。 社外と社内を区分けするのが通常IPアドレスだと思うのですが、 それだといいディレクティブがないですね。拒否とかならできるのですが・・ SSLを使うためにホスト名も一緒、と。 もしDNSが社内と社外で別なのでしたら、IPアドレスを分けて、 IPバーチャルホストで可能だと思いますが、DNSが社内外で1つでしたら無理な気がします・・。

question01
質問者

お礼

ご回答ありがとうございました。 No.4の方法で、どうにか設定することが出来ました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • IISの認証(セキリュティ)について

    IIS認証の設定(セキリュティ)について教えて下さい。 現在Windows2000serverにIISの認証を設定しています。 設定内容 社内用セキリュティ      (1)IIS既定WebサイトのScripts/cb4のプロパティで「ディレクトリセキリュティ」ー       「匿名アクセスおよび認証コントロール」-「編集(E)」「基本認証」にチェック       を入れている。クライアントパソコンから、http://サーバー名/scripts/cb4/office.exeを起動すると       パスワードの入力画面が表示される。      外部(社外用)セキリュティ      (2)IIS既定WebサイトのScripts/cb4のプロパティで「ディレクトリセキリュティ」ー「IPアドレスとドメイン名の制限」       -「編集(E)」「拒否する」にチェックを入れて、許可したい人のIPアドレスを入れている。 上記の設定の場合は、社内で運用する場合はよいのですが、 社外(外部)から http://サーバー名/scripts/cb4/office.exeにアクセスした時に、決められた人だけアクセス した時に、パスワードの入力画面を表示させないで入る方法はできないのでしょうか。 IIS認証の設定(セキリュティ)で出来る方法があれば教えてください。 出来なければ、ほかの方法で(例えばCGI、Jaba他)出来る方法を教えてください。

  • Apacheでのベーシック認証

    Apacheでのwebサーバのベーシック認証を勉強しております。.htaccessにてvar/www/html/jikken/index.html をhttpsでしかアクセスできなくし、ベーシック認証にも成功いたしました。ですがvar/www/html/index.htmlには同じ設定をしてもhttpでアクセスできてしまいます。httpsの場合はきちんとベーシック認証をしてくれるのですがhttpの場合はアクセスできてしまうとともにベーシック認証もしません。 .htaccessの設定は SSLRequireSSL AuthUserFile /etc/httpd/conf/.htpasswd AuthGroupFile /dev/null AuthName "please enter your name" AuthType Basic require user hoge としてあり、httpd.confでは Directory "/var/www/html"> 以下の変更点はAllowOverride Allです。 OSはLinux Fedora Core 4です。 まとめるとhttp://hoge.jp/jikkenはアクセスできなくて(httpsで無ければアクセスできない+ベーシック認証) 同じ設定でhttp://hoge.jpではアクセス出来てしまうということです。(httpsのときは正常に作動する) ご教授よろしくお願いいたします。

  • Apache2.2.9でのBasic認証について

    当方Apache2.2.9にてWebサーバーを構築しております。 実験にてBasic認証を試してみたいのですが、どうしても うまくいきません。 /home/server/.htpasswdを作って /var/www/html/に.htaccessを設置しております。 .htaccessの内容は以下の通りです。 AuthType Basic AuthName "AUTHORIZED AREA" AuthUserFile /home/server/.htpasswd Require valid-user /var/www/html/以下のHTMLにブラウザからアクセスすると 認証プロンプトは表示されるのですが、認証されません。 USERとPASSは絶対に間違っておりません。 エラーログを見てみたところ下記のログがありました。 (13)Permission denied: Could not open password しかし、/home/server/.htpasswdのパーミッションは604に 設定してあります。 何かおかしい点はございますでしょうか? どうか教えてください。

  • FileMaker Serverの外部認証について

    FileMaker Serverの外部認証を使って、OS X ServerのOpen Directoryでクライアントアクセスの認証を行いたいのですが、上手く行かず困っています。 全くチンプンカンプンの状態だったのですが、マニュアルを見ながら行った操作を記載すると・・・ まず、FileMakerで作成したデータベースを外部認証が可能なように設定し直してホストさせました。 FileMakerアカウントでのアクセスは可能であることを確認。 FileMaker Serverのディレクトリサービスタブに、以下のように入力。 ディレクトリサーバー名:「サーバーのIPアドレス」 識別名:空欄 オプション情報:全て空欄 ログイン設定:Windows認証~は、チェック無し 匿名ログイン としました。 上の設定もなにか致命的に間違っている気がしてなりません。 というか、この設定の意味が分かっていません。 上手く登録出来ていれば、クライアント側のFileMakerで 「LDAPで一覧表示されるホスト」 に表示されるのではないかと思うのですが、待てど暮らせど出てこないので恐らく設定が上手く行っていないのだと思います。 どなたかこの設定方法が分かる方教えていただけませんでしょうか? ちなみにLDAPでの認証自体は、ドメインにログオンする際など正常に機能しています。 OS X Server側で何かLDAPの設定をしなければならないのでしょうか? それとも やはりFileMaker Serverの設定がおかしいのでしょうか? どうぞ、よろしくお願いいたします。

  • 【Apache】バーチャルホスト設定時のユーザ認証について

    はじめまして。バーチャルホスト設定時のユーザ認証の挙動について、質問させてください。 バーチャルホストにて、同一WWWサーバ上に2つのサイトを構築した場合、WWWサーバにおけるユーザ認証(BASIC、DIGEST認証など)は、サイト単位に設定できるのでしょうか? 例えば... 一つ目のサイト:www.hoge1.com 二つつ目のサイト:www.hoge2.com とした場合、www.hoge1.comでの認証は『BASIC認証』、www.hoge2.comでの認証は『DIGEST認証』などと言った設定は可能なのでしょうか? お忙しいところ、大変申し訳ございませんがご回答宜しくお願い致します。

  • Apache2上のWebDAVで、毎回認証の回避方法

    Linux上のApache2.0.46でmod_davを使ってWebDAVを構築しました。 WindowsXP上のIE6でアクセスしています。マイネットワークの中にある、 "xxxxxx(ホスト名) 上の xxxxx(パス)" という名前のアイコンをクリック すると接続され、認証ダイアログが出て、パスすると通常のフォルダの ように表示されます。 基本認証とSSLの環境もできて、データのやりとりができるようになった のですが、Excelファイルをダブルクリックすると、毎回認証ダイアログ が出てしまうのです。 私の環境(XP Professional SP2)では、ダブルクリックして開いてしまう (認証ダイアログも出てしまう)のは、*.xlsファイルだけですが、お客さ んの環境では*.txtファイルも同じようになるし、*.wmvファイルについ ては2度認証ダイアログが出てしまうということでした。 一度そのエリアにて認証を行えば、再度認証ダイアログを出さないで済 む方法についてご存じのかたはいらっしゃいますでしょうか。 また、ダブルクリックしてもExcelが開かない方法があるでしょうか。 なお、MSのサポートページでは 「Web 共有上のファイルを開く際に認証ポップアップが表示される」 http://support.microsoft.com/kb/906902/ja という記事があり、仕様であるようですが…。 書いているうちに、この問題はサーバ側のしくみには関係ない(クライア ント=Windows側の問題である)気がしてきました…。であれば私には責任 がないのですが、できないならできないで、原因をはっきりさせたいと 思いました。 よろしくお願いします。

  • SSHポートフォワードとIPSEC、どちらを選ぶ?

    社外から社内へのリモートアクセス要件があります。 現状、 ・社内にLinuxサーバを設置 ・社外と社内の間に設定されたルータについて、社内のLinuxサーバへのSSHポートを開放 ・SSHはユーザIDとパスワードによる認証 ・社外からSSHポートフォワードにより、社内へ接続 といった運用をしています。 セキュリティ確保のため、 ・SSH接続に公開鍵認証方式を利用 の対応をする予定ですが、 ・ルータのIPsec機能を用いて、公開鍵認証方式により接続 も検討しています。 ・どちらの接続方式の方が良いか。 ・それはどういう理由か。 について、教えて頂けませんでしょうか。 以上、宜しくお願いいたします。

  • 基本認証の設定について

    初めて質問させていただきます。 現在ホームページを作成しており、基本認証をかけて限られた人にのみ公開できるようなホームページを作成しようと考えています。 しかし、基本認証ではパスワードなどの情報が暗号化されずそのまま送られてしまうということなので、SSLを設定しました。そしてその後、基本認証の設定を行いました。 基本認証の設定自体は成功し、ちゃんと認証画面がでてき、ログインすることができます。 が、この認証画面はhttpでのアクセス時には出てこなく、httpsでのアクセス時にしか出てきません。 httpとhttpsの両方で基本認証をかけたいのですが、その方法がわかりません。 もしご存知の方いらっしゃいましたらご教示いただければ幸いです。よろしくお願いします。 ※サーバOSはubuntu9.10で、基本認証の設定は.htaccessと.htpasswdを作成して設定しました。

  • SSHのホスト認証について

    現在VineLinux3.2を使ってサーバの勉強をしている、ド素人です。 SSHのユーザ認証が、 (1)サーバ側で乱数生成→クライアントの公開鍵で暗号化→ (2)クライアントに送信→ (3)クライアントが受信→ (4)秘密鍵で複合化→サーバに送信→ (5)サーバはクライアントから送られた乱数を確認して認証 という流れで、なるほど、これでユーザを認証できるってのは分かるのですが、 ホスト認証がよくわかりません、 SSHでサーバにアクセスすると、 サーバの公開鍵が ~/.ssh/knows_hosts に登録されますが、 この公開鍵を使って、ユーザ認証と同じ方法で接続先ホストを認証してるのでしょうか? そうだとしたら、 2度目のアクセスからはホストを認証するのに、 この~/.ssh/known_hostsの 公開鍵を使った方法が有効だというのは分かりますが、 一番最初のアクセスではこの公開鍵を使ってもホストの認証は出来ないと思うのですが(接続先から送られてくる公開鍵を使うだけなので) どういう仕組みになってるのでしょうか? よろしくおねがいします。

  • Postx社内PCからのみSMTP認証を不要にした

    こんにちは。 Postfix+dovecotでメールサーバを構築しています。 SMTP認証を設定していて、認証が通らないクライアントからのメール送信ができないように設定していますが、 社内のあるクライアントからのメールが送信できません。 以下のエラーログが表示されます。 NOQUEUE: reject: RCPT from unknown[192.168.0.xxx]: 554 5.7.1 <unknown[192.168.0.xxx]>: Client host rejected: Access denied; from=<rejecteduser@server.co.jp> to=<destination@server.co.jp> proto=SMTP helo=<xxxxxx> 実はこれ、メールサーバと同じ社内LAN上のPCにインストールしてある、LiveCapture2というWebカメラからのコマンド返信メールなのですが、このLiveCapture2のメール設定には、SMTP認証の設定が無いようなのです。 そこで、Postfixの設定で、社内のPCからのメールだけ、SMTP認証が不要にできる設定などありましたら、ご教授頂けないでしょうか。 よろしくお願いします。

このQ&Aのポイント
  • MR-ICD102BK カードリーダーのドライバーがErrorが出てインストールできません。
  • Setupの言語を日本語でOKした後、エラーとなりインストールできません。
  • マイナンバーカードの読み取りができなくなり困っています。解決方法を教えてください。
回答を見る