Archive for the 'サーバ管理' Category

キャッシュその他

WP-Super-Cacheのときに懲りていたはずなんですが、またやってしまいました。(スーパーキャッシュのときは、通販サイトのカートがクロスサイトスクリプティング対策をやってて、そのワンタイムトークンごとキャッシュしてたので、キャッシュを読むとXSSエラーになるという。orz…)
 
Apacheに cache と disk_cache というモジュールがあって、Apacheレベルでキャッシュしてくれるなら、きっと汎用性が高いだろう(スーパーキャッシュのときのようなことはないよね)と勝手に思って、この2つを available にしたんですが、WordPress Muでリダイレクト無限攻撃!orz…
 
「キャッシュがある程度溜まる」&「ブラウザのCookieの状態」&「なにか」で無現リダイレクトになるみたいで、ちゃんと追っかけきれてないんですが、301攻撃の嵐!
mod_evasiveを入れていたので、DoS攻撃だとみなされて、403 Forbiddenと踏んだり蹴ったりです。
気をつけましょう。

LinuxいろいろTips

[Linux] プロセスIDを調べてみる
ps aux とか ps -ef 、 pgrep なんかは普段使っていなかったので、勉強になった。
 
Apache で mod_cache を使う

# a2enmod cache
# a2enmod disk_cache

# e /etc/apache2/mods-available/disk_cache.conf
CacheEnable disk /

これでOK。
WordPress Muで問題が発生したので組込み中止!
 
ubuntu(Debian系Linux)のApache2.2の設定管理
有効化したモジュールは、/etc/apache2/mods-enabledにファイルが作成される、ということが知りたかった。

Apache DoS攻撃対策 mod_evasiveインストール

必要に迫られてmod_evasiveをインストールしたのでメモ。Ubuntu9.04でのことです。
そのものずばりの記事がこちら ⇒ How to mod_evasive Ubuntu 9.04

sudo apt-get install libapache2-mod-evasive

こうするだけでいいよ(That is all there is to it.)と。
ほんとかなぁ?
ほんとに動いているかどうか心配だって?(How to test that it works ?)
じゃあ、F5連打してみなよ、すぐわかるから。(Simply open any browser, got to your server’s home page, and click the reload button as fast as you can.)
 
で、やってみました。
1秒間に2、3回程度なら全然拒否られません。
ガーっと連打というか押し続けると、こんな画面が。

Forbidden

You don't have permission to access / on this server.

みごとです。しばらくは間をおいてもこの画面でした。ちなみにサーバ側は 403を返しています。
 
Ubuntuではこれだけですが、ソースから入れたりしての詳しい設定方法などは、以下を参照。
Apache DoS攻撃対策 mod_evasiveインストール&設定 – Linux

IPアドレスでアクセス拒否

ちょっといろいろあって「お断り」したいアクセス元があったので、しばらくIPアドレスで拒否っと。
まず、どこから来てるか、それを調べる。

# lsof -i:80

COMMAND   PID     USER   FD   TYPE   DEVICE SIZE NODE NAME
apache2 23768 www-data   17u  IPv6 54246506       TCP ubuntu904A:www->i125-201-8-158.s05.a023.ap.plala.or.jp:53982 (ESTABLISHED)
apache2 23770 www-data    5u  IPv6 54100032       TCP *:www (LISTEN)
apache2 23770 www-data   17u  IPv6 54246505       TCP ubuntu904A:www->i125-201-8-158.s05.a023.ap.plala.or.jp:40936 (ESTABLISHED)
apache2 23778 www-data    5u  IPv6 54100032       TCP *:www (LISTEN)
apache2 23778 www-data   17u  IPv6 54246518       TCP ubuntu904A:www->i125-201-8-158.s05.a023.ap.plala.or.jp:38658 (ESTABLISHED)
apache2 23780 www-data    5u  IPv6 54100032       TCP *:www (LISTEN)
apache2 23780 www-data   17u  IPv6 54247178       TCP ubuntu904A:www->spider79.yandex.ru:54332 (ESTABLISHED)
apache2 23794 www-data    5u  IPv6 54100032       TCP *:www (LISTEN)
apache2 24506 www-data    5u  IPv6 54100032       TCP *:www (LISTEN)
apache2 24506 www-data   17u  IPv6 54246543       TCP ubuntu904A:www->i125-201-8-158.s05.a023.ap.plala.or.jp:41587 (ESTABLISHED)

ま、こんな感じのレポートが出てくるわけです。(この例は、aguse.jpを動かしたときのもので、aguse.jpを拒否りたいわけではないので。念のため)
 
この例で言うと「i125-201-8-158.s05.a023.ap.plala.or.jp」を拒否りたいので、これをIPアドレスをなんでもいいんですけど、調べる。

# dig i125-201-8-158.s05.a023.ap.plala.or.jp

;; ANSWER SECTION:
i125-201-8-158.s05.a023.ap.plala.or.jp. 3600 IN A 125.201.8.158

 
で、「125.201.8.158」をしばらく拒否ろうかなと。

# iptables -I INPUT -s 125.201.8.158 -j DROP

 
iptablesの状態を見てみると、

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  i125-201-8-158.s05.a023.ap.plala.or.jp  anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

 
戻すときは、

# iptables -D INPUT 1

指定している数字は、iptables -Lで出てくる順番です。いまは1つしかないから1。
 
このやり方(プロバイダのIP制限)をすると、巻き添えを食ってアクセスできない人がたくさん出ると思うので、緊急事態だけね。
 
参考:
iptables で特定IPからのアクセスを拒否
第9回 IP認証によるアクセス制限のテクニック

Postfixでdocomoだけ別サーバ経由にする

# e /etc/postfix/main.cf
transport_maps = hash:/etc/postfix/transport
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/saslpass
smtp_sasl_security_options =

 

# e /etc/postfix/transport
docomo.ne.jp  :[hogehoge.com]:587
.docomo.ne.jp :[hogehoge.com]:587

# postmap /etc/postfix/transport

 

# e /etc/postfix/saslpass
hogehoge.com user@hogehoge.com:password

# postmap /etc/postfix/saslpass

 
postfixを restartでOK
 
MacOSX(Postfix)でSMTP Authクライアントをやってみる。その2 が一番わかりやすかった。

コメント・スパム対策

いままでまったくといっていいほどこなかったコメント・スパムが突然多量に、それも数百オーダーで来るようになりました。
Akismetを導入しているので、自動的にスパムフォルダへ振り分けられて実害はないのですが、毎日スパムが数百ずつ増えるのを見るのもうんざりですし、もしこの中に間違ってスパムじゃないコメントがまぎれていたとしても、目視で確認することは事実上不可能です。
Read More

サイトの新規登録

Satake Studio では WordPressベースのホームページ制作をお引き受けするとき、独自ドメイン取得から始まる一連の手続きを行っています。
以下、代表的なケースを例にどのような手続きを行っているか簡単に説明したいと思います。
Read More

メールアドレスの新規設定

ドメインを取得したとき、そのドメインに属するメールアドレスを設定する方法をメモしておきます。
Read More

« 前ページへ