カテゴリー
Computer Development PHP Security Programming Security

PHPスクリプトの分析ツール

PHPスクリプトを分析するツールをまとめたページの紹介です。

カテゴリー
Computer PHP Security Programming Security

根本的なセキュリティ対策とは何か?

セキュリティ対策において対策が「根本的」な対策であるかどうか?はあまり重要ではないです。セキュリティ対策において重要なのは対策が「効果的」であるかどうか、が重要だからです。

この基本を押さえた上で、ソフトウェアの「根本的な対策」とは何かを考えてみます。

カテゴリー
Computer Development PHP Security Programming Secure Coding

PHPのheader関数とheaders_remove関数の注意点

PHPのheader関数とheader_remove関数の注意点です。あまり使わないと思いますが、Set-Cookieヘッダーや他のヘッダーで注意しないと問題になります。普段はsetcookie関数でクッキーを設定していてたまたまheader関数でクッキーを設定した、という場合にheader関数とsetcookie関数の仕様の違いにより、思ってもいない結果になります。

カテゴリー
Computer Security

WordPressをできるだけ安全に使うプラグイン

このブログで利用しているセキュリティ関係のプラグインを紹介します。こういう情報はあまり公開しない方が良いのですが、本気の攻撃者の場合はプラグインファイルの存在を総当たりで検出すれば判ってしまいます。

カテゴリー
Misc Other

ブログのHTTPS化によりコメントなどがリセットされました

このブログのURLをhttpからhttpsに変更しました。これにより、幾つかの情報1が参照できなくなるので記載しておきます。

  • Facebookのコメント
  • FacebookのLikeやブックマークなど共有

ブログをWordPressに移行してから設定されたURLは自動的にhttpsにリダイレクトされます。

このブログでは移行前に「仕方ないので諦める」ことにしたのですが、サイトのhttps化を検討されている方はこれらの情報が直接参照できなくなる点に注意が必要です。

ブログをhttps化する際にFAQ的な箇所でハマってしまいました。詳しくは WordPress + HTTPS + リバースプロキシ = このページにアクセスする権限がありません を参照してください。


  1. 大量のコメントスパムに対応しきれないので、このブログではFacebook APIを利用したコメントシステムに変更しています。WordPress純正のコメントの場合、HTTPS化しても参照できなくなることはありません。 
カテゴリー
Computer Development PHP Security Security

ソフトウェア開発環境のセキュリティ対策

ソフトウェアの開発環境は通常の環境と違う対策が必要です。その理由は開発環境には

  • 他人が書いた未検証のモノ
  • 自分が書いた実験用のモノ
  • 他人または自分が書いた作りかけのモノ
  • 制御された環境での利用を前提としたモノ
  • 意図的に利用している新しいモノ(リリース前のソフトウェアなど)
  • 意図的に利用している古いモノ(古いシステムサポートためなど)

※モノにはコード/ライブラリ/ツール/アプリ/システム などがあります。

などがある為です。開発環境はその他の環境に比べ「とにかく危険なモノがいっぱい」です。

更に最近ではソーシャルコーディングが当たり前になり、他人が書いた未検証のコードがどんどん実行される状態も当たり前です。それも1つ2つのライブラリではなく、依存性から何百、場合によっては何千というライブラリなどが自動的にダウンロードされ実行されています。

これがどういう状況かというと「PCがやっと使えるくらいのユーザーが、インターネットからプログラムをダウンロードしまくって実行している状況」とあまり変わりません。

参考: SOHO・家庭の安全なネットワーク環境2018

カテゴリー
Computer Development

WordPress + HTTPS + リバースプロキシ = このページにアクセスする権限がありません。

リバースプロキシ環境で結構ハマったのでブログにします。結論から書くと、WordPressのドキュメント

Note: FORCE_SSL_ADMIN should be set before wp-settings.php is required.

wp-settings.phpを読み込む前にFORCE_SSL_ADMINは定義しなければならない、と書いてありますがSSL関係の設定は全てこれの前に書かないと動作しません。