主に IT 技術を整理するためにメモ的に書き溜めています。少しだけフリーソフトもあるよ。コメントを残すには、 facebook を使ってください。

Linux ファイルの変更を監視するには

例えば Web コンテンツがハッキングなどによって書き換えられてしまった際にそれを検知できると助かります。
Tripwire などの商用ツールも有りますが、 Linux には auditd というデーモンがあります。これが割りと便利なので簡単な使い方をメモ。

特定のディレクトリを丸ごと監視

例えば /var/www ディレクトリ内で発生する書き込み、属性の変更を監視したい場合、以下の様なルールを作る。

# vi /etc/audit/audit.rules
# First rule - delete all
-D

# Increase the buffers to survive stress events.
# Make this bigger for busy systems
-b 320

# Feel free to add below this line. See auditctl man page

-w /var/www/ -p wa -k web-wa

-w は監視対象ディレクトリ
-p は監視の種類、 w: 書き込み a: 属性 r: 読み込み など
-k はログを見る際などのキーになる

更に特定のディレクトリだけは関しから外したいような場合は

-a exit,never -F dir=/var/www/tmp -k exclude
-a exit,never -F dir=/var/www/cache -k exclude
-a exit,always -F dir=/var/www -F perm=wa -k web-wa

などとやるとできる。


もっと読む

SSH の ブルートフォース攻撃を iptables で防ぐには

SSH ポートを開いていると、間違いなくパスワード総当り攻撃を食らう。これが酷い時は、 SSH ポートに接続できなくなる位ひどい時もあるので、前もって対策しておきたい。

F/W や iptables でアクセス元の IP を制限すればいいんだけど、それができないケースなどは以下の iptables ルールで、一分間に3回以上接続がきた IP をブロックする。

iptables -N SSH_CHECK
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK
iptables -A SSH_CHECK -m recent --set --name SSH
iptables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 4 --name SSH -j DROP
  • 1行目:チェーン名を作る
  • 2行目:22番ポートへの最初のインバウンド SYN パケットを SSH_CHECK チェーンにマーク
  • 3行目:SSH という名前で SSH_CHECK チェーンに引っかかったパケットを一時リスト
  • 4行目:随時60秒間一時リストを更新しつつ、4回以上引っかかったら DROP する

mod_rewrite で特定の IP に対してアクセス制限するには

mod_rewrite を使って特定の IP のみアクセスさせる、もしくはアクセスさせないようにするには以下のようにする。

アクセスを拒否

RewriteCond %{REMOTE_ADDR} ^192\.168\.0\.1$ [OR]
RewriteCond %{REMOTE_ADDR} ^192\.168\.0\.2$
RewriteCond %{REQUEST_URI} !^error\.html
RewriteRule .* error.html

アクセスを許可

RewriteCond %{REMOTE_ADDR} !^192\.168\.0\.1$
RewriteCond %{REMOTE_ADDR} !^192\.168\.0\.2$
RewriteCond %{REQUEST_URI} !^error\.html
RewriteRule .* error.html

CentOS 4 に mod_security を導入するには

久しぶりに最近ネットセキュリティについて触れることが多くなり、 iptables だの chkrootkit だの snort だの tripwire だの nessus だのと色々いじってる。しかも結構楽しい。
今後のブログネタはしばらくこの線で行こうかな。

その第一弾ってことで mod_security のインストールから設定までのメモ。
modsecurity はフリーの Web アプリケーションファイアーウォールで、 Apache のモジュールとしてインストールする。
Apache のリバースプロクシにインストールしてもいいし、 Web サーバと共存させて動作させてもいいっぽい。

とりあえず今回は Web サーバと共存の形で CentOS 4 にパッケージでインストールした。あとで CentOS 5 にもソースからインストールする予定。

環境

  • CentOS-4.4
  • Apache-2.0.59
  • mod_security

もっと読む

postfix と saslauthd で SMTP-AUTH

CentOS-4.4 で Postfix と saslauthd で SMTP 認証環境を構築したときのメモ。 とりあえずは SPAM 防止ということで、全ユーザに共通のパスワードを発行してる。それぞれのユーザに IMAP と UNIX 、 SMTP-AUTH 共通の 独自パスワードを発行したいんだけど、やり方は調査してない。
もっと読む

OVAL を試してみた

OVAL っていうのは、 Open Vulnerability and Assessment Language の略で、脆弱性を検査するためのオープンな言語です。

http://oval.mitre.org/

その昔は SQL チックな記述言語だった気がするんですが、久々に見てみたら流行の XML になってた。


もっと読む

off-by-one buffer overflow

バッファオーバーフローの仕組み。
バッファを1バイトだけオーバーフローさせて制御を奪う方法。
ebp の下にリターンアドレスが格納されているものとしてプログラムは動いてるらしくて、 oldebp の1バイトを書き換えて、特定のメモリを指させ、その指し示したアドレスにリターンアドレスを埋め込んどく。
あとは、そのリターンアドレスの先にコードを埋め込んどけば制御が奪えるということだ。
もっと読む

shutdown shellcode

シャットダウン用のシェルコードです。
もっと読む

kick notepad shellcode

Notepad 起動用のシェルコードです。
もっと読む

advanced windows shellcode

Windows Exploit (攻撃)用のシェルコードです。
もっと読む
ページ: 1 |
フリーソフトウエア
EnjoiFLV
EnjoiPacket
EnjoiCrypto
ランキング
rank1, rank2, rank3, rank7, rank9, rank10, rank11
todo メモ
facebook 対応
ページ処理
RSS feed
検索機能
認証いる?
更新日表示
実はカテゴリ機能
多言語
実はユーザ機能
ソースその内公開
動作環境メモ
php-5.1.6 with PDO
SQLite-3.3
IE6
FireFox-1.5
RSS
非認証

検索
Google