HITのコンピュータシステムは、第IV章の安全な動作を答えます

第4章問題
1、などがchroot環境の原則、:
1)閉じるファイルディスクリプタはchroot前; 2)非rootユーザでchrootの実行で、3)許可を「あきらめ」の右; 4)重要なCHDIRの使用刑務所へのタイプ;ルート投獄ファイル管理など5)メイク
問題:原則のchroot環境のアプリケーションを理解し、あなたが攻撃されている場合は、セキュリティ上の問題が発生しないかを説明は、さまざまな状況のために攻撃するためにどのようになります。それぞれが攻撃か何かのアクションは、これらの問題を避けるために撮影することができます方法について説明します。

(1)chrootの前に閉じるファイルディスクリプタ。
各プロセスは、プロセス・テーブル内のレコードエントリを有し、各レコードがオープンされたファイル記述子エントリが含まれ、含まれる:ファイル記述子フラグを、ファイルエントリへのポインタ。
DUP機能は、既存のファイルディスクリプタをコピーします。
ファイルディスクリプタを推測することで、実行、読み取り、書き込みのために開いているファイル、開いているファイルを使用することができます。
だから、不正な操作であることからファイルを防ぐことができ、ファイルディスクリプタを閉じます。

(2)非rootユーザーは、chroot環境を実行するには
、ユーザーが唯一のchrootルートを実行する可能性があるため。これは、システム特権得るためにだまされることを避けるために、chroot環境の特別な準備に(例えば偽/ etc / passwdファイルなど)のsetuidプログラムからユーザーを防ぐ必要がある
すべてのシステムに完全に安全ではないのchrootを。root権限の下でchroot環境では、休憩後にルートのchrootセキュリティに影響を与えますので

