2026年5月22日
2026年5月22日
WordPressのPCI DSS(決済カード業界)対応方法
はじめに
PCI DSS (Payment Card Industry Data Security Standard)は、クレジットカードやデビットカードの取引情報を安全に取り扱うための国際的な基準です。WordPressを使用するウェブサイトがオンライン決済機能を提供している場合、この基準を遵守することが求められます。
症状・背景
このテーマが必要になる主な場面:
- オンラインショップやサービスでクレジットカード決済を行う
- チャージバックや詐欺被害のリスクを低減したい
- 信頼性と安全性を高め、顧客からの評判向上を図る
手順・設定方法
ステップ1: サイトのセキュリティレベル確認
# WordPressサイトの最新版に更新する
sudo apt-get update && sudo apt-get upgrade wordpress -y
# ファイルとディレクトリ権限を適切にする
chown -R www-data:www-data /var/www/html/wordpress
find /var/www/html/wordpress -type d -exec chmod 750 {} \;
find /var/www/html/wordpress -type f -exec chmod 640 {} \;
# ファイアウォールを設定して不要な通信をブロックする
sudo ufw allow 'Apache'
sudo ufw deny 'NTP'
sudo ufw enable
ステップ2: サードパーティ製プラグインの管理
# 信頼できるソースから最新バージョンのプラグインをインストールする
wp plugin update --all
# 不要なプラグインを削除して更新を確認
wp plugin delete wp-super-cache && wp core update
ステップ3: サイトへのアクセス管理と認証
# SSH接続の2段階認証を有効にする
sudo apt-get install libpam-google-authenticator -y
echo "auth required pam_google_authenticator.so" | sudo tee -a /etc/pam.d/sshd
# HTTPSによる通信を確立する
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
ステップ4: ログ監視と定期的な脆弱性スキャン
# サイトのログファイルを定期的にチェックするスクリプトを作成する
echo "#!/bin/bash" | sudo tee -a /etc/cron.daily/check-logs
echo 'grep "POST \/wp-admin\/post.php" /var/log/nginx/access.log > /dev/null && echo "Possible attack detected." | mail -s "Alert: Possible Attack on WordPress Site" admin@example.com' | sudo tee -a /etc/cron.daily/check-logs
# サイトの脆弱性を定期的にスキャンする
sudo apt-get install lynis -y
lynis audit system --quick
注意事項
- パスワードは強力で複雑なものに設定し、定期的に変更すること。
- 不要なユーザーと権限のないユーザーを削除すること。
- 重要なファイルとデータはバックアップを取ること。
まとめ
1. セキュリティ更新: WordPressとプラグインを常に最新版に保つことが重要です。
2. アクセス制御: ユーザー認証やSSH接続の2段階認証を設定します。
3. 通信暗号化: HTTPSを使用して通信を暗号化し、第三者による観測から情報を保護します。
4. ログ管理: アクセスログとエラーログを定期的に確認し、不審なアクティビティを検知します。
5. 脆弱性スキャン: 定期的なスキャンを行い、潜在的な脅威に対応するための対策を講じます。
関連記事: