Jack Wallen によるこのビデオ チュートリアルで、Linux サーバーをフォーク ボム サービス拒否攻撃から保護する方法を学びます。
開発に利用するLinuxプラットフォームは非常に安全だと考えられていますが、100%安全であると保証されているわけではありません。例えば、フォーク爆弾が挙げられます。
フォークボムとは、フォーク操作を利用したサービス拒否攻撃の一種です。フォーク操作は再帰的に実行され、システムリソースをすべて消費する可能性があります。フォークボムの被害を受けたシステムの制御を取り戻す唯一の方法は再起動ですが、再起動しても元の状態に戻らないという保証はありません。
参照: 採用キット: ネットワークエンジニア (TechRepublic Premium)
では、どうすればこのような事態を防ぐことができるのでしょうか? Linux サーバーで許可されるプロセスの数を減らします。
Linuxはデフォルトで128,038個のプロセスを許可しています。サーバーをフォークボムから守るには、この数を減らす必要があります。実際には非常に簡単ですが、あまり減らしすぎるとシステムが使用不能になる可能性があります。
では、許可されるプロセスの数を減らすにはどうすればよいでしょうか。説明しましょう。
まず、コマンドを実行して、システムで許可されているプロセス数を確認しましょうulimit -u
。128,038 と表示される場合、システムはフォーク爆弾に対して脆弱である可能性があります。
コマンドを使って、その数を5,000に減らしてみましょうulimit -S -u 5000
。コマンドを実行すると、ulimit -u
利用可能なプロセスが5,000個だけ表示されるようになります。
しかし、安全のために、ユーザーごとにプロセス数を制限したいとします。そのためには、コマンド で limits.conf ファイルを開きsudo nano /etc/security/limits.conf
、ファイルの末尾に のような行を追加しますjack hard nproc 5000
。これにより、ユーザー jack のプロセス数は最大 5,000 に制限されます。
必要なユーザーに対してこの変更を行ってください。ただし、システム ユーザーに対して行う場合は、システムが正常に動作しなくなることのないように注意してください。
これを実行したら、システムを再起動すれば準備完了です。おめでとうございます。これでLinux開発システムをフォーク爆弾から守ることができました。
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。
こちらもご覧ください
- サイバーセキュリティのプロになる方法:チートシート
- 最高のクラウドバックアップサービスとソリューション
- Pythonプログラミング言語:このトレーニングであなたのコーディングキャリアをスタートさせましょう
- Linux開発者に必須のツール8選

ジャック・ウォーレン
ジャック・ウォーレンは、TechRepublic、The New Stack、Linux New Mediaなどで受賞歴のあるライターです。20年以上にわたり様々なトピックを執筆し、オープンソースの熱心な推進者でもあります。ジャック・ウォーレンに関する詳細は、ウェブサイトjackwallen.comをご覧ください。