
рд▓рд┐рдирдХреНрд╕ рд╕реБрд░рдХреНрд╖рд╛ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред
SELinux рдпрд╛ Security Enhanced Linux рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдШреБрд╕рдкреИрда рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП US National Security Agency (NSA) рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдПрдХ рдЙрдиреНрдирдд рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг рддрдВрддреНрд░ рд╣реИред рдпрд╣ рдореМрдЬреВрджрд╛ рд╡рд┐рд╡реЗрдХрд╛рдзреАрди (рдпрд╛ рдЪрдпрдирд╛рддреНрдордХ) рдореЙрдбрд▓ (Engред рд╡рд┐рд╡реЗрдХрд╛рдзреАрди рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг, DAC) рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдордЬрдмреВрд░ (рдпрд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп) рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓ рдореЙрдбрд▓ (Engред рдЕрдирд┐рд╡рд╛рд░реНрдп рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓, рдореИрдХ) рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдкрдврд╝рдиреЗ, рд▓рд┐рдЦрдиреЗ, рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
SELinux рдХреЗ рддреАрди рдореЛрдб рд╣реИрдВ:
- рд▓рд╛рдЧреВ рдХрд░рдирд╛ - рдиреАрддрд┐ рдирд┐рдпрдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд╣реБрдВрдЪ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдирд╛ ред
- рдЕрдиреБрдореЗрдп - рд▓реЙрдЧрд┐рдВрдЧ рдХреНрд░рд┐рдпрд╛рдПрдВ рдЬреЛ рдЙрди рдиреАрддрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдореЗрдВ рдирд┐рд╖рд┐рджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
- рдЕрдХреНрд╖рдо - рдкреВрд░реА рддрд░рд╣ рд╕реЗ SELinux рдЕрдХреНрд╖рдо рдХрд░реЗрдВред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ /etc/selinux/config
SELinux рдореЛрдб рдмрджрд▓рдирд╛
рд╡рд░реНрддрдорд╛рди рдореЛрдб рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд░рди рдХрд░реЗрдВ
$ getenforce
рдореЛрдб рдХреЛ рдЕрдиреБрдореЗрдп рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ
$ setenforce 0
рдпрд╛, рдореЛрдб рдХреЛ рдЕрдиреБрдореЗрдп рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд░реЗрдВ
$ setenforce 1
рдпрджрд┐ рдЖрдкрдХреЛ SELinux рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
$ vi /etc/selinux/config
рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, SELINUX рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрджрд▓реЗрдВ:
SELINUX=disabled
SELinux рд╕реЗрдЯрдЕрдк
рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдХ SELinux рд╕рдВрджрд░реНрдн рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рднреВрдорд┐рдХрд╛, рдкреНрд░рдХрд╛рд░ рдЖрджрд┐ рдЬреИрд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ SELinux рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕рдВрджрд░реНрдн рдФрд░ рд▓реЗрдмрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдмрд▓рд┐рдВрдЧ рдФрд░ рд╕рдВрджрд░реНрдн рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓реЗрдмрд▓рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рд░реНрдХрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдореЛрдб рдХреЛ рдЕрдиреБрдореЗрдп рдореЗрдВ рдмрджрд▓реЗрдВред
$ vi /etc/selinux/config SELINUX=permissive
рдЕрдиреБрдореЗрдп рдореЛрдб рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рд░реВрдЯ рдореЗрдВ autorelabel
рдирд╛рдордХ рдПрдХ рдЦрд╛рд▓реА рдЫрд┐рдкреА рдлрд╝рд╛рдЗрд▓ autorelabel
$ touch /.autorelabel
рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ
$ init 6
рдиреЛрдЯ: рд╣рдо рдорд╛рд░реНрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкрд░рдорд┐рд╢рди рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдПрдирдлреЛрд░реНрд╕рд┐рдВрдЧ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░рд┐рдмреВрдЯ рдХреЗ рджреМрд░рд╛рди рд╕рд┐рд╕реНрдЯрдо рдХреНрд░реИрд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЪрд┐рдВрддрд╛ рдордд рдХрд░реЛ рдЕрдЧрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХреБрдЫ рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЕрдЯрдХ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдВрдХрди рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдФрд░ рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдиреНрдлреЛрд░реНрд╕рд┐рдВрдЧ рдореЛрдб рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд░рди рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ setenforce 1
рдЕрдм рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ SELinux рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рд╣реИред
рд▓реЙрдЧ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВ
рдорд╛рд░реНрдХ рдХрд░рддреЗ рд╕рдордп рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЪрд▓рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХрд╛ SELinux рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдпрд╣ рдХрд┐рд╕реА рдкреЛрд░реНрдЯ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрджрд┐ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд▓реЙрдЧ рджреЗрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред SELinux рд▓реЙрдЧ /var/log/audit/audit.log
рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рдВрдкреВрд░реНрдгрддрд╛ рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдСрдбрд┐рдЯ 2why рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛рдПрдБ:
$ audit2why < /var/log/audit/audit.log
рдирддреАрдЬрддрди, рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИред рдпрджрд┐ рд▓реЙрдЧ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдереА, рддреЛ рдХреЛрдИ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
SELinux рдиреАрддрд┐ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдПрдХ SELinux рдиреАрддрд┐ рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ рдЬреЛ SELinux рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рддреА рд╣реИред рдПрдХ рдиреАрддрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИред рдЕрдм рд╣рдо рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рддрдХ рдкрд╣реБрдБрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред
1. рддрд╛рд░реНрдХрд┐рдХ рдореВрд▓реНрдп (рд╕реНрд╡рд┐рдЪ)
рд╕реНрд╡рд┐рдЪ (рдмреБрд▓рд┐рдпрди) рдЖрдкрдХреЛ рдирдИ рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдПрдХ рдиреАрддрд┐ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡реЗ рдЖрдкрдХреЛ SELinux рдиреАрддрд┐рдпреЛрдВ рдХреЛ рд░реАрдмреВрдЯ рдпрд╛ рдкреБрди: рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ FTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рд╣рдо рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХреБрдЫ рднреА рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ SELinux рдиреАрддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ FTP рд╕рд░реНрд╡рд░ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИред рд╣рдореЗрдВ рдиреАрддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдлрд╝рдЯреАрдкреА рд╕рд░реНрд╡рд░ рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХреЗред рдЪрд▓реЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрд╡рд┐рдЪ рд╣реИ
$ semanage boolean -l
рдпрд╣ рдХрдорд╛рдВрдб рдЙрдирдХреЗ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ (рдЪрд╛рд▓реВ / рдмрдВрдж рдпрд╛ рдмрдВрдж / рдмрдВрдж) рдФрд░ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЙрдкрд▓рдмреНрдз рд╕реНрд╡рд┐рдЪ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рдХреЗрд╡рд▓ ftp рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рдгрд╛рдо рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк grep рдЬреЛрдбрд╝рдХрд░ рдЕрдкрдиреА рдЦреЛрдЬ рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ semanage boolean -l | grep ftp
рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЦреЛрдЬреЗрдВ
ftp_home_dir -> off Allow ftp to read & write file in user home directory
рдпрд╣ рд╕реНрд╡рд┐рдЪ рдмрдВрдж рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ setsebool $ setsebool ftp_home_dir on
рд╕рдХреНрд╖рдо рдХрд░реЗрдВрдЧреЗ
рдЕрдм рд╣рдорд╛рд░рд╛ ftp рдбреЗрдореЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред
рдиреЛрдЯ: рдЖрдк getsebool -a
рдХрд░рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд┐рдирд╛ рдЙрдкрд▓рдмреНрдз рд╕реНрд╡рд┐рдЪ рдХреА рдПрдХ рд╕реВрдЪреА рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
2. рд▓реЗрдмрд▓ рдФрд░ рд╕рдВрджрд░реНрдн
рдпрд╣ SELinux рдиреАрддрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрдо рддрд░реАрдХрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓, рдлрд╝реЛрд▓реНрдбрд░, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдкреЛрд░реНрдЯ рдПрдХ SELinux рд╕рдВрджрд░реНрдн рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рд╣реИ:
- рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдЯреИрдЧреНрд╕ рдХреЛ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
$ ls -Z /etc/httpd
- рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рд▓рд┐рдП, рдХреЛрд░ рдЕрдВрдХрди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЗрди рд▓реЗрдмрд▓ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
рдкреНрд░рдХреНрд░рд┐рдпрд╛
$ ps тАУauxZ | grep httpd
рдмрдВрджрд░рдЧрд╛рд╣
$ netstat -anpZ | grep httpd
рдЙрджрд╛рд╣рд░рдг
рдЕрдм рд▓реЗрдмрд▓ рдФрд░ рд╕рдВрджрд░реНрдн рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ /var/www/html/ /home/dan/html/
рдмрдЬрд╛рдп /var/www/html/ /home/dan/html/
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред SELinux рдЗрд╕реЗ рдПрдХ рдиреАрддрд┐ рдЙрд▓реНрд▓рдВрдШрди рдорд╛рдирддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЕрдкрдиреЗ рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ HTML рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрджрд░реНрдн рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрджрд░реНрдн рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
$ ls тАУlz /var/www/html -rw-rтАФrтАФ. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/
рдпрд╣рд╛рдВ рд╣рдореЗрдВ HTML рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ httpd_sys_content_t
рдорд┐рд▓рд╛ рд╣реИред рд╣рдореЗрдВ рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрджрд░реНрдн рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрджрд░реНрдн рд╣реИрдВ:
-rw-rтАФrтАФ. dan dan system_u:object_r:user_home_t:s0 /home/dan/html/
рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрдорд╛рдВрдб рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрджрд░реНрдн рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
$ semanage fcontext -l | grep '/var/www'
рд╣рдо рд╕рд╣реА рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрджрд░реНрдн рдЦреЛрдЬрдиреЗ рдХреЗ рдмрд╛рдж рд╕рдВрджрд░реНрдн рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╡реАрд░реНрдпрдкрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред / Home / dan / html рдХрд╛ рд╕рдВрджрд░реНрдн рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
$ semanage fcontext -a -t httpd_sys_content_t '/home/dan/html(/.*)?' $ semanage fcontext -l | grep '/home/dan/html' /home/dan/html(/.*)? all files system_u:object_r:httpd_sys_content_t:s0 $ restorecon -Rv /home/dan/html
рд╕рдВрджрд░реНрдн рдХреЛ рд╡реАрд░реНрдпрдкрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд░рд┐рд╕реНрдЯреЛрд░реЙрди рдХрдорд╛рдВрдб рдлрд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрджрд░реНрдн рдХреЛ рд▓реЛрдб рдХрд░реЗрдЧрд╛ред рд╣рдорд╛рд░рд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдЕрдм рдлрд╝реЛрд▓реНрдбрд░ /home/dan/html
рд╕реЗ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрджрд░реНрдн httpd_sys_content_t
рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
3. рд╕реНрдерд╛рдиреАрдп рдиреАрддрд┐рдпрд╛рдВ рдмрдирд╛рдирд╛
рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЬрд╣рд╛рдВ рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдзрд┐рдпрд╛рдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдмреЗрдХрд╛рд░ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рдСрдбрд┐рдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐ (рдПрд╡реАрд╕реА / рдЗрдирдХрд╛рд░) рдорд┐рд▓рддреА рд╣реИред рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдиреАрддрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдЖрдк рдСрдбрд┐рдЯ 2why рдХреЗ рд╕рд╛рде рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд╕реНрдерд╛рдиреАрдп рдиреАрддрд┐ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ httpd (рдЕрдкрд╛рдЪреЗ) рдпрд╛ smbd (рд╕рд╛рдВрдмрд╛) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рд╣рдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рдиреАрддрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ:
apache $ grep httpd_t /var/log/audit/audit.log | audit2allow -M http_policy samba $ grep smbd_t /var/log/audit/audit.log | audit2allow -M smb_policy
рдпрд╣рд╛рдБ http_policy
рдФрд░ smb_policy
рдЙрди рд╕реНрдерд╛рдиреАрдп рдиреАрддрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдмрдирд╛рдпрд╛ рдерд╛ред рдЕрдм рд╣рдореЗрдВ рдЗрди рдмрдирд╛рдИ рдЧрдИ рд╕реНрдерд╛рдиреАрдп рдиреАрддрд┐рдпреЛрдВ рдХреЛ рд╡рд░реНрддрдорд╛рди SELinux рдиреАрддрд┐ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
$ semodule тАУI http_policy.pp $ semodule тАУI smb_policy.pp
рд╣рдорд╛рд░реА рд╕реНрдерд╛рдиреАрдп рдиреАрддрд┐рдпрд╛рдВ рднрд░реА рд╣реБрдИ рдереАрдВ, рдФрд░ рд╣рдореЗрдВ рдЕрдм рдСрдбрд┐рдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдореЗрд░реА рдХреЛрд╢рд┐рд╢ рдереА рдХрд┐ рдЖрдк SELinux рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк SELinux рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╕рд╣рдЬ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗред