SELinux - рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рд╡рд░рдг рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВред рднрд╛рдЧ реи



рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ, рд╕реЗрд▓рд╛рдЗрдирдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ , рд╣рдордиреЗ SELinux рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХреАред рдЬреИрд╕рд╛ рдХрд┐ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрдм рд╣рдо рджреВрд╕рд░рд╛ рднрд╛рдЧ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдиреАрддрд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдЕрдЪреНрдЫрд╛, рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

SELinux рдиреАрддрд┐рдпрд╛рдБ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛



SELinux рдиреАрддрд┐рдпреЛрдВ рдореЗрдВ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреЙрд▓рд┐рд╕реА рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рд╣реА рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдиреАрддрд┐ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рддрд╛рд░реНрдХрд┐рдХ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдпреЗ рдлрд╝рдВрдХреНрд╢рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд╛рдВрдмрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдпрд╛ рдЕрдкрд╛рдЪреЗ рдХреЛ рдШрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпреЗ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЕрдХреНрд╖рдо рд╣реИрдВред рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред

рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

# getsebool -a 


рдкреИрд░рд╛рдореАрдЯрд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реЗрдЯрд╕реЗрдмреБрд▓ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, HTTPD рд╕реЗрд╡рд╛ рдореЙрдбреНрдпреВрд▓ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджрд░реНрдЬ рдХрд░реЗрдВ:

 # setsebool -P httpd_can_network_connect on 


рд▓реЗрдЦрд╛ рдкрд░реАрдХреНрд╖рд╛ 2 рдХреЗ рд╕рд╛рде рдХрд╕реНрдЯрдо рдиреАрддрд┐рдпрд╛рдВ рдмрдирд╛рдирд╛



рдХрднреА-рдХрднреА рдРрд╕реЗ рд╣рд╛рд▓рд╛рдд рдкреИрджрд╛ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рдкрд░реНрдпрд╛рдкреНрдд рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрдм рдЖрдкрдХреЛ рдХрд┐рд╕реА рдирдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдореМрдЬреВрджрд╛ рдиреАрддрд┐ рдХреЛ рдкреВрд░рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдЪреАрдЬ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЛ рд▓рд┐рдЦ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ SMTP рдореЗрд▓ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП Postgrey рдРрдб-рдСрди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдпреВрдирд┐рдХреНрд╕ рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореЗрд▓ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ SELinux рдиреАрддрд┐ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреА рд╣реИ, рдпрд╣ рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рддрд╛ рд╣реИред

рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА, рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣рдо рд╕реНрдерд┐рддрд┐ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдЖрдк рд╣рдореЗрд╢рд╛ рдПрдХ "рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд" рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП SELinux рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╛рдзрд╛рди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрджрд░реНрд╢ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЧреИрд░-рд╢реВрдиреНрдп рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдореЗрд▓ рд╕рд░реНрд╡рд░ рдПрдХ рджрд┐рди рд╣реИрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рддреЛ, SELinux рдХреЛ Permissive рдореЛрдб рдореЗрдВ рдбрд╛рд▓реЗрдВ, рдФрд░ рдлрд┐рд░ рдореЗрд▓ рд╕рд░реНрд╡рд░ рдХреЛ рд╢реБрд░реВ рдХрд░реЗрдВред рдХреБрдЫ рд╕рдордп рдмрд╛рдж, AVC рд╕рдВрджреЗрд╢ SELinux рд▓реЙрдЧ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреА рд╕рднреА рдЕрдорд╛рдиреНрдп рдХрд╛рд░реНрд░рд╡рд╛рдЗрдпрд╛рдБ рд░рд┐рдХреЙрд░реНрдб рдХреА рдЬрд╛рдПрдВрдЧреА:

 type=AVC msg=audit(1218128130.653:334): avc: denied { connectto } for pid=9111 comm="smtpd" path="/var/spool/postfix/postgrey/socket" scontext=system_u:system_r:postfix_smtpd_t:s0 tcontext=system_u:system_r:initrc_t:s0 tclass=unix_stream_socket type=AVC msg=audit(1218128130.653:334): avc: denied { write } for pid=9111 comm="smtpd" name="socket" dev=sda6 ino=39977017 scontext=system_u:system_r:postfix_smtpd_t:s0 tcontext=system_u:object_r:postfix_spool_t:s0 tclass=sock_file 


