データベース管理ツール「AdminNeo」にプラグインを導入してセキュリティ対策する方法
以前データベース管理ツール「AdminNeo」を導入する方法をメモしたが、こちらにプラグインを導入してセキュリティ面を向上させたい。調べたところアクセスIPアドレス制限とワンタイムパスワード認証あたりがよさそう。また、プラグインとは別に設定ファイルによる通信の暗号化設定も行いたい。以下に各種導入方法をメモ。
事前準備
AdminNeoとプラグインについて
AdminNeo自体の設置やプラグインの導入方法自体については過去記事を参考にすること。
Google Authenticatorのインストール
ワンタイムパスワード認証についてはGoogle Authenticatorを利用するため以下からアプリをインストールしておくこと。
iOS
https://apps.apple.com/jp/app/google-authenticator/id388497605
Android
https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=ja
プラグインの導入
アクセスIPアドレス制限(IpLoginPlugin.php)
公式プラグインページからIpLoginPlugin.phpをダウンロードし「adminneo-plugins」ディレクトリにアップロードする。
adminneo-plugins.phpには以下を追記し、アップロードする。
new \AdminNeo\IpLoginPlugin(
//許可するIPを配列で渡す
['xxx.xxx.xxx.xxx'],
),
この時点でブラウザからアクセスするとIPアドレス許可・拒否に関わらずAdminNeoログインページ自体は表示される。ただ、ユーザ・パスワード等を入力の上、ログインしようとしてもIPアドレスが許可されていない場合はログインできない状態になっている筈。
ワンタイムパスワード認証(OtpLoginPlugin.php)
公式プラグインページからOtpLoginPlugin.phpをダウンロードし「adminneo-plugins」ディレクトリにアップロードする。
当該プラグインページでIssuerとUsernameを適宜変更の上「Generate」ボタンをクリックし、QRコードを生成する。
以下画像を参考に1の部分はメモっておき、2の部分はGoogle Authenticatorアプリで読み込んでおく。
adminneo-plugins.phpには以下を追記し、アップロードする。
new \AdminNeo\OtpLoginPlugin(
//1の部分でメモしたランダム英数字を記述する
base64_decode("xxxxxxxxxxx")
),
この時点でブラウザからアクセスするとAdminNeoログインページにワンタイムパスワード入力欄(OTPのテキストボックス)が表示される筈。Google Authenticatorアプリ上に表示される6桁のパスワードを入力することでアクセスできる。
設定ファイルの導入
設定ファイルについて
adminneo.phpやadminneo-plugins.phpと同じディレクトリにadminneo-config.phpというファイル名でアップロードすると設定ファイルとして取り扱われる。
設定可能項目は公式ページを参考。
通信の暗号化
以下内容を記述したadminneo-config.phpをアップロードする。
<?php
return [
"sslEncrypt" => true,
];
関連記事
-
-
MySQLのTEMPORARY TABLE(テンポラリテーブル)で高速化を図る方法
MySQLで5000万件ぐらいデータが入っているテーブルから日本語検索しないとい ...
-
-
PHPでデータベースを取り扱いやすくなるORMライブラリ「idiorm」の利用方法
Codeigniterでデータベースを取り扱う際にクエリビルダクラスを用いて可読 ...
-
-
PHP / MySQLで2038年問題の対策
先日打ち合わせの際に「タイムスタンプを使ってユニークキーに云々~~」といったよう ...
-
-
さくらVPSにredisをインストールした際のメモ
さくらVPSにredisをインストールした際のメモ。 インストール ...
-
-
MySQLで直近〇日、〇ヶ月、〇年以内のデータを検索する方法
他社が作成されたSQL文を見ているとDATE_ADDという使ったことの無い関数が ...
