« XAMPP for Mac OS X 1.7.3 の起動 PHP

ターミナルの管理者権限パスワードを設定する その他 »

XAMPP for Mac OS X 1.7.3 のセキュリティ対策 PHP

XAMPPは開発環境を手軽に構築することを目的としているので、インストール直後のセキュリティ対策はあまりなされていません。テスト環境として最低限必要なセキュリティ設定をしていこうと思います。

※これから記述する内容はあくまでもテスト環境として最低限のセキュリティ対策になります。

XAMPPのセキュリティ画面へアクセス

XAMPPのセキュリティ画面へアクセスします。

  1. XAMPPのコントロールパネルでApacheとMySQLが起動していることを確認します。

    xamppmac07.jpg
  2. XAMPPの管理画面(http://localhost/xampp/)を表示させ、左メニューの「セキュリティ」をクリックします。

    xamppmac10.jpg
  3. XAMPPのセキュリティ画面が表示されたら、ステータスに「要注意」があることを確認します。

    xamppmac11.jpg

ApacheのXAMPPディレクトリへのアクセス制限

現段階ではXAMPPでインストールしたApacheサーバへ、誰もがアクセスできる状態になっています。テスト時にはアクセス制限をかけ、第三者に不用意にアクセスされないようにしましょう。

  1. 「アプリケーション」 > 「ユーティリティ」フォルダ内の「ターミナル.app」をダブルクリックして起動させます。

    xamppmac12.jpg
  2. ターミナルを起動したら、以下のコマンドを入力していきます。

    xamppmac13.jpg

    $に続いて「su -」と入力してエンターキーを押し、管理者権限を持つスーパーユーザになります。

    su -

  3. 管理者権限のパスワードを入力しエンターキーを押します。
    ※入力しても画面に変化がありませんが、きちんと入力されています。

    Password:

    管理者権限でログインできない

    ※下記のメッセージが表示される方は「ターミナルの管理者権限パスワードを設定する」で管理者権限パスワードを設定してください

    su: Sorry

  4. 下記のパスを入力、エンターキーを押しXAMPPのセキュリティ設定ツールを起動します。

    /Applications/XAMPP/xamppfiles/xampp security

  5. 下記の文字が表示されたらエンターキーを押します。

    Do you want to set a password? [ja]

  6. XAMPPの管理画面に設定したいパスワードを入力しエンターキーを押します。
    ※入力しても画面に変化がありませんが、きちんと入力されています。

    Password:

  7. 確認のため先程入力したパスワードと同じものを入力しエンターキーを押します。
    ※入力しても画面に変化がありませんが、きちんと入力されています。

    Password (again):

  8. 下記の文字が表示されたらエンターキーを押します。

    Normaly [ja]

  9. 下記の文字が表示されたらエンターキーを押します。

    Do you want to change the password anyway? [nein]

  10. 下記の文字が表示されたら完了です。

    Done.

  11. 「exit」と打って管理者権限からログアウトします。

    exit

  12. 「exit」と打ってターミナルでの作業を完了させます。「[Process completed]」と表示されたらターミナルを閉じます。

    exit

  13. 上記の操作により以下のようなターミナル結果になります。

    Last login: Fri Dec 4 01:06:12 on ttyp1
    Welcome to Darwin!
    -bash: rt: command not found
    localhost:~ [ユーザ名]$ su -
    Password:[管理者権限パスワード入力(画面には表示されません)]
    localhost:~ root# /Applications/XAMPP/xamppfiles/xampp security
    XAMPP: Quick security check...
    XAMPP: Your XAMPP pages are NOT secured by a password.
    XAMPP: Do you want to set a password? [ja]
    XAMPP: Password: [管理画面表示時のパスワード入力をして設定(画面には表示されません)]
    XAMPP: Password (again): [管理画面表示時のパスワードを入力して確認(画面には表示されません)]
    XAMPP: Password protection active. Please use 'xampp' as user name!
    XAMPP: MySQL is accessable via network.
    XAMPP: Normaly [ja]
    XAMPP: Turned off.
    XAMPP: Stopping MySQL...ok.
    XAMPP: Starting MySQL...ok.
    XAMPP: MySQL has to run before I can check the security.
    XAMPP: MySQL has to run before I can check the security.
    XAMPP: MySQL has a root passwort set. Fine! :)
    XAMPP: ProFTPD has a new FTP password. Great!
    XAMPP: Do you want to change the password anyway? [nein]
    XAMPP: Done.
    localhost:~ root# exit
    logout
    localhost:~ [ユーザ名]$ exit
    logout
    [Process completed]

ApacheのXAMPPディレクトリへのアクセス制限後に管理画面にアクセスすると・・・

  1. ユーザ名とパスワードを入力する画面が表示されるので、ユーザ名「xampp」、パスワードは「ApacheのXAMPPディレクトリへのアクセス制限」で設定したパスワードを入力します。

    xamppmac14.jpg

MySQLの管理者パスワードを設定

MySQLの管理者パスワードを設定し、データベースを不用意に操作されないようにします。

  1. 「アプリケーション」 > 「ユーティリティ」フォルダ内の「ターミナル.app」をダブルクリックして起動させます。

    xamppmac12.jpg
  2. ターミナルを起動したら、以下のコマンドを入力していきます。

    xamppmac13.jpg

    $に続いて「su -」と入力してエンターキーを押し、管理者権限を持つスーパーユーザになります。

    su -

  3. 管理者権限のパスワードを入力しエンターキーを押します。
    ※入力しても画面に変化がありませんが、きちんと入力されています。

    Password:

    管理者権限でログインできない

    ※下記のメッセージが表示される方は「ターミナルの管理者権限パスワードを設定する」で管理者権限パスワードを設定してください

    su: Sorry

  4. 下記のパス+コマンドとパスワードを入力、エンターキーを押しMySQLにパスワードを設定します。

    /Applications/XAMPP/xamppfiles/bin/mysqladmin -u root -p password [設定したいパスワード]

    もし、設定したいパスワードが「admin」だったら以下のように入力します。

    /Applications/XAMPP/xamppfiles/bin/mysqladmin -u root -p password admin

  5. 下記の文字が表示されたらエンターキーを押して設定完了です。

    Enter password:

  6. 「exit」と打って管理者権限からログアウトします。

    exit

  7. 「exit」と打ってターミナルでの作業を完了させます。「[Process completed]」と表示されたらターミナルを閉じます。

    exit

  8. 上記の操作により以下のようなターミナル結果になります。

    Last login: Fri Dec 4 01:06:12 on ttyp1
    Welcome to Darwin!
    -bash: rt: command not found
    localhost:~ [ユーザ名]$ su -
    Password:
    localhost:~ root# /Applications/XAMPP/xamppfiles/bin/mysqladmin -u root -p password [MySQLに設定するパスワードを入力]
    Enter password:
    localhost:~ root# exit
    logout
    localhost:~ [ユーザ名]$ exit
    logout
    [Process completed]

  9. 上記で設定したパスワードをphpMyAdminにも設定します。
    「アプリケーション」 > 「XAMPP」 > 「xamppfiles」 > 「phpmyadmin」フォルダ内にある「config.inc.php」をテキストエディタで編集します。

    xamppmac15.jpg
  10. phpMyAdminにパスワードを設定する

    「config.inc.php」ファイルの34行目「$cfg['Servers'][$i]['password'] = '';」にパスワードを記述して保存します。

    /* Server parameters */
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['user'] = 'root';
    $cfg['Servers'][$i]['password'] = '';
    $cfg['Servers'][$i]['connect_type'] = 'socket';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['AllowNoPassword'] = true;
    
    /* Server parameters */
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['user'] = 'root';
    $cfg['Servers'][$i]['password'] = '[設定したパスワード]';
    $cfg['Servers'][$i]['connect_type'] = 'socket';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['AllowNoPassword'] = true;
    

    もし設定したパスワードが「admin」だった場合は下記のように記述します。

    /* Server parameters */
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['user'] = 'root';
    $cfg['Servers'][$i]['password'] = 'admin';
    $cfg['Servers'][$i]['connect_type'] = 'socket';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['AllowNoPassword'] = true;
    

    修正したファイルを保存してphpMyAdminの設定は完了です。

  11. 設定を変更したので「Apache」と「MySQL」を再起動して、再度XAMPPの管理画面(http://localhost/xampp/)を表示させます。
    ユーザ名とパスワードを入力する画面が表示されるので、ユーザ名「xampp」、パスワードは「ApacheのXAMPPディレクトリへのアクセス制限」で設定したパスワードを入力します。

    xamppmac14.jpg
  12. 管理画面の左メニューから「セキュリティー」を選択して表示される画面のステータスが「安全」になっていればセキュリティ設定完了です。

    xamppmac16.jpg

XAMPP for Mac OS X 1.7.3 インストール関連記事