[BLOG][Security] ちょっとWAFを通してみることにした。

Logwatchみてて、結構なアタックを食らってる事が分かったため、UTMの一機能であるWAF(Web Application Firewall)を通してみることに。

ほんと、SSHDの不正アクセスもそうなんだけど、マジ半端ねぇ。

WAFからのアクセス及び我が家以外のアクセスを全拒否させるため、とりあえずiptablesルールを修正し、我が家から以外のすべてのアクセスを拒絶する設定を投入。

/etc/sysconfig/iptables をviでいじる。

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state NEW -s (自宅グローバルセグメント) -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state –state NEW -s (自宅グローバルセグメント) -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -s (自宅グローバルセグメント) -m tcp -p tcp –dport 443 -j ACCEPT
-A INPUT -m state –state NEW -s (自宅グローバルセグメント) -m tcp -p tcp –dport 25 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT

これが終わった後、iptablesを以下コマンドで再起動。

[root@conoha sysconfig]# service iptables restart
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
[root@conoha sysconfig]#

で、WAF側の設定を行いますよと。

うちで使ってるSophos UTMでは、フロントに立つ仮想Webサーバ(実態はリバースプロキシ)とバックエンドWebサーバの接続が必要になりまして。以下のように構成しています。

  • HTTPS接続用仮想Webサーバ:待ち受けポート443
    • ウイルススキャン有効
    • SQLインジェクション検出有効
    • クロスサイドスクリプティング検出有効
    • バックエンドWebサーバ→Conoha上のWebサーバ:443を指定
  • HTTP接続用仮想Webサーバ:待ち受けポート80
    • ウイルススキャン有効
    • SQLインジェクション検出有効
    • クロス再度スクリプティング検出有効
    • バックエンドWebサーバ→Conoha上のWebサーバ:80を指定

これで一応、現在HTTPアクセスに関してはWAFを通るようになっとります。

HTTPSアクセスもWAFを通すようにしようとしていますが、実はRapidSSLから発行した証明書がなかなかWAFに適用できずに苦慮しとります。 証明書のインポートはできるんですが、どうやら仮想Webサーバにインポートした証明書を選択することができないんです・・・・うぬぬぬぬぬ。

何か原因があるのかなぁ・・、生成させた俺様証明書はちゃんと選択できるんですけどねー・・ぬぬん。

このあたり、UTMであったりロードバランサであったりは知識が本当に足りてなくて、苦労しとります。もう少し悩んでみることにします。

とりあえずは、次回Logwatchがどんな風に出てくるのか楽しみと言えば楽しみですかね。あと、UTM側の統計なんかもみるのが楽しみだったりします。ぐふふのふ。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.