Movatterモバイル変換


[0]ホーム

URL:


BLOGTIMES

cles::blog

平常心是道
»ArchiveList (Tag for "httpd" )
«Prev ||1 ·2 ·3 ·4 ·|Next»
2022/05/01

Qualys SSL Server Test の代わりに使える testssl.sh

ssl  systemmanagemant  httpd 
testssl.sh - Qualys SSL Server Test の代わりに使える testssl.sh

サーバの SSL 証明書の設定をチェックしてくれるサービスはObservatory by Mozilla など、いろいろなサービスがありますがシェルスクリプトから簡単にチェックできるtestssl.sh が便利だったのでメモ。これはオフラインでも利用できるので、インターネットから到達できないようなサーバも評価することができます。

/bin/bash based SSL/TLS tester: testssl.sh

testssl.sh is a free command line tool which checks a server's service on any port for the support of TLS/SSL ciphers, protocols as well as recent cryptographic flaws and more.

使い方としてはgit clone してからスキャンをかけるだけですね。
何もオプションをつけないと結果がコンソールにしか出力されないので、--html オプションでレポートを生成しておくと良いと思います。

git clone --depth 1 https://github.com/drwetter/testssl.sh.gitcd testssl.sh/./testssl.sh --html example.jp

    at 22:54 |
    2017/01/27

    HTTP Strict Transport Security (HSTS) プリロード に対応させてみた

    firefox  chrome  msie  httpd  ssl 
    HTTP Strict Transport Security (HSTS) Preload - HTTP Strict Transport Security (HSTS)  プリロード に対応させてみた

    サーバ移行を機にサイトを原則として HTTPS 運用することにして、HTTP Strict Transport Security (HSTS)をさらに一歩推し進めてプリロードに対応させてみました。

    HSTS プリロードは、HSTS 有効化している場合でも、最初の1度のアクセスは暗号化のない状態 ( HTTP ) で行われるという脆弱性を無くすために、ブラウザ側で HSTS に対応したドメインの一覧を持っておく(プリロード)ことで、最初の1度目のアクセスから HTTPS が使われるようになるという仕組みです。

    プリロードの申請はドメイン単位(サブドメインは不可)なので、Apache HTTPd の場合にはドメインの全てのウェブサーバの設定に以下のような設定を追加しておきます。includeSubDomains を指定するとサブドメインの全てに HSTS が効きますHTTP でしかアクセスができないサイトがあると接続エラーになってしまうので、そのようなサイトがないかどうかを良く確認してから設定を変更する必要があることに注意が必要です

    Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

    あとはHSTS Preload List への登録フォームを使って登録するだけです。
    もしウェブサーバに設定の不備があれば、このフォームにドメイン名を入れた時点でエラーが出るので、修正してから登録作業を繰り返します。


      at 22:14 |
      2016/12/12

      Apache 2.4 はアクセス制御の書式がシンプルになっていた

      httpd  systemmanagemant 

      Apache の conf や .htaccess で複雑なアクセス制御を書くためにはSatisfy any を使わざるをえないことが多くて大変でしたが、「人間とウェブの未来 - Apache 2.4系でのモダンなアクセス制御の書き方」で2.4 からはずいぶんまともな書き方ができることが分かったのでメモ。

      例えば、以下のルール。アクセス元が 192.168.* か、もしくは user が hoge の場合にはアクセスを許すというルールは以前は以下のように Satisfy any を使って表現する必要がありました。

      <Location /admin> Order deny,allow Deny from all Allow from 192.168. Require user hoge Satisfy any</Location>

      これが 2.4 では以下のように<RequireAny> というディレクティブで括れるようになった*1のでルールが明確になりました。

      <Location /admin> <RequireAny> Require ip 192.168. Require user hoge </RequireAny></Location>

      これで古いルールをコピペしつづける運用ともおさらばできそうです。


      at 23:44 |
      2016/12/06

      Observatory by Mozilla でウェブサーバの設定をチェック

      systemmanagemant  httpd  checker 
      Observatory by Mozilla の結果 - Observatory by Mozilla でウェブサーバの設定をチェック

      ウェブから手軽に httpd の設定をチェックできるツールについてはこれまでもいろいろと紹介しました(先日もQualys SSL Labs の SSL Server Testを取り上げました)が、Mozilla が運営しているObservatory by Mozilla を使うと複数のサービスをまとめてチェックできることが分ったのでメモ。

      Observatory by Mozilla

      Observatory by Mozilla is a project designed to help developers, system administrators, and security professionals configure their sites safely and securely.

      FQDN を入力するだけで手軽に診断できるので、ウェブサーバを運用している場合には一度チェックしておくと良いと思います。


        at 22:33 |
        2016/12/04

        HTTP Strict Transport Security (HSTS) に対応させてみた

        firefox  chrome  msie  httpd  ssl  rfc 

        遅ればせながらサイトをHTTP Strict Transport Security (HSTS) に対応させてみました。

        HSTS とは httpd 側から特定のヘッダを送ることにより、ウェブブラウザに対して特定のドメインでは HTTP ではなく強制的に HTTPS を使わせる仕組みです。この仕組みの便利なところは、HTML の記述に左右されず、特定のドメイン単位で HTTPS を導入できるようになることです。

        仕様についてはRFC 6797 で定められています。日本語の情報が良ければ Mozilla の「HTTP Strict Transport Security - Web セキュリティ | MDN」がわかりやすいと思います。

        今回は単純に以下のようなヘッダを挿入しておきました。

        Header set Strict-Transport-Security "max-age=31536000"

          at 22:01 |
          2016/11/25

          Qualys SSL Labs の SSL Server Test で証明書とサーバの設定をチェック

          ssl  systemmanagemant  httpd 
          SSL Report: blog.cles.jp - Qualys SSL Labs の SSL Server Test で証明書とサーバの設定をチェック

          先日、Chrome 56 から SHA-1 のサポート打ち切りが発表されたので、ウェブサーバの管理者は今のうちに証明書の状態をチェックしておく必要があります。もちろんサーバに入っている httpd の設定ファイルや証明書を確認しても良いのですが、公開されているサーバであればQualys SSL Labs の SSL Server Test を使うのが楽です。

          SSL Server Test (Powered by Qualys SSL Labs)

          This free online service performs a deep analysis of the configuration of any SSL web server on the public Internet.

          使い方はHostname の欄に調べたいサーバの名前を入力し、Submit ボタンを押すだけ。最終的な結果が出るまで2~3分かかるのでそのまましばらく待ちましょう。

          SHA-1 の問題についてはSignature algorithm の欄を確認して SHA-1 がなければ OK。最近発行された証明書であれば SHA256withRSA などになっていると思います。


            at 12:36 |
            2016/10/01

            Apache と Tomcat の連携時に一部のパスだけ Proxy しない方法

            tomcat  httpd  integration 

            Apache と Tomcat の連携は mod_proxy_ajp を使うと簡単に実現できます。
            例えば、<Location> ディレクティブと組み合わせて以下のような設定にすると、Apache へのアクセスを全て Tomcat に向けることができます

            <Location / > ProxyPass ajp://localhost:8009/</Location>

            上記の例は設定がシンプルなだけでなく、Tomcat 側に新しいアプリを追加したような場合でもイチイチ Apache の設定を変更する必要がないので便利なのですが、Apache 側に置いてある静的なコンテンツを返したいときや、 manager や host-manager のような管理用の WebApp を Apache からアクセスさせたくないような場合などに、一部の Path だけを ProxyPass の対象から除外したいという場合があります。

            これについていろいろ調べてみたところ、以下のように書くと除外パスが設定できるようです(ここでは manager と host-manager を除外しています)。

            <Location / > ProxyPass ajp://localhost:8009/</Location># Exclude path <Location /manager/ > ProxyPass !</Location><Location /host-manager/ > ProxyPass !</Location>

            ちょっとわかりづらいですが、Apache で Location を複数書いた場合の扱いについては「セクションのマージ方法」に記載があるとおり、設定ファイルに現れた順番に処理(上書き)されるため、除外するパスは <Location / > の定義よりも後に書く必要があります。ProxyPass しない場合には 「!」 だけを書けば良いというのは初めて知りました。


              at 19:46 |
              2016/01/01

              Apache の VirtualHost 設定を一覧にする

              httpd 

              Apache のVirtualHost 設定を一覧化する方法をいつも忘れるのでメモ。
              こんな感じで IPベース、名前ベースの一覧を得ることができます。

              # apachectl -t -D DUMP_VHOSTSVirtualHost configuration:192.168.1.1:443 is a NameVirtualHost default server example.net (/path/to/conf.d/00-ssl.conf:132) port 443 namevhost example.net (/path/to/conf.d/00-ssl.conf:132) port 443 namevhost blog.example.jp (/path/to/conf.d/01-blog.example.jp.conf:22) port 443 namevhost example.jp (/path/to/conf.d/01-example.jp.conf:19)192.168.1.1:80 is a NameVirtualHost default server example.net (/path/to/conf.d/00-virtualhost.conf:1) port 80 namevhost example.net (/path/to/conf.d/00-virtualhost.conf:1) port 80 namevhost blog.example.jp (/path/to/conf.d/01-blog.example.jp.conf:22) port 80 namevhost example.jp (/path/to/conf.d/01-example.jp.conf:19) port 80 namevhost dev.example.jp (/path/to/conf.d/01-dev.example.jp.conf:19) port 80 namevhost example.com (/path/to/conf.d/01-example.com.conf:19) alias www.example.com port 80 namevhost hoge.example.jp (/path/to/conf.d/01-hoge.example.jp.conf:19) port 80 namevhost www.example.jp (/path/to/conf.d/01-www.example.jp.conf:19)

              最近は VPS が安いので1台のサーバにいくつも VirtualHost をする必要性はないのかもしれませんが。。。。


                at 20:11 |
                2015/04/13

                リバースプロキシの裏にある Redmine のリダイレクトが HTTPSにならないときは

                httpd  redmine 

                Apache + Unicorn + Redmine という組み合わせで運用していて、リバースプロキシのApache に HTTPS -> HTTP の変換をやらせるように設定してみたのですが、Redmine のリダイレクトが HTTP になっていることがあって HTTPS だけで運用しようとすると HTTP にリダイレクトされたときにサーバから応答が帰ってこないように見えるので困ってしまいました。

                何か良い方法がないかと思って検索してみると、意外とはまりやすいポイントのようで、解決方法をいくつか見つけることができました。大きく分けるとバックエンドが投げる Location ヘッダを無理矢理書き換える方法か、バックエンド側にX_FORWARDED_PROTO というヘッダを投げてリバースプロキシの外側が HTTPS であるとバックエンドに解釈してもらうという方法があるようです。今回はどちらかというと根本的な対応に思える後者の対応を取ることにしました。こちらの方法であれば HTTP 側には影響を与えないので、そのまま使い続けることができます。

                やり方としては以下の行を Apache の設定ファイルに書き込むだけと簡単です。

                RequestHeader set X_FORWARDED_PROTO 'https'

                参考


                  at 17:55 |
                  2015/02/14

                  CentOS7 で service httpd graceful をするには

                  centos7  systemmanagemant  httpd 

                  普通、運用中の httpd を再起度するときは restart ではなく graceful を使うと思います。
                  が、systemd の場合は graceful とやってもそんなの知らないよと言われてしまうので systemd の流儀を調べてみました。

                  # systemctl graceful httpdUnknown operation 'graceful'.

                  systemd の場合は /usr/lib/systemd/system 以下にある .service ファイルに定義が書いてあるので、これを眺めてみると一撃で解決。systemctl reload httpd という感じで、reload を使うのが正しいようです。

                  /usr/lib/systemd/system/httpd.service

                  [Unit]Description=The Apache HTTP ServerAfter=network.target remote-fs.target nss-lookup.target[Service]Type=notifyEnvironmentFile=/etc/sysconfig/httpdExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUNDExecReload=/usr/sbin/httpd $OPTIONS -k gracefulExecStop=/bin/kill -WINCH ${MAINPID}# We want systemd to give httpd some time to finish gracefully, but still want# it to kill httpd after TimeoutStopSec if something went wrong during the# graceful stop. Normally, Systemd sends SIGTERM signal right after the# ExecStop, which would kill httpd. We are sending useless SIGCONT here to give# httpd time to finish.KillSignal=SIGCONTPrivateTmp=true[Install]WantedBy=multi-user.target

                    at 15:12 |
                    «Prev ||1 ·2 ·3 ·4 ·|Next»
                    »ArchiveList (Tag for "httpd" )
                    Copyright © 2004-2023 by CLES All Rights Reserved.
                    サイト内検索
                    検索ワードランキング
                    貸金庫 審査
                    銀行で貸金庫を借りてみた
                    Photo
                    ポスチャーフィット部品検査着ポテトなど生レモン尽くしスカッシュ正常に受付が完了しました財産債務調書バレット食道2024 年度 基盤研究(C)(一般) blog.cles.jpCelestica Seastone DX010ポスチャーフィットの割れ母子健康手帳 省令様式アーロンチェアのワイヤー新型コロナワクチン接種証明書アプリ冥銭
                    へぇが多いエントリ
                    閲覧数が多いエントリ
                    1 .アーロンチェアのポスチャーフィットを修理(99660)
                    2 .年次の人間ドックへ(99077)
                    3 .福岡銀がデマの投稿者への刑事告訴を検討中(99066)
                    4 .三菱鉛筆がラミーを買収(98676)
                    5 .2023 年分の確定申告完了!(1つめ)(98645)
                    最新のエントリ
                    cles::blogについて
                    誰が書いてる?
                    最近行った場所
                    サイトポリシー
                    タグ一覧
                    検索ワードランキング

                    カテゴリ別エントリ
                    Referrers

                      Powered by CLES
                      Nucleus CMS v3.31SP3/w memcached
                      21374346(W:4971 Y:1545 T:0165)
                      cles::blogのはてなブックマーク数
                      benchmark


                      [8]ページ先頭

                      ©2009-2025 Movatter.jp