ウェブサイト検索

Linuxをクラッシュさせる方法


Linuxシステムをクラッシュさせるために実行できる危険なコマンドがいくつかあります。不正なユーザーがあなたが管理するシステム上でこれらのコマンドを実行しているのを見つけるか、誰かが見た目には無害なコマンドを送ってきて、それを実行してあなたのコンピュータをクラッシュさせようとするかもしれません。

システム管理者はこれらのコマンドを認識し、自分のシステム上で実行して、これらの攻撃を防ぐために適切な対策を講じていることを確認することが重要です。それに対して、単に好奇心旺盛なユーザーであり、楽しみのために仮想マシンをクラッシュさせたいだけかもしれません。それも構いません。

これらのコマンドを自分の所有していない本番システムやコンピュータで実行する際は、くれぐれも注意してください。他の人のシステムをクラッシュさせることはトラブルに巻き込まれる可能性があるため、以下に示すコマンドを実行する際には慎重に行動してください。このチュートリアルでは、Linuxシステムをクラッシュさせるために使用できるいくつかの異なる方法を紹介します。

このチュートリアルでは、あなたは学びます:

  • Linuxをクラッシュさせる方法
  • Linuxのクラッシュを防ぐ方法

Linuxシステムをクラッシュさせる方法

警告
このコードはテストマシンまたは仮想マシンでのみテストするようにしてください。他のシステムで使用することは、たとえテスト目的であっても、システムをクラッシュさせようとしている攻撃者のように見える可能性があります。そして、場合によっては、その意図が成功するかもしれません。

  1. 次のコードラインは、Bashシェル用の短くてシンプルなフォークボムです。フォークボムは、無限のプロセスを生成できるため、効果的です。最終的には、システムがすべてのプロセスを処理できなくなり、クラッシュします。フォークボムの大きな利点の一つは、実行するためにルート権限が必要ないことです。

    
    :(){ :|:& };:
    

    Linuxフォーク爆弾についてのガイドをチェックして、その仕組みやシステムがクラッシュするのを防ぐ方法を学んでください。

  2. こちらは別のフォークボムですが、今回はPerlで書かれています。これはBashのフォークボムと同じくらい効果的です。両方を実行して、あなたのテストシステムがどのように反応するか(または反応しないか)を確認してみてください。

    
    perl -e "fork while fork" &
    
  3. 簡単なrmコマンドを使って、ルートディレクトリ全体を削除することができます。これは元に戻すのが難しく、単純な再起動では修正できないため、注意して実行してください。

    
    sudo rm -rf / --no-preserve-root
    rm: it is dangerous to operate recursively on '/'
    rm: use --no-preserve-root to override this failsafe
    

    ご覧の通り、私たちのシステムはこのコマンドについて警告を出すほど賢いです。警告を無視して、仮想マシンにさよならを言いましょう。

    
    sudo rm -rf / --no-preserve-root
    
  4. 私たちは、シンプルなddコマンドを使って、ハードドライブ全体にゼロを書き込むこともできます。このコマンドは特に厄介で、Linux環境の外にある他のパーティションのデータを上書きしてしまう可能性があります。そして、さらに悪いことに、このコマンドの危険性についての警告や確認プロンプトが一切表示されません。

    
    sudo dd if=/dev/zero of=/dev/sda5
    

    /dev/sda5を消去したいデバイスまたはパーティションに置き換えてください。このコマンドを実行した後、私たちのテストシステムは数秒でシャットダウンし、復元不可能になりました。

Linuxのクラッシュを防ぐ方法

フォーク爆弾は、無限のプロセスを生成することで機能します。したがって、ユーザーまたはユーザーのグループが同時に開いているプロセスの数を制限することで、フォーク爆弾によるクラッシュを防ぐことができます。フォーク爆弾がどのように機能し、システムのクラッシュを防ぐ方法について学ぶには、Linuxフォーク爆弾に関するガイドをチェックしてください。

システムファイルが大量に削除されたり、ハードドライブのパーティションが上書きされるなどの他のコマンドに対しては、信頼できるユーザーのみにルートアクセスを制限する以外に、すべてを防ぐ簡単な方法はありません。その上、ユーザーは安全なパスワードを持っている必要があり、重要なファイルには適切なファイル権限を設定すべきです。

それでも、人々は常にフィッシングやソーシャルエンジニアリングに対して脆弱です。もし誰かがルートアカウントにアクセスを得た場合、システムをダウンさせるのを防ぐためにできることはほとんどありません。その場合、バックアップを用意しておくことが重要です。

締めくくりの考え

このチュートリアルでは、Linuxシステムをクラッシュさせるいくつかの異なる方法と、これらの脆弱性を最初から防ぐためのアドバイスを見てきました。すべてのシステム管理者は、これらのコマンドに精通しているべきです。なぜなら、それが彼らの仕事だからです。それとは別に、テストシステムや仮想マシンでいくつかのこれらを実行することは単純に楽しいです。

関連記事: