![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
PHPでWEB管理者専用のニュースリリースページ更新フォームの作成を検討しています。
(ページ新規作成・編集と、その更新情報をトップページの新着情報欄でお知らせ。)
PHPプログラム自体のXSSなどのセキュリティ対策はもちろんですが、
セキュリティを考慮し、更新フォームは管理者専用にベーシック認証+管理者PCのIPのみ許可するアクセス制限を設けたディレクトリに設置予定です。
さらにセキュリティリスクを下げるべく、更新フォームPHPで入力した情報で
HTMLページを生成し、一般ユーザーにはその静的なHTMLのページを公開しようと考えています。
(トップページおよび個々のニュースリリースページも静的HTML。PHPページは管理者ページだけ)
一般ユーザーにPHPページを見せないだけでも、かなり安全かと思いますが
この方法で考えられるセキュリティリスクおよび対策は他にどんなものがあるでしょうか?
例えば、
・管理パスワードの漏洩→頻繁にパスワードを変更する
・IP許可している管理者PCの乗っ取り→ウィルス対策・ログ監視
そもそもサーバーへ不正侵入でもしない限り、PHPのページを一般に公開していなければ、
PHPがインストールされてるだけでは何か悪さをされる可能性はないのでしょうか?
PHPは脆弱性が多いという情報はたくさんでてきますが、プログラミングの問題であって
XSSやSQLインジェクションなどの対策さえきちんとしておけば、
サーバーにPHPをインストールすること自体にそれほど心配する必要はありませんよね?
No.1ベストアンサー
- 回答日時:
> サーバーにPHPをインストールすること自体にそれほど心配する必要はありませんよね?
インストールすること自体では無いといっていいでしょう。
質問中のPHPを他の言語に置き換えても、得られる回答にさほど大きな違いは無いと思いますよ。
なんだかとてもナーバスになっていますね。
安全性の確保は利便性とはトレードになってしまう場合が多いので、
自分達にとって、驚異となるものは何か?を定義してみてはどうでしょうか?
不必要な対策を講じることにより、やたらと複雑で誰もわからなかったり、サービスとして体をなさなかったりする場合もありますよ。
僕の場合ですが、想定外の入力によって、サービス外のリソースにアクセスできると驚異になるという観点から、
・入力値で許容するものを明確化する
・必要の無いサービス・プログラムは入れない。
・外部連携は、必要な範囲で絞る
・作業手順をなるべく簡素化する
・その画面での関心ごとを明確にする。( PHP でいうところの 不要な require, inclde はしない構成にする等 )
ということをシステムに織り込んでいきます。
システムは(関連性を持った)系なので、プログラムだけの対応では穴は塞がらないという意識からです。
# System という単語自体 "系" と訳しますもんね。
上の僕の場合は”誰が、何を”に偏ってます。
”いつ、どこで”などに制限をかけることで、サービス自体が枯れていく(だれも使わない)状態にならないようにとの配慮からです。
誰も使わないと管理から外れ(忘れ)やすく、それもまた驚異となりうるので。
まぁ状況によってポリシーは変わっていくので、場に合わせた対応を取るのが一番でしょうね。
ご回答ありがとうございます。とても参考になりました。
サーバーへPHPを導入するにあたって、
「PHPをインストールするだけで脅威になりえるのでは?」という管理者からの懸念に、
私自身も浅学なためサーバーの詳しい部分まではわからず、的確に答えることができずにもやもやしておりました。
ご教示頂いたアドバイスを参考に、対応を検討してみます。大変丁寧なご回答ありがとうございました。
No.3
- 回答日時:
ふと思っただけなんで聞き流してください。
>更新フォームPHPで入力した情報で
HTMLページを生成し、一般ユーザーにはその静的なHTMLのページを公開しようと考えています。
PHPのページを一般ユーザーに使わせないのなら、ローカルにXAMPPとか入れて、そこで生成したHTMLをアップロードすればいいんじゃないかな~とか思ったり。
まぁ、ネット上のリソース使って生成するから、そういう仕様にしてるんだろうとも思いますけど。
ご回答ありがとうございます。
ローカルでXAMPP入れたり、マクロを組むなりしてページを生成する方法も検討したのですが、
そこまでするならサーバーのPHPを使ったほうが便利だろうということになりました。
たしかに一般ユーザーにPHPを使わせないのであればローカルで完結させるのも一つの手ですね。
No.2
- 回答日時:
No1さんの回答にほぼ同意です。
心配する必要は限りなくゼロです。
しかしセキュリティに関してはパラノイアであるべき、疑いまくれ、という言葉もありますので、
質問者様の姿勢はとても良いと思います。
それからセキュリティポリシーをある程度定義してそれに従うというのがいいと思います。
明示化されていれば複雑になってもいいはず。
どれくらいのレベルで保つのかについては、やはりバランスです。
それから時たまphpの更新情報・バグフィックスなど追いかけるのもいいですよ。
ご回答ありがとうございます。とても参考になります。
たしかにセキュリティについては絶対というのが無いので、疑ってかかるのは大切だと思います。
セキュリティポリシーを定義するというのも良さそうですね。一度詳細を検討してみます。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- PHP PHP ページング データベース 1 2022/06/16 10:30
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
- ホームページ作成・プログラミング ログインしないとみることができないWebページの作成方法 3 2023/07/29 13:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP PHP MySql ページング 2 2022/09/20 06:38
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- その他(セキュリティ) 役所など、情報系システムのセキュリティが弱くても業務システムに問題ないか 3 2022/11/02 16:38
- MySQL 「掲示板のログイン画面」はPHP~MySQLに「データベース認証のシステム」方式です。 1 2022/09/27 05:00
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワーポイントで参照ページを...
-
<IFRAME>でコンテンツ部分のみ...
-
エクセルVBAでマルチページの切...
-
ページの自動ジャンプを止めるには
-
アクティブレポートの、ページ...
-
TOMCATを入れたPCのHTMLが別PC...
-
UserForm.showでマルチページ1...
-
Excel2007 VBA で2ページ目PDF
-
VBAでマルチページのページ指定...
-
リンク先のアドレス欄のURLの表...
-
自作PHPブログでの記事を10件ず...
-
HIPOをくわしく知りたい
-
動的型付けと動的ページについて:
-
Google maps API
-
用語集を作りたい
-
グーグルに、トップページ以外...
-
HTML5 ヘッダータグって必須で...
-
Web日記の編集について
-
HTMLページにFLASHのレイヤー?
-
相対パスで別なサイトを参照で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<IFRAME>でコンテンツ部分のみ...
-
パワーポイントで参照ページを...
-
エクセルVBAでマルチページの切...
-
VBAでマルチページのページ指定...
-
UserForm.showでマルチページ1...
-
TEX ページ番号について
-
ページの自動ジャンプを止めるには
-
検索エンジンにインデックスさ...
-
アクティブレポートの、ページ...
-
各ページの1番上の表示について
-
HIPOをくわしく知りたい
-
Excel2007 VBA で2ページ目PDF
-
TOMCATを入れたPCのHTMLが別PC...
-
アクセス元URLをばれないよ...
-
「リロード」ボタンをページ内...
-
検索順位が下がった
-
IE を開いてページ内のリンクを...
-
書かれているURLと飛んだ先のUR...
-
ASP.NETでログイン認証をしない...
-
ワンクッションページの構造
おすすめ情報