どうも、maruです。
最近サイトの設定をちょこちょこいじってます。メンテナンスってやつですね。
前の記事(【2022年最新版】Google アナリティクスとアドセンスのリンクが設定がされていませんでした…。トラッキングコードの設定手順について教えます!【GA4】)でGoogle Analyticsの設定等も行ってサイトの分析も行いましたが、ちょこちょこサイトの状態を確認するのは必要だと思います。
そのメンテナンス中にサイトのセキュリティのことが気になって来ました。
このサイトではWordPressを使っているんですが、WordPressの脆弱性とかWordPressの改ざんってよく聞くキーワードだと思います。
そこで、自分のサイトに脆弱性がないか確認するために何か良いツールはないかなと探しているうちにWPScan(WordPress Security Scanner)というツールに行き着きました。
WPScanは指定したサイトのスキャンを行い、脆弱性の有無についてチェックしてくれるというセキュリティチェックツールです。これで、自分のサイトをチェックして脆弱性を見つけてみようという話です。
Windows環境でWPScanを使う方法
WPScanの使い方を調べていたのですが、どうもLinuxベースで使うツールのようなんですね。
Windows環境のままWPScanを使う方法はないかなーと調べていると、Dockerを利用すれば可能であることが分かりました。最近、よく聞きますよねDockerって。
WPScanを導入するついでにDockerについて学んでみようと思いました。
Dockerについて
Dockerとは、Docker社が提供しているコンテナ技術を利用して仮想環境を構築できるシステムです。
例えば、仮想環境といえば、VMwareがありますが、VMwareではゲストOSを作成した上で仮想環境を構築します。Dockerでは、ゲストOSの構築は不要で、ホストの中で別のマシンが動いているかのように動かすことができます。
今回のように、Linuxで使うツールが必要だけど、Linux環境まで構築するのは面倒だと言う場合に使うことができるという、お手軽さがありますね。
Dockerのダウンロード、インストール方法
まずはDocker社の公式サイトからWindows用のDockerインストーラをダウンロードします。
ダウンロードしたDockerインストーラをダブルクリックするだけでインストールが完了します。
さあ、これでWindowsでDockerが使えるぞと思い、Dockerを起動してみましたが、デスクトップ上に何やらエラーメッセージが表示されました。
エラーメッセージの内容は以下のとおりです。
Docker Desktop – Access denied
You are not allowed to use Docker
You must be in the “docker-users” group
うーん、どういう意味でしょうか。
ネットで調べたところ、docker-usersグループに使用中のWindowsのユーザアカウントが追加されていないのが原因のようですね。
管理者権限でDockerを使っていれば、このようなエラーメッセージは出ないかと思います。しかし、管理者以外のアカウントでDockerを利用するのであれば、そのアカウントをdocker-usersグループに追加する必要があるわけですね。
docker-usersグループへのユーザアカウントの追加
まず、Windowsマークを右クリックでコンピュータの管理を開きます。
起動したコンピュータの管理画面からローカルユーザとグループを選びます。
ユーザーとグループという2つのフォルダが表示されるので、グループを選択します。
続いて、グループの一覧の中からdocker-usersを選択します。
docker-usersのプロパティ画面が表示されるので、追加を選択します。
追加画面で追加したいオブジェクト名(ユーザ名)を入力して、OKを押します。
これでプロパティ画面にユーザが追加されます。
改めてDockerを起動
ユーザを追加した状態で改めてDockerを起動します。
起動した際にDocker Desktop stopping…とのメッセージが画面に表示されているので、まだDockerが動いていないことが分かります。
WSL 2 installation is incompleteというエラーメッセージが出る場合
Dockerの起動後、WSL 2 installation is incompleteというエラーメッセージが表示されます。
WSLとはWSL(Windows Subsystem for Linux)の略で、Windows上でLinuxを使うことが出来るシステムでのことです。WSL2とはWSLの最新バージョンのことですね。
このエラーメッセージは、このWSL2のインストールが完了していませんという意味ですね。
エラーメッセージ内のリンクhttps://aka.ms/wsl2kernelをクリックすると、Microsoftの公式ページに移動します。
ここからさらにx64 マシン用 WSL2 Linux カーネル更新プログラムパッケージのリンクをクリックします。
リンクをクリックするとwlsのアップデート用パッケージがダウンロードされるので、このパッケージを実行します。
後は、Linuxのペンギンちゃんの指示に従って、WSLのアップデートを行ってください。
Dockerの起動
ここまでの設定が終わると、Dockerのエラーメッセージが消え、Get Started with Docker in a few easy steps!(あとわずかな手順でDockerを始めることができます)という画面表示となり、設定完了まであと少しです。
このままDockerの設定ウィザードに従い、初期設定を進めていきましょう。
初期設定が終われば、Dockerのメニュー画面が表示されます。
これでDockerのインストール作業は完了です。
PowerShellでDockerを動かしてみよう
PowerShellを起動し、
コマンド docker version
を入力します。
Dockerが正しくインストールされていれば、ここでDockerのバージョン情報が表示されます。
ついでに、
コマンド docker run hello-world
と入力し、公式で用意されているhello-worldコンテナを実行してみました。
コンテナとは、アプリやミドルウェアを入れた箱です。1つのOS上で様々なコンテナを自由に手軽に利用できるわけです。物流で使われているコンテナと同じようなイメージですね。
WPScanの実行
さて、WPScanを実行するまでに非常に前置きが長くなりました。
先ほどhello-worldというコンテナを実行したように、WPScanのコンテナを実行すればWPScanを利用することができます。
コマンドは、docker run -it ––rm wpscanteam/wpscan ––url サイトURL
となります。
無事、WPScanが起動しました。
まとめ
以上がDockerのダウンロードとインストール、WPScanの実行までの手順となります。
WPScanを使ったサイトのセキュリティ検査の状況については、いずれ記事を書きたいと思います。
コメント
こんにちは。
>コマンドは、docker run -it –rm wpscanteam/wpscan –url サイトURL
ではなく
コマンドは、docker run -it -–rm wpscanteam/wpscan -–url サイトURL
では?
コメントありがとうございます。
ご指摘のとおりですね、記事を訂正しました。
ありがとうございます。