WordPressサイトのセキュリティチェック

WPScanをGCP上に新規でビルドしたCentOS7で実行してみました。

環境作成

以下、root権限で作業します。

sudo su -
cd ~
yum -y update
yum -y install gcc openssl-devel readline-devel libxml2 libxml2-devel libxslt libxslt-devel libcurl-devel patch git bzip2
yum remove ruby
mkdir -p ~/tools
cd ~/tools
git clone https://github.com/wpscanteam/wpscan.git
cd ~
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH=$HOME/.rbenv/bin:$PATH' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
cd ~/.rbenv/plugins/ruby-build
./install.sh
cd ~
RUBYVER=`cat /root/tools/wpscan/.ruby-version`
rbenv install $RUBYVER
rbenv rehash
rbenv global $RUBYVER
rbenv local $RUBYVER
cd ~/tools/wpscan
gem install bundler && bundle install --without test
gem install wpscan
wpscan --update

実行

cd ~/tools/wpscan
wpscan --url ご自分のサイトのURL

 

GCP上にDNSゾーンを一括処理で作ってみる

  • 緊急にDNSサーバを立ち上げなければならない場合を想定して作成しました
  • 『事前準備』と『作業環境構築』は(やっておいて損は無いので)事前に準備しておいて下さい
  • 『ゾーン作成』以降がイベント発生時の作業となります
  • CLIで流し込む方法を主に書いてあります
  • 2019/04時点での手順書です
  • whoisの更新は自由に出来るものとします

事前準備

Googleアカウントを作成します。

GCPコンソールにログインし、プロジェクトだけ作成しておいて下さい。

このテキストでは『my_zone』とします。

作業環境構築

WindowsPCを想定しています。

Node.jsやPythonを入れるのが面倒環境依存を排除するため、WSLで作成します。

ゾーン作成

GUIから可です。

CLIの場合は、(外部公開/非公開設定がbetaのみのため)betaコマンドで作成します。

gcloud beta dns managed-zones create --dns-name="my_domain." --visibility=public --description=my_zone my_zone
# ドメイン名
#   my_domain
# 外部公開
#   する
# ゾーン名
#   my_zone

ゾーン内容のフラッシュ

# 一括削除はCLIから行います
touch empty-file
gcloud dns record-sets import -z my_zone --delete-all-existing empty-file

ゾーンの削除

# ゾーンをクリアしてから削除します
touch empty-file
gcloud dns record-sets import -z my_zone --delete-all-existing empty-file
gcloud dns managed-zones delete my_zone

レコード一括追加

gcloud dns record-sets transaction start   -z=my_zone
gcloud dns record-sets transaction add     -z=my_zone --name="ns1.my_domain."  --type=A     --ttl=300 "192.168.0.1"
gcloud dns record-sets transaction add     -z=my_zone --name="ns2.my_domain."  --type=A     --ttl=300 "192.168.0.2"
gcloud dns record-sets transaction add     -z=my_zone --name="www.my_domain."  --type=A     --ttl=300 "192.168.0.3"
gcloud dns record-sets transaction add     -z=my_zone --name="mx1.my_domain."  --type=A     --ttl=300 "192.168.0.4"
gcloud dns record-sets transaction add     -z=my_zone --name="mx2.my_domain."  --type=A     --ttl=300 "192.168.0.5"
gcloud dns record-sets transaction add     -z=my_zone --name="test.my_domain." --type=CNAME --ttl=300 "www.my_domain."
gcloud dns record-sets transaction add     -z=my_zone --name="my_domain."      --type=MX    --ttl=300 "10 mx1.my_domain." "100 mx2.my_domain."
gcloud dns record-sets transaction execute -z=my_zone

レコード一括追加中断

# 一括処理中にエラーが出たり誤りを見付けた時
# 一旦中断しないと以後の作業に差し支えが出ます
gcloud dns record-sets transaction abort -z=my_zone