рдЕрдм рд╣рдо рд╕реНрдерд╛рдиреАрдп рдиреАрддрд┐ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдбрд┐рдЯ 2 рдХреНрд▓реЙрдХ рдпреВрдЯрд┐рд▓рд┐рдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреЛрд╕реНрдЯрдЧреНрд░реЗ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

 # grep smtpd_t /var/log/audit/audit.log | audit2allow -m postgreylocal > postgreylocal.te # cat postgreylocal.te module postgreylocal 1.0; require { type postfix_smtpd_t; type postfix_spool_t; type initrc_t; class sock_file write; class unix_stream_socket connectto; } #============= postfix_smtpd_t ============== allow postfix_smtpd_t initrc_t:unix_stream_socket connectto; allow postfix_smtpd_t postfix_spool_t:sock_file write; 


рддреЛ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдбрд┐рдЯ.рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░реНрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╡рд░реНрддрдорд╛рди SELinux рдиреАрддрд┐ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдкреЛрд╕реНрдЯрдЧреНрд░реЗ рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рд╕рднреА рдЕрдорд╛рдиреНрдп рдХрд╛рд░реНрд░рд╡рд╛рдЗрдпрд╛рдБ рдирд┐рдХрд╛рд▓реА рдЬрд╛рддреА рд╣реИрдВред рдЗрди рдЪрд░рдгреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдПрд╕рдПрдордЯреАрдкреА рд╕рд░реНрд╡рд░ рдПрдХ рдпреВрдирд┐рдХреНрд╕ рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗ рдЗрд╕ рд╕реЙрдХреЗрдЯ рдХреЛ рд╕реБрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рд▓реЗрдирд╛ рдФрд░ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ SELinux рдиреАрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдирд╛ рдХрд╛рдлреА рддрд░реНрдХрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛:

 # grep smtpd_t /var/log/audit/audit.log | audit2allow -M postgreylocal 


рдЕрдм рд╣рдореЗрдВ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╢рд╛рдорд┐рд▓ рдиреАрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рдХрд░рддреЗ рд╣реБрдП рд╕реЗрдореЛрдбреНрдпреВрд▓ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 # semodule -i postgreylocal.pp 


рдЙрд╕рдХреЗ рдмрд╛рдж, рдореЙрдбреНрдпреВрд▓ рдХреЛ /etc/selinux/targeted/modules/active/modules/postgreylocal.pp рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рднреА рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЛ "рд╕реЗрдореЛрдбреБрд▓реЗ-рдПрд▓" рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SELinux рдХреА рдирд┐рдЧрд░рд╛рдиреА рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реА рдирдИ рдмрдирд╛рдИ рдЧрдИ рдиреАрддрд┐ Postgrey рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдЬреИрд╕реЗ рд╣реА рд╣рдо рдиреАрддрд┐ рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рд╕рдВрддреБрд╖реНрдЯ рдФрд░ рдЖрд╢реНрд╡рд╕реНрдд рд╣реЛрддреЗ рд╣реИрдВ, рд╣рдо рдкреВрд░реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд╕рд╛рде, рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдореЛрдб рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдм рд╣рдорд╛рд░рд╛ рдореЗрд▓ рд╕рд░реНрд╡рд░ рдордЬрд╝рдмреВрддреА рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ рдФрд░, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░ рд░рд╣рд╛ рд╣реИред

SELinux рдиреАрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдореИрдиреБрдЕрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиред


