ここでいくつかの悪い考えを打ち破ります:
1) Linux は市場シェアが少ないため、より安全です。
公共のマシンがボット、ウイルス、ハッカーなどに一日中攻撃されているサーバー市場ではありません:
http://en.wikipedia.org/wiki/Usage_share_of_operating_systems#サーバー
2) Windows は最近のバージョンでより安全です。
少なくともカーネル レベルでは、Windows でのリモート実行エクスプロイトと権限昇格の CVE レポートが増えています。また、Linux でのマルチユーザー環境へのローカル DoS 攻撃も増えています。 CVE データベースからの統計的内訳の束ですが、数か月前に作成した投稿が見つからないので、イライラします! Google はそれを見つけるのを手伝ってくれません...)。
ご覧のとおり、Server 2008 では はるかに CVE 重大度の加重平均:
http://www.cvedetails.com/top-50-product-cvssscore-distribution.php (さらに、2008 年の開発の 1.2 日間と過去 5 年間のすべての Linux 脆弱性!)
もちろん、一連のソフトウェアとその上に事前構成が付属している Ubuntu のようなもので実行します。それらは、その上で実行されているソフトウェアの気まぐれです。
この件に関する私の意見:Linux は多くの Unix の概念に基づいて構築されており、40 年 ソフトウェア開発とこれらのボックスを打ち負かす人々の死に至るまで、それは主に Unix の火による試練によって安全であり、これは非常に役に立ちました。多くの教訓が学ばれ、Linux に直接適用されました。
<ブロック引用>これは、Linux のオープンソースの性質と何か関係がありますか?
その多くは、少なくとも 音量 が高くなる速度と関係があります。 の CVE が対処されています。これにより、多くの小さな問題を見つけて修正することもできます (主にその人気によるものです) 、人気のないオープンソースは、コードへの注目がほとんどなく、修正への関心がほとんどないことを意味するためです.
<ブロック引用>その基礎となるアーキテクチャ (および Windows との違い)?
マルチユーザー環境を中心に構築されていることは、非常に役立ちます。これらのシステムは、一度に多数の人が利用できるように構築されており、1 人のユーザーが別のユーザーに割り込むことはできません。
正当な理由:
<オール>さらに、Linux はより安全な設計をしていることが多いと主張できる、やや議論の余地のある理由もあります (他の OS が追いついてきているため、これはもはや真実ではないかもしれません)。
<オール>su
による適切な権限分離とアクセス制御 /sudo
、古いバージョンの Windows には実際には存在しません。ssh
. ssh を介した別のリモート マシンへの標準接続は非常に便利で強力であり、セキュリティの点で Windows リモート認証よりもはるかに優れています。 ssh マシンに接続するときはいつでも、他のマシンのホスト キーが以前に使用されたキーから変更されていないことを暗号的にチェックします。盗聴者にリプレイ攻撃を使わせたり、キーロガーにパスワードを見せたりすることなく、ssh 秘密鍵を使用してチャレンジ トークンに応答できます。次に、すべてのトラフィックが 2 台のマシン間で暗号化されて送信されます。さらに、Linux ボックスにセットアップするのは簡単です。正当でない理由:
<オール>Linux でのウイルス/マルウェアの状況はほぼ「正常」であり、Windows でのウイルス/マルウェアの状況は統計異常であり、ブラック スワンというよりも「ドラゴン キング」に近いと思います。
Windows には、異常にバロックな一連の API、Win32、NT ネイティブ API が次々とあり、NT ネイティブが Unicode であるのに対し、Win32 は基本的に ASCII インターフェイスであるなど、それらの間にいくつかの問題がありました。これにより、少なくともマルウェアが助長されました。 Rococo の詳細の例として、任意のディレクトリで機能するマジック デバイス ファイル名、AUX、CON、LP について考えてみましょう。
Windows ネイティブ API は実際に文書化されたことはありません。この文書化の欠如は、次のような他の事柄につながります:実行可能ファイルのファイル名拡張子のセットは何ですか?ファイルが実行可能かどうかがファイル名によって決まるのはなぜですか?たとえば、NIMDA ワームは「.eml」ファイルの問題を介して拡散したのではないでしょうか。当時、.eml ファイルが実行可能であることは誰も知りませんでした。
Windows には、特権を分離するという伝統はありません。実際、単一の root ユーザーという伝統があります。多くのアプリケーションはまだこれを想定しています。 Windows には、実行可能ファイルからデータを分離する伝統がありません。分離されていないデータと命令の例として、.doc ファイルに埋め込まれた Word マクロを紹介し、歴史的にウイルスの問題を引き起こしてきました.
Linux には、少なくとも上記のすべての点とは反対の伝統があります。適度に効果的な任意のアクセス制御、日常的に適用できるほどシンプルでありながら、従来のファイル タイプのウイルスを寄せ付けないほど包括的なものです。システム コール インターフェイスは適度に複雑であり、ソース コードは自由に入手できるため、複数のドキュメント ソースが存在します。通常、実行可能ファイルは「bin」ディレクトリにあり、データは別のディレクトリにあります。各実行可能ファイルには、大きな古いレジストリを共有するのではなく、独自の構成ファイルがあります。データ ファイルはユーザーごとのディレクトリにあり、Word などのデータ ファイルに含まれる強力なマクロが含まれることはほとんどありません。
また、「Windows」のように「Linux」は実際には存在しません。何百ものディストリビューションが存在し、それぞれが低レベルの詳細のほぼすべての側面をカスタマイズしています。さまざまなコンパイラ バージョン、さまざまな Linux カーネル、一部は完全モジュール式、一部はモジュールなしです。これは、カーネルから電子メール クライアントまで、システムのほぼすべてのソフトウェア面に当てはまります。 「Windows」ユーザーは概して Outlook 電子メール クライアントを使用しますが、Linux ユーザーは数百の異なるクライアントを使用し、それぞれ数十のバージョンがあります。特定のソフトウェアの特定のバージョンのユーザー ベースは存在しません。ユーザー ベースは単に分断されているだけでなく、粉砕されています。これにより、適切な数のホストで脆弱性を見つけたり、ソフトウェアの十分な数のインスタンスで機能するエクスプロイトを作成したりすることが非常に難しくなります.