(3)権限を「あきらめ」のは正しいです。
プログラムは、UIDスイッチ非rootユーザーとrootユーザーを"保存"を使用
)(明確な関数setresuidを使っではsetreuid()のseteuid )(。

(4)刑務所に明示的にchdirの使用
刑務所フォルダを入力していない、それは仮想環境を入力していませんでした。仮想ルートディレクトリを介して外部環境へ。

(5)できるだけルートファイル管理投獄など
のルート・ファイル管理、システムの更新、アップグレード、仮想環境を自動的にアップグレードすることができ、または手動でのみアップグレードすること。
rootユーザアプリケーション管理の多くは、システム管理の方法を使用する必要があります。

chrootの能力とルート分割2つの管理方法に比べ2は、シナリオ及びセキュリティを分析します。どっちがより安全な?
chrootのメインアプリケーションの起動は、root権限を必要とし、使用しないか、めったにシーンのルートを開始した後、ルートを使用しないでください。サービスが開始され、メインサービスが必要とした後、ルートコード許可コードが使用chrootのために剥離することができます。
ルートビット機能、ビット役割の明確さに適用する機能、および他のサービスに非常に明確な区別のシーンを配置する機能。殺傷する能力は、プロセスを殺すためにあるような、根はプロセスを殺すために、他のユーザーの能力を殺すために使用することができます。文書管理機能ビットを使用している場合、ルートプロセス管理は、まだ安全に注意を払う必要があります。

限られたスペースでのプロセス制限をchrootし、それが他のプロセスに影響を与えません。仮想オペレーティングシステム環境を作成chrootし。シングルコア、単一のオペレーティング・システム上で複数の仮想サーバーを実行しています。chrootの後、ルートディレクトリ構造やファイルにアクセスするための新しいルートの下にため、システムのセキュリティを強化する、古いシステムよりも少ないです。
Linuxカーネルのroot権限は、複数の機能に分割されます。高root権限がプロセスに付与されたときは、実行時に高い特権一般ユーザーを使用することができます。また、システムに大きな影響。
たとえば、に/ binに/受賞CAP_CHOWN能力のための手順をchownを、平均的なユーザーは任意のファイルの所有者/ binに/ chownコマンドプログラムチェンジを使用できるように。
ルートを配置する機能を使用するときにそのため、我々は慎重に平均的なユーザーは、ルートビットを使用する能力を時間を最小限に抑える、場所に、どのような状況下で能力を付与することができるかを検討しなければなりません。不適切なルートビットアプリケーションに機能した場合、システムはより多くの損傷を与える可能性があります。

図3に示すように、ルート実行権限が実行可能プログラムへのsetuidの能力、およびシステムのサポート能力が与えられ、これらの2つの方法の違いは何ですか?あなたは、設定された権限にどの方法を選択し、理由を説明する傾向があります。

4、Linuxシステム、CAP_SYS_MODULE、機能及び使用CAP_LINUX_IMMUTABLE容量のサポート能力。
システムのブート時にシステムを保護するために、いくつかの機能を削除します。例えば、システムツールとログの整合性を保護します。
CAP_LINUX_IMMUTABLE機能は、あなたがIMMUTABLE APPENDファイルの属性フラグを変更することができます。ノーシステム起動時CAP_LINUX_IMMUTABLE能力、攻撃者はシステムツールを削除し、修正されていない、彼らの攻撃軌道を削除し、「追加のみ」にバックドアツール、システムログファイルをインストールすることはできませんすることはできません。
CAP_SYS_MODULE機能は、システムのカーネルを変更できます。システムの起動時に何CAP_SYS_MODULE能力は、攻撃者がシステムのカーネルを変更することはできません。システムのカーネルは、新しいカーネルを使用するようにシステムを再起動する必要が変更されています。だから、24時間オンラインサーバが実行のために、システムを削除するには、システムのアップグレードや他の操作を必要としないカーネルを変更するCAP_SYS_MODULE能力です。

図5に示すように、低レベルの操作からハイレベルにいくつかのシステムを提供ルート支援システム、機能の組み合わせ、設定する機能
例:
(1)オープン、ネットワークサービス機能へのネットワークサービス能力、CAP_NET_BIND_SERVICE、CAP_NET_BROADCAST能力設定を得ることができます。
(2)は、ルート・ファイル管理機能を備えています。確かにCAP_DAC_OVERRIDEにCAP_DAC_READ_SEARCH能力
CAP_DAC_OVERRIDEは、DACがすべて1用のファイルへのアクセス制限を無視
操作、読み検索するすべての制限を無視CAP_DAC_READ_SEARCH 2を
、ユーザ管理機能(3)ルートを持っています。確かにCAP_SETGIDケーパビリティ、CAP_FSETID能力。
CAP_FSETID 4は、setuidビットができ
CAP_SETGIDケーパビリティ6は、グループIDを変更することができ

図5に示すように、SELinuxの認可システム
1)、粗粒度のシステム本体SELinuxの認可プロセスきめ細かい方法の理解に基づいて、比較きめ細かい許可ベースの差異と差異認可セキュリティオブジェクト、
2)システムhttpdが、ユーザがどのように密な認可にWWWのhttpdプロセスを、殺すことを可能にするプログラムを実行していますか?そして、解釈。
答え:
きめ細かいウェイの認証プロセス1)被験者は、限定されるユーザの許可プロセスを処理することを許可され、限定の操作のみを行うことができ、各プロセスは、ない越権アクセス許可を実行します。
ライセンス粗粒のオブジェクトは、ユーザー権限、実装プロセスへの権限の多くのユーザーに付与することです。ユーザーがsetuid rootプログラムを実行している場合は、システムファイルやプロセス壊れてroot権限を使用することができます。ファイングレイン・アクセス・コントロール余分なユーザー権限がありませんので、システムへの損傷の可能性が大幅に削減されます。

2)ユーザは、WWWのhttpdプロセスを殺すことを可能にする
)、ルートユーザ(root_t)が実行可能ファイル(kill_tを殺す呼び出し開始でき
可能root_t kill_t:httpdのGETATTR実行{}を、

これは、ユーザのWWW(www_t)は、実行可能ファイル(kill_exec_t)を殺すためにはexecve()コールを開始することができ
www_t kill_exec_t許可:ファイルの実行} {GETATTR。

kill_tドメインへの入場のアクセス:
kill_t kill_exec_tを許可:ファイルエントリポイント。

ドメイン遷移の遷移にアクセスするための新しいタイプ(kill_t)元のライセンス・タイプ(www_t)が
可能www_t kill_t:プロセス転移;

リリース7件のオリジナルの記事 ウォンの賞賛3 ビュー459

おすすめ

転載: blog.csdn.net/qq_39600733/article/details/104056747