こんにちは。
SecurityTIMES編集部です。
今回はApacheのモジュールであるmod_dumpostを紹介します。通常、ログにはリクエストのPOSTデータは出力されません。十分なログが出力されていない場合、攻撃を受けたときなど、過去のログから調査することが難しくなります。
これはセキュリティ上よろしくないので、今回はUbuntuのApacheにmod_dumpostを導入してみます。
・事前準備
まずはApacheモジュールを追加するための開発ライブラリであるapache2-threaded-devをインストールします。
sudo apt-get install apache2-threaded-dev
Apacheのログ出力レベルをinfoにします。
# 137行目 LogLevel warnを LogLevel info
vi /etc/apache2/apache2.conf
mod_dumpostを適当なディレクトリにcloneしてきます。
git clone https://github.com/danghvu/mod_dumpost
#mod_dumpostのディレクトリに移動
cd mod_dumpost
MakeFileの1行目 “PXS = apxs” を “PXS = apxs2″に書き換えます。
それからmakeしてインストール
make
make install
変更したらApacheを再起動。
/etc/init.d/apache2 restart
これでApacheのerror.logに POSTデータが出力されます。
試しにcurlでPOSTリクエストを送信してみます。
curl http:///test -X POST -d "test" -d "csc"
以下のようなログが出力していればモジュールが正常に動作しています。
[Fri Jun 17 13:03:52.800420 2016] [:info] [pid 13441] [client xxx.xxx.xxx.xxx:xxxxx]
"POST /test HTTP/1.1" test&csc
ただし、mod_dumpostを出力させるようにするとログファイルのサイズが大きくなるので注意が必要です。
出力させるログサイズを制限することもできます。
#confファイルを編集
vi /etc/apache2/apache2.conf
#最終行に追加。ここでは1024に設定。
DumpPostMaxSize 1024
初期設定では1048576(1MB)まで出力されます。
同じapache2.confに以下のように記述すると出力するログをパスで指定できます。
#以下はaccess.logに出力しています。
DumpPostLogFile ${APACHE_LOG_DIR}/access.log
今回のようにApache2にモジュールを追加したりすることで簡単にセキュリティを強化する方法はたくさんあります。
次回以降もセキュリティ対策となる方法について紹介していきたいと思います。
次回は脆弱性診断ツールVulsを紹介予定です。
CyberSecurityTIMESを運営している弊社サイバーセキュリティクラウドでは、Webセキュリティ対策のソフトウェア「攻撃遮断くん」を提供しております。専門家によるサポートも充実しております。お気軽にお問合せください。
この記事と一緒に読まれています
“Docker”を使ってみよう〜Ruby on Rails編〜
2016.12.01
セキュリティ対策
2016.10.27
セキュリティ対策
Dockerで実践〜Macに”Metasploit”をインストールしてみよう!〜
2017.01.19
セキュリティ対策
コンテナ型仮想化ソフトウェア ”Docker” を使ってみよう〜ローカル適用編〜
2016.09.29
セキュリティ対策
Apache Struts2の脆弱性で広がるサイバー攻撃の被害
2017.03.30
セキュリティ対策