ホームページ  >  記事  >  運用・保守  >  SELinux を使用して CentOS システムを保護する方法

SELinux を使用して CentOS システムを保護する方法

WBOY
WBOYオリジナル
2023-07-05 09:25:06991ブラウズ

SELinux を使用して CentOS システムのセキュリティを保護する方法

はじめに:
現在のインターネット環境では、オペレーティング システムのセキュリティを保護することがますます重要になっています。 CentOS は、人気のある Linux ディストリビューションとして、システムのセキュリティを維持するための強力なツールと機能を提供します。重要なコンポーネントの 1 つは、米国国家安全保障局 (NSA) によって開発されたセキュリティ強化システムである SELinux で、悪意のある攻撃やシステムへの不正アクセスのリスクを効果的に軽減できます。この記事では、SELinux を使用して CentOS システムのセキュリティを保護する方法を紹介し、いくつかの実践的なコード例を示します。

1. SELinux とは:
SELinux は、強制アクセス制御 (MAC) に基づくセキュリティ メカニズムであり、Linux システムに追加のセキュリティ層を提供します。 SELinux は、オブジェクト (ファイル、ディレクトリ、プロセスなど)、サブジェクト (ユーザー、プロセスなど)、操作 (読み取り、書き込み、実行など) を定義することにより、システム内のアクセス動作を制限します。各リソースと操作をセキュリティ ポリシーに関連付けることにより、SELinux はこれらのアクセスを効果的に制御し、よりきめ細かいセキュリティ保護を提供できます。

2. SELinux を有効にする:
CentOS システムでは、SELinux はデフォルトで無効になっています。 SELinux を有効にするには、次の手順に従います。

  1. /etc/selinux/config ファイルを編集します。

    vi /etc/selinux/config
  2. 次の行を見つけて、 「enforcing」に変更します:

    SELINUX=enforcing
  3. ファイルを保存して閉じ、システムを再起動します:

    reboot

3. 基本的な SELinux コマンド:
SELinux を有効にすると、次の基本的なコマンドを使用して管理および構成できます:

  1. Get SELinux status:

    sestatus
  2. Modify SELinux 一時ステータス:

    setenforce 0     # 设置为permissive模式
    setenforce 1     # 设置为enforcing模式
  3. ファイルまたはディレクトリの SELinux コンテキストを変更します:

    chcon -R -t httpd_sys_content_t /var/www/html   # 将/var/www/html目录的上下文设置为httpd_sys_content_t,以便Apache能够访问

4. SELinux ポリシーを構成します:
In基本的なコマンドに加えて、アプリケーションや環境に合わせて SELinux ポリシーを変更することもできます。以下に、一般的に使用される SELinux 構成の例を示します。

  1. カスタム SELinux ポリシー モジュール:

    cat > myapp.te <<-EOF
    module myapp 1.0;
    
    require {
        type httpd_t;
        type myapp_t;
        class file { open read };
    }
    
    allow httpd_t myapp_t:file { open read };
    
    EOF
    
    checkmodule -M -m -o myapp.mod myapp.te
    semodule_package -o myapp.pp -m myapp.mod
    semodule -i myapp.pp
  2. SELinux コンテキストの表示:

    ls -Z /path/to/file    # 显示指定文件的SELinux上下文
  3. ファイルのデフォルトの SELinux コンテキストを変更します:

    semanage fcontext -a -t httpd_sys_content_t '/var/www/myapp(/.*)?'    # 将/var/www/myapp目录及其子目录的上下文设置为httpd_sys_content_t
    restorecon -Rv /var/www/myapp    # 应用上下文更改
  4. SELinux 例外ポリシーをカスタマイズします:

    audit2allow -a    # 从审计日志生成异常策略

5.結論:
SELinux は、オペレーティング システムのセキュリティを保護する CentOS システムの強力なツールです。 SELinux は、リソースと操作へのアクセスを制限することで、悪意のある攻撃やシステムへの不正アクセスのリスクを効果的に軽減できます。この記事では、SELinux を有効にする方法、基本的な SELinux コマンド、およびいくつかの一般的な SELinux 構成例について説明します。この記事が、SELinux を使用して CentOS システムを保護する方法に関するガイダンスを提供し、実際に関連スキルを習得するのに役立つことを願っています。

参考リソース:

  • Red Hat, Inc.「SELinux ユーザーおよび管理者ガイド」(https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/) 7/html/selinux_users_and_administrators_guide/index)
  • CentOS プロジェクト「CentOS Wiki」(https://wiki.centos.org/)

以上がSELinux を使用して CentOS システムを保護する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。