とあるLinuxのWebサーバー(apache)で、負荷が高くなるとネットワーク接続出来なくなる現象が起きました。
調べてみますと、
- /var/log/messages
き気になるメッセージが
「net.module/1 | max connections reached: 1000, rejecting hash_val」
環境・前提条件
今回の環境はAWS上で発生しましたが、AWSが原因ではありませんでした
- AWS Amazon Linux 4.1.7 amzn1.x86_64
- Apache/2.2.31
- Trend Micro Deep Security 9.6
結論、トレンドマイクロDeep Security の設定でした。「最大TCP接続数」
トレンドマイクロのDeep Security の設定で最大TCP接続数を上回る通信が来た場合、 その通信がブロック様です。
この設定によって、接続出来なくなっていました。
対応方法:DSMのネットワークエンジンの設定変更
この機能は、kernelのネットワークドライバとしてロードされたモジュールが実現しており
- Webレピュテーション
- ファイアウォール
- 侵入防御(DPI)
などで使用されるネットワークエンジンの設定を変更する必要があります。
- Deep Security Manager にログインし、[コンピュータ]で対象のDeep Security Agent を選択、詳細を開きます。
- 詳細画面で、[設定]ページを開きます。
- [ネットワーク]タブに移動し、[ネットワークエンジンの詳細設定]セクションに移動します。
※[継承]にチェックがされている場合、チェックを外します。 - [最大TCP接続数] の項目で、設定したい値を選択し、[保存]をクリックします。