AuthZ& AuthN - Docker Access Authorization Plugin
Docker рдХрд╛ authorization рдореЙрдбрд▓ рд╕рднреА рдпрд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЬреЛ Docker рдбреЗрдорди рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд░рдЦрддрд╛ рд╣реИ, рд╡рд╣ рдХрд┐рд╕реА рднреА Docker рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред рдпрд╣ рд╡рд╣реА рд╕рддреНрдп рд╣реИ рдЬреЛ Docker рдХреЗ Engine API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдорди рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЙрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдкрд╣реБрдБрдЪ рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк authorization plugins рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ Docker рдбреЗрдорди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ authorization plugin рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдПрдХ Docker рдкреНрд░рд╢рд╛рд╕рдХ Docker рдбреЗрдорди рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рд╕реВрдХреНрд╖реНрдо рдкрд╣реБрдБрдЪ рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореВрд▓ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛
Docker Auth plugins рдмрд╛рд╣рд░реА plugins рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЕрдиреБрдорддрд┐/рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ Docker рдбреЗрдорди рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрд░реЛрдз рдХреА рдЧрдИ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рд╕реЗ рд╣реИ
рдЬрдм рдПрдХ HTTP рдЕрдиреБрд░реЛрдз Docker рдбреЗрдорди рдХреЗ рд▓рд┐рдП CLI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ Engine API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ authentication рдЙрдкрдкреНрд░рдгрд╛рд▓реА рдЕрдиреБрд░реЛрдз рдХреЛ рд╕реНрдерд╛рдкрд┐рдд authentication plugin(s) рдХреЛ рднреЗрдЬрддреА рд╣реИред рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (рдХреЙрд▓рд░) рдФрд░ рдХрдорд╛рдВрдб рд╕рдВрджрд░реНрдн рд╣реЛрддрд╛ рд╣реИред plugin рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдП рдпрд╛ рдЕрд╕реНрд╡реАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЕрдиреБрдХреНрд░рдо рдЖрд░реЗрдЦ рдЕрдиреБрдорддрд┐ рдФрд░ рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рд╡рд╛рд╣ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ:
рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдЬреЛ plugin рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдкреНрд░рдорд╛рдгрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, HTTP рд╣реЗрдбрд░, рдФрд░ рдЕрдиреБрд░реЛрдз/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢рд░реАрд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкреНрд░рдорд╛рдгрди рд╡рд┐рдзрд┐ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рд╣реИ, plugin рдХреЛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдХреЛрдИ рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдпрд╛ рдЯреЛрдХрди рдирд╣реАрдВ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдВрдд рдореЗрдВ, рд╕рднреА рдЕрдиреБрд░реЛрдз/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢рд░реАрд░ рдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг plugin рдХреЛ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЗрд╡рд▓ рд╡реЗ рдЕрдиреБрд░реЛрдз/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢рд░реАрд░ рдЬрд╣рд╛рдВ Content-Type
рдпрд╛ рддреЛ text/*
рдпрд╛ application/json
рд╣реИ, рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред
рдЙрди рдХрдорд╛рдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ HTTP рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╣рд╛рдИрдЬреИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (HTTP Upgrade
), рдЬреИрд╕реЗ exec
, рдкреНрд░рд╛рдзрд┐рдХрд░рдг plugin рдХреЗрд╡рд▓ рдкреНрд░рд╛рд░рдВрднрд┐рдХ HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдЬрдм plugin рдХрдорд╛рдВрдб рдХреЛ рдордВрдЬреВрд░реА рджреЗрддрд╛ рд╣реИ, рддреЛ рд╢реЗрд╖ рдкреНрд░рд╡рд╛рд╣ рдкрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг plugins рдХреЛ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрди рдХрдорд╛рдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЪрдВрдХреНрдб HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ logs
рдФрд░ events
, рдХреЗрд╡рд▓ HTTP рдЕрдиреБрд░реЛрдз рдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг plugins рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдиреБрд░реЛрдз/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди, рдХреБрдЫ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рд╡рд╛рд╣ рдХреЛ Docker рдбреЗрдорди рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╢реНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдРрд╕реЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, plugins рдПрдХ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рдорд╛рди рдбреЗрдорди API рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрди рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, plugin рдХреЛ рдПрдХ рдкреНрд░рд╢рд╛рд╕рдХ рдХреЛ рдЙрдЪрд┐рдд рдкреНрд░рдорд╛рдгрди рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдзрди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХрдИ Plugins
рдЖрдкрдХреЛ Docker рдбреЗрдорди рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреЗ plugin рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рдЖрдк рдХрдИ plugins рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреНрд░рдордмрджреНрдз рд╣реЛ рд╕рдХрддреА рд╣реИред рдбреЗрдорди рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд░рдо рдореЗрдВ рдкрд╛рд╕ рд╣реЛрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдЬрдм рд╕рднреА plugins рд╕рдВрд╕рд╛рдзрди рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рддрдм рдкрд╣реБрдБрдЪ рджреА рдЬрд╛рддреА рд╣реИред
Plugin рдЙрджрд╛рд╣рд░рдг
Twistlock AuthZ Broker
Plugin authz рдЖрдкрдХреЛ рдПрдХ рд╕рд░рд▓ JSON рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ plugin рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдврд╝реЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдЖрдкрдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ API рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдПрд▓реАрд╕ рдФрд░ рдмреЙрдм рдХреЛ рдирдП рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛: {"name":"policy_3","users":["alice","bob"],"actions":["container_create"]}
рдкреГрд╖реНрда route_parser.go рдореЗрдВ рдЖрдк рдЕрдиреБрд░реЛрдзрд┐рдд URL рдФрд░ рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдкреГрд╖реНрда types.go рдореЗрдВ рдЖрдк рдХреНрд░рд┐рдпрд╛ рдирд╛рдо рдФрд░ рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд░рд▓ Plugin рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓
рдЖрдк рдпрд╣рд╛рдБ рдПрдХ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди plugin рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реИ: https://github.com/carlospolop-forks/authobot
рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП README
рдФрд░ plugin.go
рдХреЛрдб рдкрдврд╝реЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
Docker Auth Plugin Bypass
рдкрд╣реБрдБрдЪ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ
рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдмрд╛рддреЗрдВ рд╣реИрдВ рдХреМрди рд╕реЗ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ рдФрд░ рдХреМрди рд╕реЗ HostConfig рдХреЗ рдорд╛рдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред
рдЗрд╕ рд╕реВрдЪреАрдмрджреНрдзрддрд╛ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЙрдкрдХрд░рдг https://github.com/carlospolop/docker_auth_profiler** рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред**
рдЕрд╕реНрд╡реАрдХреГрдд run --privileged
run --privileged
рдиреНрдпреВрдирддрдо рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░
Running a container and then getting a privileged session
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ sysadmin рдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдФрд░ --privileged
рдлреНрд▓реИрдЧ рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рдпрд╛ рдХрдВрдЯреЗрдирд░ рдХреЛ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд╖рдорддрд╛ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА:
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╢реЗрд▓ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рджреЗ рд╕рдХрддрд╛ рд╣реИ:
рдЕрдм, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рднреА рдкрд╣рд▓реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рд░ рдмрдврд╝рд╛ рд╕рдХрддрд╛ рд╣реИ рд╣реЛрд╕реНрдЯ рдХреЗ рдЕрдВрджрд░ред
рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдлрд╝реЛрд▓реНрдбрд░ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ --privileged
рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА рдпрд╛ рдХрдВрдЯреЗрдирд░ рдХреЛ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд╖рдорддрд╛ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА, рдФрд░ рдЙрд╕рдиреЗ рдХреЗрд╡рд▓ /tmp
рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА:
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╢рд╛рдпрдж рдЖрдк /tmp
рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдорд╛рдЙрдВрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд▓реЗрдХрд┐рди рдЖрдк рдПрдХ рд╡рд┐рднрд┐рдиреНрди рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП: find / -writable -type d 2>/dev/null
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рдПрдХ рд▓рд┐рдирдХреНрд╕ рдорд╢реАрди рдореЗрдВ suid рдмрд┐рдЯ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреА! рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ suid рдмрд┐рдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИрдВ, mount | grep -v "nosuid"
рдЪрд▓рд╛рдПрдБред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдорддреМрд░ рдкрд░ /dev/shm
, /run
, /proc
, /sys/fs/cgroup
рдФрд░ /var/lib/lxcfs
suid рдмрд┐рдЯ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк /etc
рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рд╕реЗ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рд╣реЛрд╕реНрдЯ рдореЗрдВ рдЙрдирдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдмрдврд╝рд╛ рд╕рдХреЗрдВ (рд╢рд╛рдпрдж /etc/shadow
рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ)ред
рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд API рдПрдВрдбрдкреЙрдЗрдВрдЯ
рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реЛрдЧреА рдХрд┐ рд╡рд╣ рдпрд╣ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреМрди рд╕реА рдХреНрд░рд┐рдпрд╛рдПрдБ рдФрд░ рдХрд┐рд╕ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдкрдирд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдХреБрдЫ рдХреЛ рднреВрд▓ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдмрдврд╝рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИред
рдЖрдк рдбреЙрдХрд░ API рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ https://docs.docker.com/engine/api/v1.40/#
рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд JSON рд╕рдВрд░рдЪрдирд╛
рд░реВрдЯ рдореЗрдВ рдмрд╛рдЗрдВрдбреНрд╕
рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЬрдм рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдиреЗ рдбреЙрдХрд░ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛, рддреЛ рдЙрд╕рдиреЗ API рдХреЗ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреИрд░рд╛рдореАрдЯрд░ рдЬреИрд╕реЗ "Binds" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдпрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЗрд╕ рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдирд╛ рдФрд░ рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рд╣реЛрд╕реНрдЯ рдХреЗ рд░реВрдЯ (/) рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рддрд╛ рд╣реИ:
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣рдо Binds
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ JSON рдореЗрдВ рдПрдХ рд░реВрдЯ рд╕реНрддрд░ рдХреА рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди API рдореЗрдВ рдпрд╣ HostConfig
рдХреБрдВрдЬреА рдХреЗ рддрд╣рдд рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
HostConfig рдореЗрдВ Binds
Binds in root рдХреЗ рд╕рд╛рде рд╡рд╣реА рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ рдФрд░ Docker API рдкрд░ рдпрд╣ request рдХрд░реЗрдВ:
Mounts in root
рд░реВрдЯ рдореЗрдВ рдмрд╛рдЗрдВрдбреНрд╕ рдХреЗ рд╕рд╛рде рд╡рд╣реА рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ, рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЛ Docker API рдкрд░ рдХрд░реЗрдВ:
Mounts in HostConfig
рд░реВрдЯ рдореЗрдВ рдмрд╛рдЗрдВрдбреНрд╕ рдХреЗ рд╕рд╛рде рд╡рд╣реА рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ, рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЛ Docker API рдкрд░ рдХрд░реЗрдВ:
Unchecked JSON Attribute
рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЬрдм рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдиреЗ рдбреЙрдХрд░ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛, рддреЛ рдЙрд╕рдиреЗ API рдХреЗ "HostConfig" рдХреЗ рдЕрдВрджрд░ "Capabilities" рдЬреИрд╕реЗ рдХрд┐рд╕реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЧреБрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдпрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЗрд╕ рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗ SYS_MODULE рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ:
HostConfig
рд╡рд╣ рдХреБрдВрдЬреА рд╣реИ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдЪрд░реНрдЪрд╛ рдХреА рд╣реИ, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рд╣рд░ Binds рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд▓рдЧрдЗрди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛
рдпрджрд┐ sysadmin рдиреЗ рдкреНрд▓рдЧрдЗрди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рднреВрд▓ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдХрд░ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЙрдиреНрдирддрд┐ рдХреЗ рдмрд╛рдж рдкреНрд▓рдЧрдЗрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ, рдЕрдиреНрдпрдерд╛ рдбреЙрдХрд░ рд╕реЗрд╡рд╛ рдХрд╛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛!
рдСрде рдкреНрд▓рдЧрдЗрди рдмрд╛рдпрдкрд╛рд╕ рд▓реЗрдЦ
Last updated