サイバー攻撃からシステムを守る ~Dos攻撃の対処法~
システム管理のつぼ(2016年9月号)
OSS研究室 大野 公善
今回はサイバー攻撃対策第2弾です。
前回は侵入攻撃についての手法と対策を紹介しました。今回はDoS(Denial of Service)攻撃の手法とその対策を紹介します。
DoS攻撃は、外部に公開しているサーバに対して、大量のリクエストを送りつけたり、不正なパケットを送りつけたりすることにより、正常なサービス提供を妨害する攻撃です。複数のマシンから1箇所のサービスに対して一度にDoS攻撃を行うDDoS(Distributed Denial of Service;分散DoS)攻撃も行われることがあります。
DNSサービスに大量問い合わせが行われるDNS水責め攻撃やDNS Amp攻撃もDDos攻撃に分類されます。
1箇所からのDoS攻撃を受けた場合、攻撃元を突き止めてファイアウォールで通信を遮断してしまえば対策はできますが、DDoS攻撃のように不特定多数のサイトから一斉に攻撃を受けた場合、その攻撃元を絞るのは難しいとされています。このような攻撃の対策として、同じIPアドレスからのアクセス回数を制限する方法があります。例えば、同じ接続元からの接続は60秒間に120回までというように制限を行ってしまいます。このような制限を設定しておけば、例えDDoS攻撃を受けたとしても制限値を超える通信を拒否することができるので、サービスが提供できない状態になることを防ぐことができます。
Linuxサーバでは、firewalldやiptablesを利用することで、この対策を行うことができます。firewalldやiptablesのhashlimit機能を使用すれは、同じ接続元から一定期間に接続を許可する数を制御することができます。通常のサービス提供を行うために十分な接続数の制限をしておけば、DDoS攻撃からサービスを守ることができます。firewalldやiptablesでの対策は、アプリケーションの設定を変更する必要がありませんので、容易に実施することができます。
その他、ルータやスイッチ等でも、単位時間内の接続数制限の機能を持っているものもあるので、ネットワーク機器での対策も可能です。
ウェブサービスやDNSサービスを公開している場合、いつでもDoS攻撃を行われる可能性があります。DoS攻撃を受けないようにすることは難しいですが、DoS攻撃を受けても大丈夫なサーバにすることはできます。
デージーネットでは、安心して外部にサービスを公開できるように、firewalldやiptablesを有効にした攻撃に強いサーバを提案・構築しています。