カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

.htaccessでRewriteモジュールの設定

ApacheのRewriteモジュール(mod_rewrite.c)を使用してリダイレクト(転送)させることができます。
設定はApacheの設定ファイルに記述するか、.htaccessに記述します。

以下は例として、HTTP通信をHTTPS通信に変換しています。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
</IfModule>

基本機能について

RewriteEngine On|Off

Rewrite機能のON/OFFを切り替えます。

RewriteCond

リダイレクトする条件を定義します。

RewriteRule [正規表現パターン] [置換パターン] [オプション]

URLの書き換え、転送先を指定します。
複数のオプションを指定する場合はカンマ区切り


オプション

[L] Last(Last rule)
Rewrite機能によるURL変換を終了します
[R=301|302] レスポンスを返しクライアントをリダイレクトする
301:恒久的転送(リダイレクト)
302:一時的な転送(リダイレクト)
2,916 views

OpenSSL バージョンアップ TLS1.1以降に対応

OpenSSL0.9.8zgではSSL2、3、TLS1.0までしか対応していません。
TLS1.1、1.2に対応させるため、OpenSSL1.0.1uにバージョンアップしました。

まずはソースを公式サイトからダウンロードします。
https://www.openssl.org/source/old/1.0.1/

ソースを/usr/local/srcに保存します。
/usr/local/srcに移動して該当ファイルを解凍します。

cd /usr/local/src
tar -xvzf openssl-1.0.1u.tar.gz

解凍したディレクトリに移動し、コンパイルしてインストールします。

cd openssl-1.0.1u
./config
make
make install

デフォルトは「/usr/local/ssl」にインストールされます。

バージョンを確認してみましょう。

/usr/local/ssl/openssl version

バージョン情報が出力されますので、バージョンアップされていればOKです。

TLS1.1、1.2が使えるかどうか確認してみましょう。

/usr/local/ssl/openssl s_client -connect example.jp:443 -tls1_1 < dev/null
/usr/local/ssl/openssl s_client -connect example.jp:443 -tls1_2 < dev/null

通信可能かどうかが表示されます。
もしも使えない場合はunknown optionと言われます。
続きを読む…»

20,710 views

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

続きを読む…»

1,918 views

qmHandle

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

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

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

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

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

3,386 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,970 views