Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Welche Methoden gibt es, um Richtlinienregeln in SELinux anzuzeigen?

Welche Methoden gibt es, um Richtlinienregeln in SELinux anzuzeigen?

青灯夜游
青灯夜游Original
2023-03-02 10:19:102842Durchsuche

So zeigen Sie Richtlinienregeln in SELinux an: 1. Verwenden Sie den Befehl seinfo, um abzufragen, wie viele relevante Regeln die SELinux-Richtlinie bereitstellt. Ob ein Subjektprozess die Zieldateiressourcen lesen kann, konzentriert sich auf die SELinux-Richtlinie und die Regeln in der Richtlinie „seinfo [Option]“; 2. Verwenden Sie den Befehl „sesearch“, um den spezifischen Inhalt der SELinux-Richtlinienregeln abzufragen. Die Syntax lautet „sesearch [Option] [Regeltyp] [Ausdruck]“.

Welche Methoden gibt es, um Richtlinienregeln in SELinux anzuzeigen?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

Es gibt zwei Möglichkeiten, SELinux-Richtlinienregeln anzuzeigen: seininfo und sesearch.

Die aktuelle Standardrichtlinie von SELinux ist zielgerichtet. Wie viele Regeln enthält diese Richtlinie? Verwenden Sie zum Abfragen den Befehl seinfo. Der Befehl seinfo 命令即可查询。

seinfo命令是用来查询SELinux的策略提供多少相关规则,一个主体进程能否读取到目标文件资源的重点是在于SELinux的策略以及策略内的各项规则,然后再通过该规则的定义去处理各项目标文件的安全上下文,尤其是“类型”部分。

sesearch 命令格式如下:

seinfo [选项]

常用选项:

-a 列出SELinux的状态、规则布尔值、身份识别、角色、类型等所有信息
-t 列出SELinux所有类型(type)的种类
-r 列出SELinux所有角色(role)的种类
-u 列出SELinux所有身份识别(user)的种类
-b 列出所有规则的种类(布尔值)

参考实例:

[root@localhost ~]# seinfo -b
#还记得-b选项吗?就是查询布尔值,也就是查询规则名字
Conditional Booleans:187
#当前系统中有187个规则
allow_domain_fd_use
allow_ftpd_full_access
allow_sysadm_exec_content
allow_user_exec_content
allow_zebra_write_config
…省略部分输出…

seinfo 命令只能看到所有规则的名称,如果想要知道规则的具体内容,就需要使用 sesearch

seinfo

wird verwendet, um abzufragen, wie viele relevante Regeln die SELinux-Richtlinie bereitstellt. Ob ein Subjektprozess die Zieldateiressourcen lesen kann, konzentriert sich auf die SELinux-Richtlinie und die Regeln innerhalb der Richtlinie und übergibt dann die Regeln Sicherheitskontext zur Handhabung jeder Zieldatei, insbesondere des „Typ“-Teils. Das Format des Befehls

sesearch lautet wie folgt:

sesearch [选项] [规则类型] [表达式]
    Gemeinsame Optionen:
  • -a Alle SELinux-Status, booleschen Regelwerte, Identifikationen, Rollen, Typen und andere Informationen auflisten
    -t Alle SELinux-Informationen auflisten Typtyp
    -r Listen Sie die Typen aller Rollen in SELinux auf
    -u Alle Identifikationstypen (Benutzer) in SELinux auflisten
    -b Alle Regeln auflisten Typ (boolescher Wert)

    Referenzbeispiel:

    [root@localhost ~]# seinfo -b | grep http
    httpd_manage_ipa
    …省略部分输出…
    #查询和apache相关的规则,有httpd_manage_ipa规则
    [root@localhost ~]# sesearch --all -b httpd_manage_ipa
    # httpd_manage_ipa规则中具体定义了哪些规则内容呢?使用sesearch命令查询一下
    Found 4 semantic av rules:
    allow httpd_t var_run_t:dir { getattr search open } ;
    allow httpd_t memcached_var_run_t:file { ioctl read write create getattr setattr lock append unlink link rename open } ;
    allow httpd_t memcached_var_run_t:dir { ioctl read write getattr lock add_name remove_name search open } ;
    allow httpd_t var_t:dir { getattr search open } ;
    Found 20 role allow rules:
    allow system_r sysadm_r;
    allow sysadm_r system_r;
    …省略部分输出…
  • seinfo Der Befehl kann nur die Namen aller Regeln anzeigen, wenn Sie möchten Um den spezifischen Inhalt der Regeln zu kennen, Sie müssen den Befehl
sesearch

verwenden.

    sesearch-Befehlsformat ist wie folgt:
  • [root@localhost ~]# ps auxZ | grep httpd
    unconfined_u:system_r:httpd_t:s0 root 25620 0.0 0.5 11188 36X6 ? Ss
    03:44 0:03 /usr/sbin/httpd
    #apache进程的域是httpd_t
    [root@localhost ~]# ls -Zd /var/www/html/
    drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
    #/var/www/html/ 目录的类型是 httpd_sys_content_t
    [root@localhost ~]# sesearch --all -s httpd_t -t httpd_sys_content_t Found 13 semantic av rules:
    ...省略部分输出...
    allow httpd_t httpd_sys_content_t : file { ioctl read getattr lock open };
    allow httpd_t httpd_sys_content_t : dir { ioctl read getattr lock search open };
    allow httpd_t httpd_sys_content_t : lnk_file { read getattr };
    allow httpd_t httpd_sys_content_t : file { ioctl read getattr lock open };
    ...省略部分输出...
    #可以清楚地看到httpd_t域是允许访间和使用httpd_sys_content_t类型的

    Optionen:

  • -h: Hilfeinformationen anzeigen;

  • Regeltyp:

--allow: zulässige Regeln anzeigen;

  • -- neverallow: Regeln anzeigen, die niemals zulässig sind; Zugriff Der Initiator, das bedeutet Quelle, also der Quelltyp);

  • -t Zieltyp: Zeigt die Regeln an, die sich auf den Typ des angegebenen Ziels beziehen (das Ziel ist der Besucher, das bedeutet auch Ziel). ist der Zieltyp);

  • -b Regelname: zeigt den spezifischen Inhalt der Regel an (b ist bool, was einen booleschen Wert bedeutet, bezieht sich hier auf den Regelnamen);

Hier sind einige Beispiele. Lassen Sie uns zunächst demonstrieren, wie der spezifische Regelinhalt abgefragt wird, wenn wir den Namen der Regel kennen. Der Befehl lautet wie folgt:

rrreee

Jede Regel definiert eine große Anzahl spezifischer Regelinhalte. Diese Inhalte sind relativ komplex und müssen im Allgemeinen nicht geändert werden.

Aber manchmal kennen wir eher die Art des Sicherheitskontexts als den Namen der Regel. Wir wissen beispielsweise, dass die Domäne des Apache-Prozesses httpd_t ist und der Typ des Verzeichnisses /var/www/html/ httpd_sys_content_t ist. Der Grund, warum Apache auf das Verzeichnis /var/www/html/ zugreifen kann, liegt darin, dass die httpd_t-Domäne und der httpd_sys_content_t-Typ übereinstimmen.

Wie kann man also die Übereinstimmungsregeln dieser beiden Typen abfragen? Der Befehl lautet wie folgt:

rrreee

Verwandte Empfehlungen: „Linux Video Tutorial

Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es, um Richtlinienregeln in SELinux anzuzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn