- WordPressのダウンロード
- XAMPPのダウンロード
- XAMPPをインストールする
- XAMPPの起動
- CUIでXAMPPを操作する
- XAMPPのデフォルトページの表示確認
- WordPressのインストールを行う
- WordPressのインストール・初期ページ確認
- .htaccessとwp-config.phpのパーミッションの設定
- 不要ファイルの削除
- 一旦まとめ
Kali LinuxにXAMPPをインストールしてWordPress環境を構築する方法についてまとめました。
WordPressのダウンロード
まずは日本語の公式サイトにアクセスします。 本番運用をするのであれば最新版をダウンロードしてください。 https://ja.wordpress.org/
それ以外の目的がある場合、下記ページで好きなバージョンをダウンロードします。 https://ja.wordpress.org/download/releases/
本番運用で使用するなら最新版を、脆弱性のテストなどを行う場合は目的にあったバージョンをダウンロードします。 今回は脆弱性の学習用としてインストールするので、やや古いバージョン5.0をダウンロードします。 WordPress5.0のPHPバージョンは7.4系になります。
tar.gzをクリックしてダウンロードを行います。
ハッシュ値の確認
CURLコマンドを使用してハッシュ値が記載されたファイルをダウンロードします。 CURLコマンドのOオプションは対象のファイルをダウンロードするオプションになります。
┌──(root㉿kali)-[/home/kali/Downloads] └─# curl -O https://ja.wordpress.org/wordpress-5.0-ja.tar.gz.sha1 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 40 0 40 0 0 61 0 --:--:-- --:--:-- --:--:-- 61
次に、catコマンド
でダウンロードしたファイルのハッシュ値を確認します。
┌──(root㉿kali)-[/home/kali/Downloads] └─# cat wordpress-5.0-ja.tar.gz.sha1 e6c11d43a3aac06f1b4d046c9dc031296d279aae
sha1sum
コマンドでダウンロードしたダウンロードしたtar.gzファイルのハッシュ値を計算します。
┌──(root㉿kali)-[/home/kali/Downloads] └─# sha1sum wordpress-5.0-ja.tar.gz e6c11d43a3aac06f1b4d046c9dc031296d279aae wordpress-5.0-ja.tar.gz
ハッシュ値が一致したので正しくダウンロードされていることが分かります。
XAMPPのダウンロード
次にXAMPPをダウンロードします 下記URLよりLINUX用のXAMPPをダウンロードします。 https://www.apachefriends.org/jp/index.html
home/kali/Downloadsディレクトリ以下に以下のファイルがダウンロードされているかと思います。
xampp-linux-x64-8.2.4-0-installer.run
ハッシュ値の確認
XAMPPのチェックサムは下記ページで公開されています。 https://www.apachefriends.org/jp/download.html
チェックサムコマンドで一致するか確認します。
┌──(root㉿kali)-[/home/kali/Downloads] └─# sha1sum xampp-linux-x64-8.2.4-0-installer.run 8618a94586e26d3464287dc0e93c841443d4ba9b xampp-linux-x64-8.2.4-0-installer.run
サイト上で公開されているハッシュ値と一致したので、正常にダウンロードできたようです。
このようにダウンロードしたファイルが改変されていないか確認するためには、 事前にチェックサムを確認しておく事で安全性を確認する事ができます。
XAMPPをインストールする
次にXAMPPをインストールします。 まず、ダウンロードしたXAMPPに実行権限を付与します。
実行権限付与のコマンドを実行。
┌──(root㉿kali)-[/home/kali/Downloads] └─# chmod +x xampp-linux-x64-8.2.4-0-installer.run
実行権限が付与されているか確認します。
┌──(root㉿kali)-[/home/kali/Downloads] └─# ll 合計 164920 -rw-r--r-- 1 kali kali 11117245 5月 22 21:02 wordpress-5.0-ja.tar.gz -rw-r--r-- 1 root root 40 5月 22 21:42 wordpress-5.0-ja.tar.gz.sha1 -rwxr-xr-x 1 kali kali 157746191 5月 22 21:39 xampp-linux-x64-8.2.4-0-installer.run
実行権限が正しく付与されていることが確認できたら、インストーラーを実行してしばらく待ちます。 ダウンロードしたファイルを実行することでインストールが開始されます。
┌──(root㉿kali)-[/home/kali/Downloads] └─# ./xampp-linux-x64-8.2.4-0-installer.run
インストールには数分かかるのでしばらく待ちます。
XAMPPの起動
インストールが完了したらXAMPP利用者にはおなじみのなコンソールが表示されました。
CUIでXAMPPを操作する
一度、XAMPPのコンソール画面を閉じて下記コマンドを実行します
┌──(root㉿kali)-[/home/kali/Downloads] └─# cd /opt/lampp ┌──(root㉿kali)-[/opt/lampp] └─# ./xampp status Version: XAMPP for Linux 8.2.4-0 Apache is running. MySQL is not running. ProFTPD is not running.
そうするとCUIでもXAMPPの起動状況が確認できるのが分かります。 (初期状態ではApacheのみ起動しています)
コマンドからXAMPPを起動するには下記コマンドを実行します。
┌──(root㉿kali)-[/opt/lampp] └─# ./manager-linux-x64.run
そうするとXAMPPのコンソールが起動します。
XAMPPのデフォルトページの表示確認
ブラウザを立ち上げてlocalhostにアクセスしてみます。
無事にXAMPPの初期ページが表示されました。
WordPressのインストールを行う
ファイルの解凍
ファイルを解凍してwordpressフォルダをリネームした後、
/opt/lampp/htdocs
ディレクトリにコピーします。
┌──(root㉿kali)-[/home/kali/Downloads] └─# tar xvf wordpress-5.0-ja.tar.gz ┌──(root㉿kali)-[/home/kali/Downloads] └─# mv wordpress blog ┌──(root㉿kali)-[/home/kali/Downloads] └─# cp -R blog /opt/lampp/htdocs ┌──(root㉿kali)-[/home/kali/Downloads] └─# cd /opt/lampp/htdocs
権限の変更
blogフォルダの権限を705にします。
まずfindコマンド
でblogフォルダのみを抽出して、exexコマンド
でchmod
を実行します。
(波括弧にはfindの実行結果が入ります)
権限の変更
┌──(root㉿kali)-[/opt/lampp/htdocs] └─# find ./blog -type d -exec chmod 705 {} \;
ll
コマンドを実行して権限が変更されているか確認します。
┌──(root㉿kali)-[/opt/lampp/htdocs] └─# ll 合計 60 -rw-r--r-- 1 root root 3607 6月 16 2022 applications.html -rw-r--r-- 1 root root 177 6月 16 2022 bitnami.css drwx---r-x 5 daemon daemon 4096 5月 22 22:40 blog drwxrwxr-x 20 root root 4096 5月 22 22:07 dashboard -rw-r--r-- 1 root root 30894 5月 11 2007 favicon.ico drwxr-xr-x 2 root root 4096 5月 22 22:07 img -rw-r--r-- 1 root root 260 7月 9 2015 index.php drwxr-xr-x 2 daemon daemon 4096 5月 22 22:06 webalizer
ファイルの権限を604にします。
フォルダの権限を変更したときと同様、findコマンドを使用して、今度は-type f
でファイルのみを抽出して、権限を変更します。
┌──(root㉿kali)-[/opt/lampp/htdocs] └─# find ./blog -type f -exec chmod 604 {} \; ┌──(root㉿kali)-[/opt/lampp/htdocs] └─# cd blog
権限を確認したら604になっているのが分かります。
┌──(root㉿kali)-[/opt/lampp/htdocs/blog] └─# ll 合計 200 -rw----r-- 1 daemon daemon 418 5月 22 22:40 index.php -rw----r-- 1 daemon daemon 19935 5月 22 22:40 license.txt -rw----r-- 1 daemon daemon 10305 5月 22 22:40 readme.html -rw----r-- 1 daemon daemon 5458 5月 22 22:40 wp-activate.php drwx---r-x 9 daemon daemon 4096 5月 22 22:40 wp-admin -rw----r-- 1 daemon daemon 364 5月 22 22:40 wp-blog-header.php -rw----r-- 1 daemon daemon 1889 5月 22 22:40 wp-comments-post.php -rw----r-- 1 daemon daemon 3886 5月 22 22:40 wp-config-sample.php drwx---r-x 5 daemon daemon 4096 5月 22 22:40 wp-content -rw----r-- 1 daemon daemon 3669 5月 22 22:40 wp-cron.php drwx---r-x 19 daemon daemon 12288 5月 22 22:40 wp-includes -rw----r-- 1 daemon daemon 2422 5月 22 22:40 wp-links-opml.php -rw----r-- 1 daemon daemon 3306 5月 22 22:40 wp-load.php -rw----r-- 1 daemon daemon 37286 5月 22 22:40 wp-login.php -rw----r-- 1 daemon daemon 8048 5月 22 22:40 wp-mail.php -rw----r-- 1 daemon daemon 17421 5月 22 22:40 wp-settings.php -rw----r-- 1 daemon daemon 30091 5月 22 22:40 wp-signup.php -rw----r-- 1 daemon daemon 4620 5月 22 22:40 wp-trackback.php -rw----r-- 1 daemon daemon 3065 5月 22 22:40 xmlrpc.php
WordPressのインストール・初期ページ確認
http://localhost/blog/ にアクセスすると WordPressのインストールウィザードが起動します。
事前にデータベースで設定しておいた、 データベース名、ユーザ名、パスワード、ホスト名を入力した後、 WordPressをインストールします。
インストール完了後サイトにアクセスすると、WordPressが無事表示されました!
ここまでの設定で、一応はWordPressのインストールが完了しました。 次に、よりセキュアにするため、重要なファイルのパーミッションを変更します。
.htaccessとwp-config.phpのパーミッションの設定
.htaccess とwp-config.php については所有者のみが読み取れるように権限を400に変更します。
┌──(root㉿kali)-[/opt/lampp/htdocs/blog] └─# chmod 400 .htaccess ┌──(root㉿kali)-[/opt/lampp/htdocs/blog] └─# chmod 400 wp-config.php
権限が400になっていることが分かります。
-r-------- 1 daemon daemon 245 5月 22 23:24 .htaccess -rw----r-- 1 daemon daemon 418 5月 22 22:40 index.php -rw-r--r-- 1 daemon daemon 19935 5月 22 23:24 license.txt -rw-r--r-- 1 daemon daemon 7415 5月 22 23:24 readme.html -rw-r--r-- 1 daemon daemon 6878 5月 22 23:24 wp-activate.php drwx---r-x 9 daemon daemon 4096 5月 22 22:40 wp-admin -rw----r-- 1 daemon daemon 364 5月 22 22:40 wp-blog-header.php -rw----r-- 1 daemon daemon 1889 5月 22 22:40 wp-comments-post.php -rw-r--r-- 1 daemon daemon 2853 5月 22 23:24 wp-config-sample.php -r-------- 1 daemon daemon 4157 5月 22 23:23 wp-config.php
不要ファイルの削除
まず、http://localhost/blog/readme.htmlにアクセスしてみます。 すると、readme.htmlが表示されることが分かります。
次に、http://localhost/blog/license.txtにアクセスしてみます。 するとWordPressのライセンス情報が表示されてしまします。
これらのファイルをサーバー上に残しておくと攻撃者に有利な情報を与えてしまうので削除しておきます。 これらのファイルを削除して、最低限のセキュリティを担保したWordPressのインストールが完了となります。
一旦まとめ
上記手順を実施して適切にインストールを行ったとしても、あくまで最低限のセキュリティが担保されたにすぎません。 追加でセキュリティ関係のプラグインを導入などの対応が必要になるかと思います。
今回古いバージョンのWordPressをKali Linuxにインストールしたので、どの程度の脆弱性が検出されるか、実験してみようと思います。