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