読者です 読者をやめる 読者になる 読者になる

HTTPサーバのログ解析からアタックを検出する簡易ツールを作ってみた

Webサイトを運用しているとアタックや如何わしいアクセスを調べたいときがあります。簡単にHTTPサーバのアクセスログから短い間隔で大量にアクセスしているホストを、諸々のコマンドで操作するのは面倒なので、簡単に検出できるツールがあると便利です。 探…

Ubuntu 12.04 に Redmine 2.0.3 を構築した時の Apache + Passenger の設定

Ruby 1.9 で Passenger を動かすために試行錯誤したのでメモしておく。基本的には、アップグレード — Redmine Guide 日本語訳 などを参考にする。 Passenger のインストール $ sudo apt-get install libcurl4-openssl-dev $ sudo apt-get install apache2-pr…

WordPress をフロント Nginx のリバースプロキシ下で運用する場合に 管理画面を SSL に強制する設定

Nginx をフロントにおいて高速化するのは常套手段ですが、そのときに WordPress の wp-admin(管理画面)は SSL を有効にしたいときの設定方法です。 Nginx の設定 # HTTP server # server { listen 80; location / { proxy_redirect off; proxy_set_header …

Ubuntu で Apache 2.2 でマルチドメイン SSL を設定するには

マルチドメインSSL証明書は本来IPアドレスごとに1FQDNだった SSL ホストを、1IPアドレスで複数のFQDNに対応させるものです。 要するにhttpsでも名前ベースのバーチャルホストが使えるようになります。Apache 2.2.12 以降で SNI(Server Name Indication)と…

WordPress の wp-content に SELinux で httpd に書き込み生成権限を与えるには

WordPress のテーマファイルやプラグイン、アップロードしたファイルの置き場所は wp-content ディレクトリ以下になる。 ここに対して、httpd (apache) で書き込み生成権限を付加する必要がある。その SELinux の設定についてのメモ。 権限の確認 httpd_t の…

Apache WebDAV + SVN で LDAP 認証を設定する

CentOS で LDAP 認証サービスを立ち上げたので、Subversion リポジトリの認証も LDAP で行うようにしたメモ。 LDAPサーバ: ldap.example.com 検索対象(ユーザーのOU): ou=People,dc=example,dc=com httpd.conf 下記のLimitExcept の部分が認証設定。 LoadMod…

WordPress のフィード配信を 410 Gone にするには

WordPress の RSS, Atom フィードの URL は /feed/rss, /feed/atom/ など /feed/ 以下にある。 mod_rewrite で /feed/ 以下を 410 Gone にして、フィードが配信されなくなったことを知らせてみる。 .htaccess RewriteRule ^feed/.*$ - [G,L]※きちんと解釈し…

HTTP サーバのレスポンスヘッダは Firefox の Live HTTP headers よりも wget -S の方が詳しく取れる

#!/usr/bin/ruby print "Content-Type:application/xhtml+xml\r\n" print "Content-Type:text/plain\r\n\r\n" print <

Apache 2.2 のロードバランスでセッション毎にワーカーのパーシステンスを図るには

mod_proxy_balancer では、単純に stickysession の値をマッピングをしてくれるわけではないことが http://www.res-system.com/weblog/item/618 をみてわかった。 そこで、 http://d.hatena.ne.jp/tagomoris/20070717/1184671767 を参考にして、とにかくルー…

mod_rewrite のメモ

Apache の Rewrite 機能で試してた設定をメモ書きしておく。 ある CGI から別の CGI を呼び出す /test/one.cgi?x=1&y=2... のようなリクエストを /another.cgi?x=1&y=2... と受けるには RewriteRule ^/test/one.cgi(.*)$ /another.cgi?$1ではできない。URL引…

Solaris で logadm の設定(Apache のログをローテート)

以前書いたエントリは、直接 /etc/logadm.conf を書き換えていたが、作法としては下記のようにコマンドからエントリを登録する方が良い。 # logadm -w apache2 -p 1w -C 5 \ -t '$file.%Y-%m-%d' \ -a '/usr/apache2/bin/apachectl graceful' \ '/var/apache…

mod_rewrite を使って、スクリプトファイルの拡張子を消してパーマリンクらしくする

Apache の httpd.conf に次のように定義する。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/(.*)$ /$1.php [L] </IfModule>リクエストファイルがファイルとしてもディレクトリとしても存在しなかったと…

Apache で文字化けしたときの言語・文字エンコーディングの設定修正について

デフォルト設定では日本語コンテンツの場合、文字化けが発生することが多い。 httpd.conf を以下のように設定する。DefaultLanguage はコンテンツのデフォルト言語を指定する。AddDefaultCharset はデフォルトの文字コードを設定する。標準の記述が AddDefau…

CentOS 5 で Apache を起動するように設定

ファイアウォールの設定 # vi /etc/sysconfig/iptables下記をルールに追記する。(「-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited」の行より前に) -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCE…

Solaris 10 で Apache2・SSL を動作させるときの設定メモ

OS標準のApache2のSSL設定についてメモ。SMF の設定も。 # openssl genrsa -out /etc/apache2/ssl.key/server.org 1024 Generating RSA private key, 1024 bit long modulus .................++++++ ......................++++++ unable to write 'random …

Rewrite

メモ 192.168.1, 192.168.2 系から来たアクセスの場合は、/ を /private/ 書き換える。[R] ならば転送する。 <IfModule mod_rewrite.c> RewriteEngine On RewriteLog logs/rewrite.log RewriteCond %{REMOTE_ADDR} ^192\.168\.1\. [OR] RewriteCond %{REMOTE_ADDR} ^192\.168\.2\. Re</ifmodule>…

Apache 2.2.4 をインストール

./configure \ --prefix=/proj/local/apache-2.2.4 \ --enable-threads --enable-so \ --enable-deflate=shared \ --enable-cache --enable-disk-cache \ --enable-mem-cache --enable-rewrite=shared \ --enable-proxy --enable-proxy-connect \ --enable-p…

Solaris 10 で SMF の Apache2 が自動起動しない

RAIDの認識とのタイムラグによる /var/run の書き込む失敗が原因 /var/svc/manifest/network/http-apache2.xml <dependency name='fs-local' grouping='require_all' restart_on='restart' type='service'> <service_fmri value='svc:/system/filesystem/local' /> </dependency>