GNU/Linux >> Linux の 問題 >  >> Linux

Linuxのセキュリティとユーザビリティのバランス

インターネットはあなたのものを破壊したい人々でいっぱいです。好奇心旺盛な人もいれば、スリルを求めている人もいれば、データを盗もうとしている人もいれば、物事が燃えるのを見たいだけの人もいます。彼らの動機が何であれ、これらの攻撃者をサーバーから遠ざけるのはシステム管理者としてのあなたの仕事です。 Linuxシステムを実行している場合は、この記事が役に立ちます。システムを強化する必要がある理由やその他の高レベルの考慮事項について説明します。

オペレーティングシステムはバランスです

オペレーティングシステムの構築は難しいバランスであり、Linuxディストリビューションも例外ではありません。ほとんどの人が望んでいるすぐに使える機能と、幅広い管理者のスキルセットのアクセシビリティを考慮する必要があります。ディストリビューションを非常に安全にしたが、初心者のシステム管理者がそれを操作する方法を理解できない場合…まあ、彼らは学習し続けるためのより簡単なディストリビューションを見つけるでしょう、そして今あなたはその管理者を別のディストリビューションに失いました。したがって、インストール時間の直後に、ほとんどのLinuxディストリビューションをロックするために少し調整する必要があるのは当然のことです。インストーラー自体が使いやすく、機能が豊富になったため、これは長年にわたって改善されてきました。 GUIインストーラーから直接カスタムシステムを作成できます。たとえば、基本のRed Hat Enterprise Linux(RHEL)システムは、基本パッケージセットを選択した場合、実際には不要なサービスやパッケージをかなり少なくします。

それが真実ではなかった時がありました。パスワードがハッシュ化されているが、/ etc / passwordですべてのユーザーが読み取れるようになっていると想像できますか?または、すべてのシステム管理がTelnet経由で実行されていますか?デフォルトでは、SSHはオンになっていませんでした。ホストベースのファイアウォール?完全にオプション。つまり、20年前、新しくインストールされたLinuxシステムをロックダウンすることは、タスクの洗濯物リストを意味していました。幸いなことに、コンピューティングが成熟するにつれて、ほぼすべてのオペレーティングシステムのデフォルトインストールが成熟しました。

システムの「硬化」とは

システムを強化することは、システムをより安全にする行為であり、悪意のある人々にとってより困難な標的です。あなたがあなたの家を保護している白いピケットフェンスを持っていたと想像してください。正直な人を正直に保つにはおそらく十分です。彼らはあなたの門にある柵と素敵な小さな掛け金を見て、あなたが明らかにあなたの庭に人を入れたくないという事実を尊重することにします。人々があなたの財産の境界を尊重しているので、誰もあなたの庭に来てあなたの花を踏みにじることはないことを知っているので、あなたは安全だと感じます。しかし、必要なのは、周りをわざわざ回ることができないので、あなたの庭を切り裂くためにそれを気にしない一人の子供です。あなたの白いピケットフェンスと薄っぺらなラッチは、彼らがひっくり返って開いてすぐに通り抜けることはできません。

硬化は、白いピケットフェンスを高さ6フィートのチェーンリンクにアップグレードし、ロック付きのラッチを追加するようなものです。十分だと判断した人はまだ柵を乗り越えることができますが、あなたの庭を切り開いていたその子供は、少し手間がかかるので、おそらくもう気にしないでしょう。

ほら、あなたがオラクルでない限り、コンピュータのセキュリティは完全に破られないということではありません。それは、侵入を困難にするのに十分なだけ安全でありながら、システムが設計されたとおりに実際に実行できるように十分に開いていることです。非常にロックダウンされているためにWebサイトを実行できないWebサーバーは、ゲートのない金網フェンスのように、あまり優れたWebサーバーではありません。

硬化のヒント

以下は、ステップバイステップのハウツーではなく、システムを強化するために作業する際に考慮すべきいくつかの一般的なポイントです。

GUIを捨てる

ワークステーションを実行していますか?またはサーバー?サーバーはGUIを必要としません。スペースとCPUを消費するのはもう1つだけです。システムをインストールするときは、インストーラーが許可する最小のフットプリントでシステムをインストールします。つまり、GUIはありません。あなたはそれを必要としないだけです。インストールと管理にX環境を必要とするアプリケーションがいくつかあります(これは今日の時代ではばかげていますが、実際に起こります)。ただし、これらのいずれかを実行していない場合は、GUIをインストールしたり、それらの要件について心配したりしないでください。

不要なサービス

ディストリビューションによっては、ベースの一部として必要のないサービスがインストールされている場合があります。これは、前述のTelnetの時代のように、ディストリビューションが管理のためにTelnetからSSHに移行しているときに、両方を有効にします。基本インストール。どちらを保持するかを選択する必要があるため、Telnetを無効にするか、少なくともファイアウォールをオフにすることをお勧めします。現在、これらのサービスは、CUPS印刷サービスや、システムのメール転送エージェント(MTA)のようなものである可能性があります。着信接続をリッスンするように、箱から出して構成することができます。 MTAは必要になる可能性がありますが、外部接続を受け入れるためにMTAは必要ありません。 systemd システムでは、すべてのアクティブなサービスを非常に簡単に一覧表示できます。 netstatの出力を確認することもできます またはss どのサービスが接続をリッスンしているかを確認します。サービスとは何かわからない場合は、今が読書をする絶好の機会です。

ユーザーアクセス

人々が実際にアクセスする必要があるシェルサーバーを実行しているのでない限り、システムでシェルアカウントを誰に与えるかについて真剣に考えたいと思うでしょう。これは、適切な管理だけでなく、必ずしも強化の実践ではありません。アカウントが多いほど、侵害される可能性のあるアカウントのフットプリントが大きくなります。 sudoの配布方法に細心の注意を払うこともお勧めします。 特権。おそらくシステム管理チームを除いて、誰もrootのパスワードを持ってはいけません(そして絶対に必要でない限り、rootのパスワードを使用するべきではありません)。須藤には理由があります。使用してください。

ホストベースのファイアウォール

これについては、多層防御に関するシリーズでかなり話しました。ホストベースのファイアウォールは、ネットワーク防御の最終ラインです。これを使って。箱から出して、ディストリビューションは広く開いているファイアウォールを持っているかもしれません、あるいはそれはいくつかのデフォルトのポートを開いているかもしれません。ファイアウォールルールはどのように終了しますか?これはデフォルトのオープンシステムですか、それともデフォルトのクローズドシステムですか?トラブルシューティングを除いて、デフォルトのオープンファイアウォールを使用する理由は見たことがありません。ただし、基本インストールでファイアウォールがそのように構成されている可能性があることはわかりました。そのため、知っておくか、調べることをお勧めします。ファイアウォールがデフォルトで開いている場合、世界中の巧妙なファイアウォールルールは少しうまくいきません。ソフトウェアは開いている必要があります。ファイアウォールを閉じる必要があります。

安全なプロトコル

パスワードなどの個人データを交換する可能性が十分にあるトラフィックのみを暗号化した時代がありました。これは、暗号化にはコストがかかるためです。数値の計算はコンピューターが得意とすることですが、通信のすべてのビットを暗号化すると待ち時間が長くなります。それほど多くはありませんが、合計します。まあ、それは実際にはそれがかつてあった問題ではありません。現在、システムとの間で送受信されるトラフィックを暗号化しない理由はまったくありません。 LetsEncryptを使用してTLS暗号化を無料で行うことができ、SSHを介した管理はもはや問題ではありません。ここにはエッジケースがあると確信していますが、ほとんどの場合、「これは暗号化する必要がありますか?」という答えだと思います。おそらく「はい」です。

バランスを覚えてください

セキュリティは、アクセシビリティ、ユーザビリティ、および制限の間のバランスであることを忘れないでください。これらの方向のいずれかで遠すぎて、問題が発生しています。

[無料ダウンロード:高度なLinuxコマンドのチートシート。 ]


Linux
  1. noatimeでLinuxシステムのパフォーマンスを向上させる

  2. LynisでLinuxセキュリティをスキャンする

  3. エンタープライズLinuxでのセキュリティ監査の存続

  1. procps-ngを使用してターミナルでLinuxシステムを監視します

  2. straceを使用したLinuxでのシステムコールの理解

  3. Linuxのセキュリティ:fail2banでシステムを保護する

  1. Linuxシャットダウンコマンド(例付き)

  2. LinuxでのCronを使用したシステムタスクのスケジューリング

  3. Tripwireを使用したLinuxでのセキュリティ監視