42504
**IP制限は必要ですか？**  
・rootログイン不可へ設定したので、通常のログイン画面と強度は同じになると思うのですが、DBに関することなので特別に対策した方が良い？(検索したらIP制限している例が多かったので質問しました)

* * *

**[リンク先](https://qiita.com/CatMan_PG/items/79443079cb9b2e314210)のセキュリティ対策が分からないのですが、URLを「/hoge」に変更した上で、BASIC認証を付けている？**  
・使用する際は、「/hoge」へアクセスしてBASIC認証に成功した後、ログイン画面が表示されるということですか？

* * *

個人的には、phpMyAdminのログイン画面を推測されにくいURLへ変更すればそれで十分な気もするのですが、一般的には、IP制限したりさらにBASIC認証付けたりするものでしょうか？？
CC BY-SA 3.0
2018-03-19T15:46:49.737
42501
2018-03-21T04:01:49.893
7886
question
phpmyadmin
phpMyAdminのセキュリティについて
実際に運用しているサイトのログを見るに、URLを推測されにくいものに変更するだけで、不正アクセスの99%くらいは防げると思います。

あとは、IP制限は設定も簡単で効果は絶大なので、できるならやったほうが良いでしょう。

BASIC認証は利便性が悪くなるので、難しいところです。  
社内ではIP制限でBASIC認証なし、社外ではBASIC認証を使うなどの合わせ技もあります。
CC BY-SA 3.0
2018-03-20T01:23:28.767
42504
2018-03-20T01:23:28.767
2232
42501
answer
どのくらいのセキュリティ強度にするかは、扱っているデータや、流出した場合に失う信頼の度合いによって考えるものだと思いますので、リスクアセスメント次第だと思いますが、BASIC認証はセキュアとは言えませんので
https 化したいところですね。
CC BY-SA 3.0
2018-03-20T08:29:50.443
42523
2018-03-20T08:29:50.443
5008
42501
answer
この手の管理ツールはセキュリティ侵害を受けた場合のダメージが大きいので、インターネットからアクセスできないようにしておくのが基本です。特にphpMyAdminは過去に致命的な脆弱性が何度も発見されており、インターネットにさらして利用するには向いていません。任意コード実行可能な脆弱性の事例もあり、DB以外にもリスクがあります。

内部ネットワークからしかアクセス出来ないようにしておきましょう。レンタルサーバのようなインターネットに孤立したサーバであっても、VPNの経路を作りそちらからしかアクセス出来ないようにしておくようにした方がよいでしょう。

IPアドレスによる制限は次善策です。アクセス元のIPアドレスが固定されており他人と共有していないならそれなりに安全になります。

URLによる隠蔽は外部から攻撃可能な既知の脆弱性をスキャンするようなカジュアルなアタック避け程度にはなりますが、URLは何かと漏洩するものですので、一般にセキュリティ手法と見なされていません。

アクセス制限をした場合でも、認証は必ず設定する必要があります。例えばCSRFのような攻撃にはアクセス制限は無意味です。

phpMyAdminの認証とHTTP認証のどちらを使う方がよいかは使ったことがないのでわかりませんが、HTTP認証の場合BASICではなくダイジェスト認証にしてください。BASIC認証は（ほぼ）生で認証情報が流れますので使ってはいけません。(ブラウザで人が操作する場合以外にはBASIC認証を使わざるを得ない場合もあります）
CC BY-SA 3.0
2018-03-21T02:31:29.973
42532
2018-03-21T02:31:29.973
5793
42501
answer
自動で総当たりでアタックして虚弱性を見つけるツールなどでphpMyAdminはよく狙われます。  
自動ツールのアタックから逃れる目的で、  
URLを推測されにくいものに変更しておくのは割と有効です。  
ポート番号を80以外に変更しておくのもいいと思います。  
DIGEST認証やIPアドレス制限も有効です。

ですが基本的には  
外部からphpMyAdminにアクセスできるようにはしない方がいいでしょう。  
社内からしかアクセスできないようにするべきだと思います。

どうしても外部からも、というのなら上記の対策を行うとか  
VPNなど経由でしかアクセスできないようにするとか  
するべきだと思います。
CC BY-SA 3.0
2018-03-21T04:01:49.893
42534
2018-03-21T04:01:49.893
7830
42501
answer