カテゴリー
SugiBlog ホームページ制作・システム開発|大阪

bashの脆弱性“Shell Shock”(CVE-2014-6271)

2014年9月24日にBashの脆弱性が公表されました。
これはかなり危険度の高い脆弱性ですので、対処していない場合は早急に対処する必要があります。

原因は環境変数に関数が定義されてしまい、シェルを起動するだけで有効になってしまうことです。

脆弱性があるかどうかチェックするには以下のコマンドを実行してみてください。

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

以下のように出力されたらアウトです。

vulnerable
this is a test

echo vulnerable」の部分に任意のコマンドを入れることができます。

早急にbashをアップデートすることをお勧めします。
bashのバージョンを確認するには

rpm -qa | grep bash

続きを読む…»

この記事がお役に立ちましたらシェアお願いします

806 views

qmHandle

qmailを運用していく上で非常に便利なツール「qmHandle」についてご紹介します。
スパムの被害に遭ったり、メールキューが溜まりすぎてサーバーで処理してしまいたい時などに重宝します。

初めは「queue-fast.pl」というツールを使っていました。
ただ、このツールには指定したアドレス宛のメールキューを削除という機能はあるのですが、
送信元のアドレスを指定して削除することはできません。

そのため、このツールでキューの一覧を出力しテキストファイルに保存し、その中から不要なキューのメール番号リストを作成。
リストを利用し、qmHandleで削除していくシェルスクリプトを作成し削除する、という方法をとっていました。

ですが、この方法だと少々時間がかかり、キューの数が多いとかなりかかります。
なんとかできないかとqmHandleのヘルプを見ると、送信元アドレスを指定して削除するオプションがありました!
前述のような面倒なことをしなくてもqmHandle一つで出来たとは…。
ちなみにそれが出来るようになったのはバージョン1.3.0からのようです。

qmHandleのオプションについて全てを紹介しているサイトは少なかったので、ここで紹介させていただきたいと思います。
qmHandleのダウンロードは以下のURLから。
https://sourceforge.net/projects/qmhandle/
続きを読む…»

この記事がお役に立ちましたらシェアお願いします

1,271 views

apache URL転送

ホームページの転送はHTMLのmetaタグでも可能ですが、包括的に転送したい場合には不向きです。
そこでapacheの設定で転送するように設定することができます。

apache設定ファイルの「httpd-vhosts.conf」を編集します。

例)http://www.example.jp/というリクエスト要求に対してhttp://www.example.com/に転送します。

<VirtualHost 192.168.0.100>
    ServerName www.example.jp
    Redirect / http://www.example.com/
</VirtualHost>

続きを読む…»

この記事がお役に立ちましたらシェアお願いします

1,043 views

apache ログのカスタマイズ

apacheでは、デフォルトでアクセスログなどを記録してくれますが
そこに例えばリファラー情報などは含まれません。

apacheの設定ファイルを変更すれば、記録する情報を任意にカスタマイズすることができます。

カスタムログの作成

ここでは例として、リファラー情報とリクエストURLを記録するカスタムログを作成してみます。

httpd.confを開き、<IfModule log_config_module>というディレクティブを探します。

※IfModuleディレクティブは消しておいたほうがいいという説があるようですが、
ここではそれについては割愛します。

デフォルトでは以下のようになっているはずです。(違う場合は環境によると思ってください)

<IfModule log_config_module>
    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    #
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    #
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here.  Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    #
    CustomLog logs/access_log common

    #
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #
    #CustomLog logs/access_log combined
</IfModule>

※combinedという設定が既にリファラーを記録するフォーマットになっていますので、
設定するのが面倒な場合はこちらを使用してください。
続きを読む…»

この記事がお役に立ちましたらシェアお願いします

1,358 views

SSLでパスフレーズの入力を省略する

apacheにSSLを導入した場合、apacheの起動時にパスフレーズの入力を求められます。
サーバーの再起動時や、プログラム等でのapacheの自動起動でパスフレーズの入力で止まったまま起動しない、という問題が発生します。

[Apache+SSL環境の構築]の最後でも紹介したように、秘密鍵を復号化しておけばパスフレーズの入力を省略できますが、セキュリティ上良くありません。
そこで秘密鍵を復号化することなく、パスフレーズの入力を省略する方法をご紹介します。

apacheのhttpd.confの<ifModule ssl_module>ディレクティブを修正します。

<ifModule ssl_module>
...
    SSLPassPhraseDialog exec:{プログラムの絶対パス}
</ifModule>

通常、SSLPassPhraseDialogの記述はないかと思いますが、
デフォルトはbuiltinとなっており、対話形式でパスフレーズを入力する設定になっています。
続きを読む…»

この記事がお役に立ちましたらシェアお願いします

1,377 views