Adit2allow, рдПрдХ рд╢рдХ рдХреЗ рдмрд┐рдирд╛, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдиреАрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд╕рд╛рде рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛рдлреА рд╕рд╣реА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SELinux AVC рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 Summary: SELinux is preventing postdrop (postfix_postdrop_t) "getattr" to /var/log/httpd/error_log (httpd_log_t). Detailed Description: SELinux denied access requested by postdrop. It is not expected that this access is required by postdrop and this access may signal an intrusion attempt. It is also possible that the specific version or configuration of the application is causing it to require additional access. Allowing Access: Sometimes labeling problems can cause SELinux denials. You could try to restore the default system file context for /var/log/httpd/error_log, restorecon -v '/var/log/httpd/error_log' If this does not work, there is currently no automatic way to allow this access. Instead, you can generate a local policy module to allow this access - see FAQ (http://fedora.redhat.com/docs/selinux-faq-fc5/#id2961385) Or you can disable SELinux protection altogether. Disabling SELinux protection is not recommended. Please file a bug report (http://bugzilla.redhat.com/bugzilla/enter_bug.cgi) against this package. Additional Information: Source Context system_u:system_r:postfix_postdrop_t Target Context root:object_r:httpd_log_t Target Objects /var/log/httpd/error_log [ file ] Source postdrop Source Path /usr/sbin/postdrop Port <Unknown> Host sanitized Source RPM Packages postfix-2.3.3-2 Target RPM Packages Policy RPM selinux-policy-2.4.6-137.1.el5 Selinux Enabled True Policy Type targeted MLS Enabled True Enforcing Mode Enforcing Plugin Name catchall_file Host Name sanitized Platform Linux sanitized 2.6.18-53.1.21.el5 #1 SMP Tue May 20 09:35:07 EDT 2008 x86_64 x86_64 Alert Count 599 First Seen Wed Jul 2 08:27:15 2008 Last Seen Sun Aug 10 22:47:52 2008 Local ID c303a4ea-8e7a-4acc-9118-9cc61c6a2ec8 Line Numbers Raw Audit Messages host=sanitized type=AVC msg=audit(1218397672.372:352): avc: denied { getattr } for pid=4262 comm="postdrop" path="/var/log/httpd/error_log" dev=md2 ino=117005 scontext=system_u:system_r:postfix_postdrop_t:s0 tcontext=root:object_r:httpd_log_t:s0 tclass=file host=sanitized type=SYSCALL msg=audit(1218397672.372:352): arch=c000003e syscall=5 success=no exit=-13 a0=2 a1=7fffd6febca0 a2=7fffd6febca0 a3=0 items=0 ppid=4261 pid=4262 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=90 sgid=90 fsgid=90 tty=(none) comm="postdrop" exe="/usr/sbin/postdrop" subj=system_u:system_r:postfix_postdrop_t:s0 key=(null) 


рдЬрдм рд╣рдо рдСрдбрд┐рдЯ 2 рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдореА postfixlocal.te рдиреАрддрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦреЗрдВрдЧреЗ:

 # grep postdrop /var/log/audit/audit.log | audit2allow -M postfixlocal # cat postfixlocal.te module postfixlocal 1.0; require { type httpd_log_t; type postfix_postdrop_t; class dir getattr; class file { read getattr }; } #============= postfix_postdrop_t ============== allow postfix_postdrop_t httpd_log_t:file getattr; 


рдкреНрд░рд╢реНрди рддреБрд░рдВрдд рдЙрдарддрд╛ рд╣реИ, рдХрд┐ рдкреЛрд╕реНрдЯрдбреНрд░реЙрдк / var / log / httpd / error_log рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреНрдпреЛрдВ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ? рдпрд╣ рд╡рд╣ рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдо рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдм рдпрд╣ рддрдп рдХрд░рдирд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ рдпрд╛ рдирд╣реАрдВред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред

- рд╣рдо рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ SELinux рдХреЛ рдлрд╝рд╛рдЗрд▓ рддрдХ рдкрд╣реБрдБрдЪ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред

- рд╣рдо рдСрдбрд┐рдЯ 2 рдХреНрд▓рд╛рдЙрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЙрдЪрд┐рдд рдиреАрддрд┐ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдХрд░ рдЗрд╕ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рд╣рдо рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрд┐рдд SELinux рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдЗрд╡реЗрдВрдЯ рдХреЗ рдСрдбрд┐рдЯ рдкрд░ рд░реЛрдХ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдПрдХреНрд╕реЗрд╕ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ "NOTaudit" рдХреЗ рдЕрдиреБрд░реВрдк рд▓рд╛рдЗрди рдореЗрдВ "рдЕрдиреБрдорддрд┐" рдорд╛рди рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛:

 #============= postfix_postdrop_t ============== dontaudit postfix_postdrop_t httpd_log_t:file getattr; 


рдЕрдм рд╣рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдиреАрддрд┐ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

 # checkmodule -M -m -o postfixlocal.mod postfixlocal.te # semodule_package -o postfixlocal.pp -m postfixlocal.mod # semodule -i postfixlocal.pp 


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдлрд╝рд╛рдЗрд▓ / var / log / httpd / error_log рддрдХ рдкрд╣реБрдВрдЪ рдЕрд╡рд░реБрджреНрдз рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ SELinux рд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИред

рджрд░рдЕрд╕рд▓, SELinux рдХреЗ рд▓рд┐рдП, рдЕрднреА рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдм рд╣реИ, рдФрд░ рдмрд╛рдж рдХреЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╣рдо rpm рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдбрд┐рд╕реНрдХ рдХреЛрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк (рдФрд░, рдЙрдореНрдореАрдж рд╣реИ, рдЙрдкрдпреЛрдЧреА) рд╡рд┐рд╖рдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рд╕реЛрдорд╡рд╛рд░ рдХреЛ рдПрдХ рдирдпрд╛ рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

Source: https://habr.com/ru/post/In209970/


All Articles