Testで評価をA+にするための方法をいくつか紹介しましょう。最後に最初に一応言っておきますけど「A+を取ったから安全」と言う訳ではありませんよ。そもそもWebサイト側にSQLインジェクションとかあったのでは無意味です。Webサイトを安全にするのは安全にしようと言う意志(を持つ人の手)です。「SEO評価ガー」でHTTPSにしておいて脆弱性放置なんてもってのほかですぜ。EncryptにECDSA(ECC)の鍵を作成してもらう」でもご覧になってください。今回はECDSA大前提で書いているので、RSAとかだとCipherSuiteが変わって来るかもです。設定していく今、画面の前に居るあなたが最低限HTTPSでの接続設定は出来るレベルだと仮定しましょう。Generator」なんかがとても役に立ちます(一ヵ所変えた方が良い設定がありますけど)古いプロトコルを無効にするSSLv3やSSLv2などは既に脆弱です、一般的に「SSL」と言われている物は全て「TLS」の事です。nginxであれば以下の様に、TLSv1,TLSv2,TLSv3を指定します。TLSv1.2;ApacheであればallからSSLv3を抜くのが良いでしょう。先程のMozzilaのジェネレータで作成した設定ではとてもとてもとてもとても長い暗号化スイートが出力されます。ここはHIGHを指定し、不要(危険)な暗号化スイートを抜いて行くのが個人的にはおススメです。AESGCM:HIGH:!aNULL:!eNull:!EXPORT:!DES:!3DES:!MD5:!DSS:!RC4:!PSKHIGHは暗号に128bit以上の鍵を使う物を指定する設定で、例えばOpenSSLが新しくなり、使えるスイートが増えた、なんて時に自動で新しい物も使える様になります。ちなみに「AESGCM:HIGH」としているのは、こうしないとHTTP/2有効時にFireFoxから閲覧するとHTTP/2の前提条件と矛盾し繋がらなくなるため。ここの設定で繋がる/繋がらないクライアントがだいたい決まります、今回の設定ではXPなどのサポート切れOSを切り捨てています、今だとVistaすら切り捨てられるはずなので更にセキュアに出来ると思われ暗号化スイートをサーバ側に選択させるデフォルトだと暗号化スイートなどをクライアント側が選択するようになっています。この際、悪意を持った第三者が通信をごにょごにょする事で意図的に弱い暗号化を使用させる事が出来るらしいです(ダウングレード攻撃)そこで、使用する暗号化スイートをサーバ側で選択するようにしてしまいます。onダウングレード攻撃周りはちょっと難しいのですが、とにかくサーバ側で選択するようにすれば良いのです。HSTSを使用する「普通は」常時SSLのサイトに対してHTTPでアクセスするとHTTPSへリダイレクトします。HTTPの通信は平文で行われるため、ここで攻撃者側がごにょごにょする事が可能になってしまいます。Security)と言う物があります。言っても、設定は簡単で、「Strict-Transport-Security」ヘッダを送るだけ。"max-age=31536000;"max-ageで指定した秒数が有効になる時間です。今回の場合、そのユーザのアクセスから最長1年間(31536000秒)の間HSTSを有効にします。これの設定には注意が必要で、「やはりHTTPに戻したい」と言う状況になった時、このHSTSが有効な間にアクセスして来たユーザは強制的にHTTPSで接続しようとし、結果的に接続出来なくなります。(すなわち、一度設定してしまうと未来永劫HTTPSであり続ける事を約束した様な物)なので、もしHTTPに戻すような事があれば(あるのであれば)半分の15552000秒(半年)や、2592000秒(1ヶ月)だけにしておく必要があるでしょう。(それでも1ヶ月間はアクセス出来ないかもしれないユーザが発生する事になる訳なのですが......)あと、コピペ設定で「includeSubDomains;」が入っている設定例を見掛けますが、これは文字通りの意味で、設定するとサブドメインまでHSTSの範囲を広げます。簡単に説明すると、example.jpでincludeSubDomainsが入ったHSTSを受信すると、HTTPにしか対応していないplain.example.jpにアクセスしようとした場合にもHTTPSで接続を試みる->結果として接続出来ない、と言うザマになります。分からないなら設定しない方が良い諸刃の剣です。DH鍵の変更DH鍵交換の際に使用する素数は2048bit以上の物を使用する事が推奨されています。(Logjam攻撃)そのため、OpenSSLで新しい鍵を作成し、そちらを使用するようにします。「HTTPSを利用すると遅くなる」なんて言われますが、それらは上手く調整する事で十分カバー出来ます。言うか、「HTTPSで重くなる」なんていっているその時間で転送量を減らす工夫でもすべきだとは思うのですが......SSLセッションキャッシュの利用SSLは初回接続時のセッションの確立が特に時間が掛かります。言う訳で一度確立したセッションを使い回しちゃおうぜ、ってのがSSLセッションキャッシュ。86400SSLセッションキャッシュが利用されているかどうかはrfc5077とか言うツールで確認できます。updatemakeこれでカレントディレクトリに「rfc5077-client」が出来上がる。{IPアドレス}SSLセッションチケットは使わない先程のSSLセッションキャッシュはセッションを識別する番号をクライアント側に送り付けるやり方です。(セッション情報がサーバ側に保存されている)SSLセッションチケットはその逆で、セッション情報を暗号化しクライアント側に保存させるやり方です。......Apacheやnginxは鍵を起動時に作成する(定期的に再生産されない)ため、前方秘匿性が満たせないらしい。知らずにonにしていたが、offの方が安全そのことを理解したうえでonにしたい場合は以下の通り。on複数サーバ間でセッション情報を共有する必要がある場合は、チケット用の48バイトの乱数を作成します。証明書の有効/無効を確認するためにOCSPで確認するのですが、これはデフォルトだと外部に問い合わせするようになり、遅延や接続出来なかったりが多々あるみたいです。Staplingです。shmcb:${APACHE_RUN_DIR}/ocsp(128000)HTTP/2を利用するせっかく暗号化したのですからHTTP/2を使える様にしましょ、HTTPSなのにHTTP/2使っていないなんてHTTPSのメリットを6割くらい損しているようなものです。(規格では一応平文HTTP/2もあるんですけどね)あと、SPDYはもう古い。sslなのでsslがなくてもSSLになる(と思う)のですが、一応sslを付けておきましょう。http/1.1最後に私はHTTP/2が利用したくて常時SSL化した訳なのですが、せっかくなので評価もA+にしておくと良いですね。GoogleもSSLの有無をSEO評価に反映するのは結構ですが、この辺りのチェックも入れてくれればより良いかな?そうすればいい加減なSEO屋が全滅して、しっかり設定している人達が報われます。【Docker】localロギングドライバーってなんだ?Dockerのログ設定を調べていて気になるオプションを見つけた。オーバヘッドを最......続きを読む→FileZillaをFFFTPっぽく使うWebマスターのみなさん、こんにちは。僕も所謂、同業者って奴です、よろしくお願......続きを読む→PREV[Java]JDK付属のJVisualVMでプロファイリングNEXTiPhone5のバッテリ交換やってみたナカのヒト:HimaJyun​散って美しいのは桜だけです、情報はまとまっていた方が美しいのです。