Apache:タグのアーカイブ|ネットマーベラス(株)データアップロード詳しい開発実績など(非公開)....主要取引先(非公開)....お見積り出し(IP認証+Oauth)隠しノウハウ、隠し資料など(IP認証+Oauth)インターネット上のアクセスボリュームUPをお約束します。GreetingContactネットマーベラス(株)>ApacheApacheにおけるSSL設定品質の肝。(POODLE対策)ApacheにおけるSSL設定品質の肝。今はGoogleのオールSSL化の推進によりかなりサイトがSSL接続仕様に変わってきた。実際のところそれで安心してはならない。SSLの設定のさじ加減というか塩梅によってはダメダメなケースもあるのです。その中でも一番肝と思うディレクティブ設定に以下のパラメータ設定がある。下記の設定はタイトルを表す通りの設定を行うApacheのディレクティブです。1.1の脆弱性があります。これを「POODLE」という名前で呼んでいます。Googleの研究チームがSSLの解析を行い、2014年10月14日に、SSL3.0に関する脆弱性について重大なレポートを行ったのがきっかけです。1.1の一部も問題ありと追加で報告されました。故にApacheでSSLを設定する際にデフォルトで設定していると脆弱性のある通信方式を許容するためセキュリティホールができてしまうのです。この対策は危険なプロトコルスィートを抑え込む設定が必要となります。下記は、デフォルトではコメントアウトか、設定がないかもしれません。SSLのコンフィグ設定で追記して登録してください。危険ということで完全な抑え込みの設定をしてしまうと古いブラウザが対応できない場合があるためSSLProtocolの「-TLSV1」を入れるか、入れないかは正にさじ加減かなと思います。DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES:!RC4:!DH設定後にテストを行う設定ができたら評価をおこなってください。評価でA+取れるようにがんばってください。今はSNS等も評価がBレベルだとデベロッパーサイトでAPI登録を受け付けてくれないようになってきています。Googleもある一定期間の後にSSLの設定レベルの判別を明確にしてゆく話もありますので暗号化スィートの設定は非常に大事です。SEO的に大きな影響をもたらすので今後はApache要の設定となるでしょう。担当者WEBサーバーでApacheと連携したいと思う人は多いと思います。いままで紹介していなかったので改めて見本を掲載したいと思います。ApacheとBottleの連携方法は2種類あります。1つはこれから紹介する外部WSGI連携とリバースプロキシーで対応する方法です。プログラミングでセキュリティに不安な人は後者が良い場合が多いかもしれません。同時アクセス数とパフォーマンスを重視するなら前者だと思います。シンプルな起動メインコードそれでは最初にメインのソースコードを書いていきたいと思います。WSGI対応しているBottleですから記述はシンプルです。下記コードは直接Pythonコマンドで指定起動もOK。Apacheの場合はelse分岐の方で起動します。このファイルは取り敢えずindex.pyという名前にしておきましょう。default_app()Apacheの仮想サーバ設定/etc/httpd/conf.d/python.confとして配置した場合の記述です。これは仮想サーバの設定です。mod_wsgiはインストールしておいてください。肝はWSGIDaemonProcessの部分です。スレッド関連のパラメータを記述していますがきちんと設定しましょうね。これを正しく設置しないとスレッドセーフにならない場合があるため要注意です。DoS攻撃されたらイチコロです。実勢のアクセス量にあわせてチューニングしてください。maximum-requestsはこの値を超えるとカレントプロセスが破棄され新プロセスが再作成されます。ごみメモリもクリアされます。WSGIDaemonProcessのpython-pathの値は自分の環境に合わせ設定してください。python-homeは仮想環境のときに使います。仮想環境ではないが複数のpythonバージョンが存在するならpython-pathを明示的に使用します。python仮想環境を使って利用する場合はglobalで設定し起動すれば明示的な指定は不要かもしれません。呼び出すpythonコードの中身を考慮しないで考えた場合はプロセス数とスレッドに関してはスレッドセーフに安全確実なのはprocess数は任意としてthreadsは’1’にすることです。proxy側と呼び出すpython側のプログラムがマルチプロセス・マルチスレッドでスレッドならApacheとpythonプログラムが適正なセッション数で処理できるようprocess&thredsを調整することもできます。後方の呼び出されるプログラムがシングルスレッドなのか、マルチスレッドなのか、マルチプロセスマルチスレッドなのかで状況が違ってきます。それが分かりにくいならthreadsを’1’にしておくことが無難なのです。余裕があるならapacheとpythonアプリケーションのスレッドコネクションの生成の仕方を相互に見極めて調整してゆくと良いでしょう。スレッドの生成が相互に噛み合わないとプログラムが落ちてしまうので注意が必要です。テストに負荷テストのプログラムを使ってthredsやprocessの値を相互(apache側、python側の双方)に調整してゆくことでもっと本格的な設定が可能になります。httpdサイトにアクセスする例/hello/の後に任意の文字列を入れてください。ページボディに表示されます。テストサーバにIPアドレスを割り当て名前をWindowsのHostsに登録しておけば下記のように名前ベースのホスト名で実験ができます。リクエストメソッドDoS攻撃激減。python3.5でiptablesの国内IPのみの接続ルールを生成&適用。担当者Apacheサーバを運営してありがちな失敗ネタをひとつ。側で定義したドメインしかリクエストが来ないと思ってしまう。実際はそうではありません。IPアドレスでURLを入力したり、定義していないVirtualドメインでURLを入力されたら全く想定していないコンテンツが表示されることがよく有ります。hostsを新規で作り起動しておくと良いです。未定義のドメインやIPできたアクセスは直ぐに他のホストへ転送してくれます。Updateが進まなくなった場合の対処や大型Update後のゴミ掃除。GZIP圧縮、コンパイルキャッシュ。カーネルの起動エントリーを減らし/bootの空き容量を確保。viewspostfixの送信メールにはデフォルトで送信パソコンのIPが掲載されるので外す。