рд╣реЕрд▓реЛ рдкреБрдиреНрд╣рд╛! рдирд╡реАрди рдЕрднреНрдпрд╛рд╕рдХреНрд░рдо рдЧрдЯрд╛рддреАрд▓ рд╡рд░реНрдЧ рдЙрджреНрдпрд╛рдкрд╛рд╕реВрди рд╕реБрд░реВ рд╣реЛрддреАрд▓
рдорд╛рдЧреАрд▓ рдЯреНрдпреБрдЯреЛрд░рд┐рдпрд▓рдордзреНрдпреЗ рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рддреЗ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ pam_cracklib
рд╕рд┐рд╕реНрдЯрдорд╡рд░реАрд▓ рдкрд╛рд╕рд╡рд░реНрдб рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА pam_pwquality
рдмрджрд▓рд▓реЗ cracklib
рдореНрд╣рдгреВрди pam
рдкрд╛рд╕рд╡рд░реНрдб рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдбреАрдлреЙрд▓реНрдЯ рдореЙрдбреНрдпреВрд▓. рдореЙрдбреНрдпреВрд▓ pam_pwquality
Ubuntu рдЖрдгрд┐ CentOS рддрд╕реЗрдЪ рдЗрддрд░ рдЕрдиреЗрдХ OS рд╡рд░ рджреЗрдЦреАрд▓ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ. рд╡рд╛рдкрд░рдХрд░реНрддреЗ рддреБрдордЪреА рдкрд╛рд╕рд╡рд░реНрдб рд╕рд╛рдорд░реНрдереНрдп рдорд╛рдирдХреЗ рд╕реНрд╡реАрдХрд╛рд░рддрд╛рдд рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рдореЙрдбреНрдпреВрд▓ рдкрд╛рд╕рд╡рд░реНрдб рдзреЛрд░рдгреЗ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХрд░рддреЗ.
рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди, рдкрд╛рд╕рд╡рд░реНрдбрдЪрд╛ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯреАрдХреЛрди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдЕрдкреНрдкрд░рдХреЗрд╕, рд▓реЛрдЕрд░рдХреЗрд╕, рд╕рдВрдЦреНрдпрд╛ рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдЪрд┐рдиреНрд╣реЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рднрд╛рдЧ рдкрд╛рдбрдгреЗ рд╣рд╛ рд╣реЛрддрд╛. рдкрд╛рд╕рд╡рд░реНрдбрдЪреНрдпрд╛ рдЬрдЯрд┐рд▓рддреЗрд╕рд╛рдареАрдЪреНрдпрд╛ рдпрд╛ рдореВрд▓рднреВрдд рдирд┐рдпрдорд╛рдВрдЪрд╛ рдЧреЗрд▓реНрдпрд╛ рджрд╣рд╛ рд╡рд░реНрд╖рд╛рдВрдд рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рд╡рд░ рдкреНрд░рдЪрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ. рд╣реА рдЪрд╛рдВрдЧрд▓реА рдкреНрд░рдерд╛ рдЖрд╣реЗ рдХреА рдирд╛рд╣реА рдпрд╛рдмрджреНрджрд▓ рдмрд░реАрдЪ рдЪрд░реНрдЪрд╛ рдЭрд╛рд▓реА рдЖрд╣реЗ. рдЕрд╢рд╛ рдХреНрд▓рд┐рд╖реНрдЯ рдкрд░рд┐рд╕реНрдерд┐рддреА рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╡рд┐рд░реБрджреНрдз рдореБрдЦреНрдп рдпреБрдХреНрддрд┐рд╡рд╛рдж рдЕрд╕рд╛ рд╣реЛрддрд╛ рдХреА рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдХрд╛рдЧрджрд╛рдЪреНрдпрд╛ рддреБрдХрдбреНрдпрд╛рдВрд╡рд░ рдкрд╛рд╕рд╡рд░реНрдб рд▓рд┐рд╣реВрди рдареЗрд╡рддрд╛рдд рдЖрдгрд┐ рддреЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рддрдкрдгреЗ рд╕рд╛рдард╡рддрд╛рдд.
рдЕрд▓реАрдХрдбреЗрдЪ рдкреНрд░рд╢реНрди рд╡рд┐рдЪрд╛рд░рдгреНрдпрд╛рдд рдЖрд▓реЗрд▓реЗ рджреБрд╕рд░реЗ рдзреЛрд░рдг рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рджрд░ x рджрд┐рд╡рд╕рд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреЗ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рдгреНрдпрд╛рд╕ рднрд╛рдЧ рдкрд╛рдбрддреЗ. рдЕрд╕реЗ рдХрд╛рд╣реА рдЕрднреНрдпрд╛рд╕ рдЭрд╛рд▓реЗ рдЖрд╣реЗрдд рдХреА рд╣реЗ рд╕реБрд░рдХреНрд╖реЗрд╕рд╛рдареА рджреЗрдЦреАрд▓ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдЖрд╣реЗ.
рдпрд╛ рдЪрд░реНрдЪреЗрдЪреНрдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рдЕрдиреЗрдХ рд▓реЗрдЦ рд▓рд┐рд╣рд┐рд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд, рдЬреЗ рдПрдХ рдХрд┐рдВрд╡рд╛ рджреБрд╕рд░реНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддрд╛рдд. рдкрд░рдВрддреБ рдЖрдкрдг рдпрд╛ рд▓реЗрдЦрд╛рдд рдпрд╛рдмрджреНрджрд▓ рдЪрд░реНрдЪрд╛ рдХрд░рдгрд╛рд░ рдирд╛рд╣реА. рд╣рд╛ рд▓реЗрдЦ рд╕реБрд░рдХреНрд╖рд╛ рдзреЛрд░рдг рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА рдкрд╛рд╕рд╡рд░реНрдбрдЪреА рдЬрдЯрд┐рд▓рддрд╛ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХрд╢реА рд╕реЗрдЯ рдХрд░рд╛рд╡реА рдпрд╛рдмрджреНрджрд▓ рдЪрд░реНрдЪрд╛ рдХрд░реЗрд▓.
рдкрд╛рд╕рд╡рд░реНрдб рдзреЛрд░рдг рд╕реЗрдЯрд┐рдВрдЧреНрдЬ
рдЦрд╛рд▓реА рддреБрдореНрд╣рд╛рд▓рд╛ рдкрд╛рд╕рд╡рд░реНрдб рдзреЛрд░рдг рдкрд░реНрдпрд╛рдп рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХрд╛рдЪреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд░реНрдгрди рджрд┐рд╕реЗрд▓. рддреНрдпрд╛рдкреИрдХреА рдмрд░реЗрдЪ рдореЙрдбреНрдпреВрд▓рдордзреАрд▓ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗрдд cracklib
. рд╣рд╛ рджреГрд╖реНрдЯреАрдХреЛрди рд▓реЗрдЧрд╕реА рд╕рд┐рд╕реНрдЯрдордордзреВрди рддреБрдордЪреА рдзреЛрд░рдгреЗ рдкреЛрд░реНрдЯ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХрд░рддреЗ.
- рдорд▓рд╛ рдорд╛рдл рдХрд░рд╛ - рддреБрдордЪреНрдпрд╛ рдирд╡реАрди рдкрд╛рд╕рд╡рд░реНрдбрдордзреАрд▓ рд╡рд░реНрдгрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдЬреА рддреБрдордЪреНрдпрд╛ рдЬреБрдиреНрдпрд╛ рдкрд╛рд╕рд╡рд░реНрдбрдордзреНрдпреЗ рдирд╕рд╛рд╡реА. (рдбрд┐рдлреЙрд▓реНрдЯ рел)
- рдорд┐рд▓рди - рдХрд┐рдорд╛рди рдкрд╛рд╕рд╡рд░реНрдб рд▓рд╛рдВрдмреА. (рдбрд┐рдлреЙрд▓реНрдЯ реп)
- рдпреБрдХреНрд░реЗрдбрд┐рдЯ тАУ рдЕрдкреНрдкрд░рдХреЗрд╕ рд╡рд░реНрдг рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреНрд░реЗрдбрд┐рдЯрдЪреА рдХрдорд╛рд▓ рд╕рдВрдЦреНрдпрд╛ (рдЬрд░ рдкреЕрд░рд╛рдореАрдЯрд░ > 0), рдХрд┐рдВрд╡рд╛ рдЕрдкреНрдкрд░рдХреЗрд╕ рд╡рд░реНрдгрд╛рдВрдЪреА рдХрд┐рдорд╛рди рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ (рдЬрд░ рдкреЕрд░рд╛рдореАрдЯрд░ <0 рдЕрд╕реЗрд▓ рддрд░). рдбреАрдлреЙрд▓реНрдЯ 1 рдЖрд╣реЗ.
- рдХреНрд░реЗрдбрд┐рдЯ тАФ рд▓реЛрдЕрд░рдХреЗрд╕ рд╡рд░реНрдг рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреНрд░реЗрдбрд┐рдЯреНрд╕рдЪреА рдХрдорд╛рд▓ рд╕рдВрдЦреНрдпрд╛ (рдЬрд░ рдкреЕрд░рд╛рдореАрдЯрд░ > 0 рдЕрд╕реЗрд▓), рдХрд┐рдВрд╡рд╛ рдХрд┐рдорд╛рди рдЖрд╡рд╢реНрдпрдХ рд▓реЛрдЕрд░рдХреЗрд╕ рд╡рд░реНрдгрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ (рдЬрд░ рдкреЕрд░рд╛рдореАрдЯрд░ <0 рдЕрд╕реЗрд▓ рддрд░). рдбреАрдлреЙрд▓реНрдЯ 1 рдЖрд╣реЗ.
- рдХреНрд░реЗрдбрд┐рдЯ тАФ рдЕрдВрдХ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреНрд░реЗрдбрд┐рдЯреНрд╕рдЪреА рдХрдорд╛рд▓ рд╕рдВрдЦреНрдпрд╛ (рдЬрд░ рдкреЕрд░рд╛рдореАрдЯрд░ > 0 рдЕрд╕реЗрд▓), рдХрд┐рдВрд╡рд╛ рдХрд┐рдорд╛рди рдЖрд╡рд╢реНрдпрдХ рдЕрдВрдХрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ (рдЬрд░ рдкреЕрд░рд╛рдореАрдЯрд░ <0 рдЕрд╕реЗрд▓ рддрд░). рдбреАрдлреЙрд▓реНрдЯ 1 рдЖрд╣реЗ.
- рддреЛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдареЗрд╡рддреЛ тАФ рдЗрддрд░ рдЪрд┐рдиреНрд╣реЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреНрд░реЗрдбрд┐рдЯрдЪреА рдХрдорд╛рд▓ рд╕рдВрдЦреНрдпрд╛ (рдЬрд░ рдкреЕрд░рд╛рдореАрдЯрд░ > 0 рдЕрд╕реЗрд▓), рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдЪрд┐рдиреНрд╣рд╛рдВрдЪреА рдХрд┐рдорд╛рди рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ (рдЬрд░ рдкреЕрд░рд╛рдореАрдЯрд░ <0 рдЕрд╕реЗрд▓ рддрд░). рдбреАрдлреЙрд▓реНрдЯ 1 рдЖрд╣реЗ.
- minclass - рдЖрд╡рд╢реНрдпрдХ рд╡рд░реНрдЧрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗрдЯ рдХрд░рддреЗ. рд╡рд░реНрдЧрд╛рдВрдордзреНрдпреЗ рд╡рд░реАрд▓ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ (рдЕрдкрд░ рдХреЗрд╕ рд╡рд░реНрдг, рд▓реЛрдЕрд░ рдХреЗрд╕ рд╡рд░реНрдг, рд╕рдВрдЦреНрдпрд╛, рдЗрддрд░ рд╡рд░реНрдг) рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд. рдбреАрдлреЙрд▓реНрдЯ 0 рдЖрд╣реЗ.
- рдХрдорд╛рд▓ рдкреБрдирд░рд╛рд╡реГрддреНрддреА - рдкрд╛рд╕рд╡рд░реНрдбрдордзреНрдпреЗ рдПрдХрд╛ рд╡рд░реНрдгрд╛рдЪреА рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╡реЗрд│рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рд╣реЛрдК рд╢рдХрддреЗ. рдбреАрдлреЙрд▓реНрдЯ 0 рдЖрд╣реЗ.
- maxclassrepeat тАФ рдПрдХрд╛ рд╡рд░реНрдЧрд╛рдд рд╕рд▓рдЧ рд╡рд░реНрдгрд╛рдВрдЪреА рдХрдорд╛рд▓ рд╕рдВрдЦреНрдпрд╛. рдбреАрдлреЙрд▓реНрдЯ 0 рдЖрд╣реЗ.
- gecoscheck - рдкрд╛рд╕рд╡рд░реНрдбрдордзреНрдпреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ GECOS рд╕реНрдЯреНрд░рд┐рдВрдЧрдордзреАрд▓ рдХреЛрдгрддреЗрд╣реА рд╢рдмреНрдж рдЖрд╣реЗрдд рдХрд╛ рддреЗ рддрдкрд╛рд╕рддреЗ. (рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдорд╛рд╣рд┐рддреА, рдЙрджрд╛. рдЦрд░реЗ рдирд╛рд╡, рд╕реНрдерд╛рди рдЗ.) рдбреАрдлреЙрд▓реНрдЯ 0 (рдмрдВрдж) рдЖрд╣реЗ.
- dictpath - рдЪрд▓рд╛ рдХреНрд░реЕрдХрд▓рд┐рдм рдбрд┐рдХреНрд╢рдирд░реА рд╡рд░ рдЬрд╛рдК.
- рд╡рд╛рдИрдЯ рд╢рдмреНрдж - рд╕реНрдкреЗрд╕-рд╡рд┐рднрдХреНрдд рд╢рдмреНрдж рдЬреЗ рдкрд╛рд╕рд╡рд░реНрдбрдордзреНрдпреЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдЖрд╣реЗрдд (рдХрдВрдкрдиреАрдЪреЗ рдирд╛рд╡, рд╢рдмреНрдж "рдкрд╛рд╕рд╡рд░реНрдб" рдЗ.).
рдЬрд░ рдХрд░реНрдЬрд╛рдЪреА рд╕рдВрдХрд▓реНрдкрдирд╛ рд╡рд┐рдЪрд┐рддреНрд░ рд╡рд╛рдЯрдд рдЕрд╕реЗрд▓ рддрд░ рддреЗ рдареАрдХ рдЖрд╣реЗ, рддреЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ. рдЖрдореНрд╣реА рдкреБрдвреАрд▓ рд╡рд┐рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдмреЛрд▓реВ.
рдкрд╛рд╕рд╡рд░реНрдб рдкреЙрд▓рд┐рд╕реА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди
рддреБрдореНрд╣реА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реНрд╕ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рдореВрд▓рднреВрдд рдкрд╛рд╕рд╡рд░реНрдб рдзреЛрд░рдг рдЕрдЧреЛрджрд░рдЪ рд▓рд┐рд╣реВрди рдареЗрд╡рдгреЗ рд╣рд╛ рдПрдХ рдЪрд╛рдВрдЧрд▓рд╛ рд╕рд░рд╛рд╡ рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдЕрдбрдЪрдг рдирд┐рдпрдо рд╡рд╛рдкрд░реВ:
- рдкрд╛рд╕рд╡рд░реНрдбрдордзреНрдпреЗ рдХрд┐рдорд╛рди 15 рд╡рд░реНрдг рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
- рдкрд╛рд╕рд╡рд░реНрдбрдордзреНтАНрдпреЗ рд╕рдорд╛рди рд╡рд░реНрдг рджреЛрдирдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡реЗрд│рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░реВ рдирдпреЗ.
- рдЕрдХреНрд╖рд░ рд╡рд░реНрдЧ рдПрдХрд╛ рдкрд╛рд╕рд╡рд░реНрдбрдордзреНрдпреЗ рдЪрд╛рд░ рд╡реЗрд│рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рд╣реЛрдК рд╢рдХрддрд╛рдд.
- рдкрд╛рд╕рд╡рд░реНрдбрдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧрд╛рддреАрд▓ рд╡рд░реНрдг рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
- рдЬреБрдиреНрдпрд╛ рдкрд╛рд╕рд╡рд░реНрдбрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдирд╡реАрди рдкрд╛рд╕рд╡рд░реНрдбрдордзреНрдпреЗ 5 рдирд╡реАрди рд╡рд░реНрдг рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
- GECOS рдЪреЗрдХ рд╕рдХреНрд╖рдо рдХрд░рд╛.
- "рдкрд╛рд╕рд╡рд░реНрдб, рдкрд╛рд╕, рд╢рдмреНрдж, рдкреБрдЯреЛрд░рд┐рдпрд╕" рдпрд╛ рд╢рдмреНрджрд╛рдВрдирд╛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рд╛
рдЖрддрд╛ рдЖрдореНрд╣реА рдзреЛрд░рдг рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЖрдореНрд╣реА рдлрд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реВ рд╢рдХрддреЛ /etc/security/pwquality.conf
рдкрд╛рд╕рд╡рд░реНрдб рдЬрдЯрд┐рд▓рддрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА. рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрд╕рд╣ рдЦрд╛рд▓реА рдПрдХ рдЙрджрд╛рд╣рд░рдг рдлрд╛рдЗрд▓ рдЖрд╣реЗ.
# Make sure 5 characters in new password are new compared to old password
difok = 5
# Set the minimum length acceptable for new passwords
minlen = 15
# Require at least 2 digits
dcredit = -2
# Require at least 2 upper case letters
ucredit = -2
# Require at least 2 lower case letters
lcredit = -2
# Require at least 2 special characters (non-alphanumeric)
ocredit = -2
# Require a character from every class (upper, lower, digit, other)
minclass = 4
# Only allow each character to be repeated twice, avoid things like LLL
maxrepeat = 2
# Only allow a class to be repeated 4 times
maxclassrepeat = 4
# Check user information (Real name, etc) to ensure it is not used in password
gecoscheck = 1
# Leave default dictionary path
dictpath =
# Forbid the following words in passwords
badwords = password pass word putorius
рддреБрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реЗ рдЕрд╕реЗрд▓ рдХреА, рдЖрдордЪреНрдпрд╛ рдлрд╛рдЗрд▓рдордзреАрд▓ рдХрд╛рд╣реА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреЕрд░рд╛рдореАрдЯрд░ minclass
рдирд┐рд░рд░реНрдердХ рдЖрд╣реЗ рдХрд╛рд░рдг рдЖрдореНрд╣реА рдлреАрд▓реНрдб рд╡рд╛рдкрд░реВрди рд╡рд░реНрдЧрд╛рддреАрд▓ рдХрд┐рдорд╛рди рджреЛрди рд╡рд░реНрдг рдЖрдзреАрдЪ рд╡рд╛рдкрд░рддреЛ [u,l,d,o]credit
. рдЖрдордЪреА рд╡рд╛рдкрд░рддрд╛ рдпреЗрдгрд╛рд░ рдирд╛рд╣реА рдЕрд╢рд╛ рд╢рдмреНрджрд╛рдВрдЪреА рдпрд╛рджреА рджреЗрдЦреАрд▓ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдХрд╛рд░рдг рдЖрдореНрд╣реА рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд░реНрдЧрд╛рдЪреА 4 рд╡реЗрд│рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рдгреНрдпрд╛рд╕ рдордирд╛рдИ рдХреЗрд▓реА рдЖрд╣реЗ (рдЖрдордЪреНрдпрд╛ рдпрд╛рджреАрддреАрд▓ рд╕рд░реНрд╡ рд╢рдмреНрдж рд▓реЛрдЕрд░рдХреЗрд╕ рд╡рд░реНрдгрд╛рдВрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗрдд). рддреБрдордЪреЗ рдкрд╛рд╕рд╡рд░реНрдб рдзреЛрд░рдг рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреЗ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рд╣реЗ рджрд╛рдЦрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдореА рд╣реЗ рдкрд░реНрдпрд╛рдп рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗрдд.
рдПрдХрджрд╛ рддреБрдореНрд╣реА рддреБрдордЪреА рдкреЙрд▓рд┐рд╕реА рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рддреБрдореНрд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдкреБрдвреАрд▓ рд╡реЗрд│реА рд▓реЙрдЧ рдЗрди рдХреЗрд▓реНрдпрд╛рд╡рд░ рддреНрдпрд╛рдВрдЪреЗ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рдгреНрдпрд╛рд╕ рднрд╛рдЧ рдкрд╛рдбреВ рд╢рдХрддрд╛.
рдЖрдгрдЦреА рдПрдХ рд╡рд┐рдЪрд┐рддреНрд░ рдЧреЛрд╖реНрдЯ рддреБрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реА рдЕрд╕реЗрд▓ рддреА рдореНрд╣рдгрдЬреЗ рдлреАрд▓реНрдб [u,l,d,o]credit
рдПрдХ рдЛрдг рд╕рдВрдЦреНрдпрд╛ рдЖрд╣реЗ. рдпрд╛рдЪреЗ рдХрд╛рд░рдг рдЕрд╕реЗ рдХреА 0 рдкреЗрдХреНрд╖рд╛ рдореЛрдареЗ рдХрд┐рдВрд╡рд╛ рдмрд░реЛрдмрд░реАрдЪреЗ рдЖрдХрдбреЗ рддреБрдордЪреНрдпрд╛ рдкрд╛рд╕рд╡рд░реНрдбрдордзреАрд▓ рд╡рд░реНрдг рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреЗ рд╢реНрд░реЗрдп рджреЗрддрд╛рдд. рдлреАрд▓реНрдбрдордзреНрдпреЗ рдЛрдг рд╕рдВрдЦреНрдпрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, рдпрд╛рдЪрд╛ рдЕрд░реНрде рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдорд╛рдг рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдХрд░реНрдЬреЗ рдореНрд╣рдгрдЬреЗ рдХрд╛рдп?
рдореА рддреНрдпрд╛рдВрдирд╛ рдХрд░реНрдЬ рдореНрд╣рдгрддреЛ рдХрд╛рд░рдг рддреЗ рддреНрдпрд╛рдВрдЪрд╛ рдЙрджреНрджреЗрд╢ рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рдЕрдЪреВрдХрдкрдгреЗ рд╡реНрдпрдХреНрдд рдХрд░рддреЗ. рдкреЕрд░рд╛рдореАрдЯрд░ рдореВрд▓реНрдп 0 рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рдкрд╛рд╕рд╡рд░реНрдбрдЪреНрдпрд╛ рд▓рд╛рдВрдмреАрдордзреНрдпреЗ "x" рдЪреНрдпрд╛ рд╕рдорд╛рди "рдХреЕрд░реЗрдХреНрдЯрд░ рдХреНрд░реЗрдбрд┐рдЯреНрд╕" рдЬреЛрдбрддрд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рд╕рд░реНрд╡ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ (u,l,d,o)credit
1 рд╡рд░ рд╕реЗрдЯ рдХрд░рд╛ рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХ рдкрд╛рд╕рд╡рд░реНрдбрдЪреА рд▓рд╛рдВрдмреА 6 рд╣реЛрддреА, рдирдВрддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд▓рд╛рдВрдмреАрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА 6 рд╡рд░реНрдгрд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓ рдХрд╛рд░рдг рдкреНрд░рддреНрдпреЗрдХ рдЕрдкреНрдкрд░рдХреЗрд╕, рд▓реЛрдЕрд░рдХреЗрд╕, рдЕрдВрдХ рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рд╡рд░реНрдг рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХ рдХреНрд░реЗрдбрд┐рдЯ рджреЗрдИрд▓.
рдЖрдкрдг рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реНрдпрд╛рд╕ dcredit
2 рд╡рд░, рддреБрдореНрд╣реА рд╕реИрджреНрдзрд╛рдВрддрд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ 9 рд╡рд░реНрдг рд▓рд╛рдВрдмреАрдЪрд╛ рдкрд╛рд╕рд╡рд░реНрдб рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рд╕рдВрдЦреНрдпрд╛рдВрд╕рд╛рдареА 2 рд╡рд░реНрдг рдХреНрд░реЗрдбрд┐рдЯреНрд╕ рдорд┐рд│рд╡реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдирдВрддрд░ рдкрд╛рд╕рд╡рд░реНрдбрдЪреА рд▓рд╛рдВрдмреА рдЖрдзреАрдЪ 10 рдЕрд╕реВ рд╢рдХрддреЗ.
рд╣реЗ рдЙрджрд╛рд╣рд░рдг рдкрд╣рд╛. рдореА рдкрд╛рд╕рд╡рд░реНрдбрдЪреА рд▓рд╛рдВрдмреА 13 рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реА рдЖрд╣реЗ, dcredit 2 рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рдмрд╛рдХреА рд╕рд░реНрд╡ рдХрд╛рд╣реА 0 рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ.
$ pwscore
Thisistwelve
Password quality check failed:
The password is shorter than 13 characters
$ pwscore
Th1sistwelve
18
рдорд╛рдЭрд╛ рдкрд╣рд┐рд▓рд╛ рдЪреЗрдХ рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓рд╛ рдХрд╛рд░рдг рдкрд╛рд╕рд╡рд░реНрдб 13 рд╡рд░реНрдгрд╛рдВрдкреЗрдХреНрд╖рд╛ рдХрдореА рд╣реЛрддрд╛. рдкреБрдврдЪреНрдпрд╛ рд╡реЗрд│реА рдореА "I" рд╣реЗ рдЕрдХреНрд╖рд░ "1" рдордзреНрдпреЗ рдмрджрд▓рд▓реЗ рдЖрдгрд┐ рдирдВрдмрд░рд╕рд╛рдареА рджреЛрди рдХреНрд░реЗрдбрд┐рдЯ рдорд┐рд│рд╛рд▓реЗ, рдЬреНрдпрд╛рдиреЗ рдкрд╛рд╕рд╡рд░реНрдб 13 рдЪреНрдпрд╛ рд╕рдорд╛рди рдХреЗрд▓рд╛.
рдкрд╛рд╕рд╡рд░реНрдб рдЪрд╛рдЪрдгреА
рдкреЕрдХреЗрдЬ libpwquality
рд▓реЗрдЦрд╛рдд рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рддреЛ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рджреЗрдЦреАрд▓ рдпреЗрддреЛ pwscore
, рдЬреА рдкрд╛рд╕рд╡рд░реНрдбрдЪреА рдЬрдЯрд┐рд▓рддрд╛ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реА рдЖрд╣реЗ. рдЖрдореНрд╣реА рддреЗ рдХрд░реНрдЬ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд░ рд╡рд╛рдкрд░рд▓реЗ.
рдЙрдкрдпреБрдХреНрддрддрд╛ pwscore
рдкрд╛рд╕реВрди рд╡рд╛рдЪрддреЛ
рдкрд╛рд╕рд╡рд░реНрдб рдЧреБрдгрд╡рддреНрддрд╛ рд╕реНрдХреЛрдЕрд░ рдкреЕрд░рд╛рдореАрдЯрд░рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ minlen
рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдордзреНрдпреЗ. рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, релреж рдкреЗрдХреНрд╖рд╛ рдХрдореА рд╕реНрдХреЛрдЕрд░ рд╣рд╛ "рд╕рд╛рдорд╛рдиреНрдп рдкрд╛рд╕рд╡рд░реНрдб" рдорд╛рдирд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╕реНрдХреЛрдЕрд░ рд╣рд╛ "рд╕реНрдЯреНрд░рд╛рдБрдЧ рдкрд╛рд╕рд╡рд░реНрдб" рдорд╛рдирд▓рд╛ рдЬрд╛рддреЛ. рдЧреБрдгрд╡рддреНрддрд╛ рддрдкрд╛рд╕рдгреА рдЙрддреНрддреАрд░реНрдг рдХрд░рдгрд╛рд░рд╛ рдХреЛрдгрддрд╛рд╣реА рдкрд╛рд╕рд╡рд░реНрдб (рд╡рд┐рд╢реЗрд╖рдд: рд╕рдХреНрддреАрдЪреА рдкрдбрддрд╛рд│рдгреА cracklib
) рдиреЗ рдбрд┐рдХреНрд╢рдирд░реА рд╣рд▓реНрд▓реНрдпрд╛рдВрдЪрд╛ рд╕рд╛рдордирд╛ рдХреЗрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ рдЖрдгрд┐ рд╕реЗрдЯрд┐рдВрдЧрд╕рд╣ 50 рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╕реНрдХреЛрдЕрд░ рдЕрд╕рд▓реЗрд▓рд╛ рдкрд╛рд╕рд╡рд░реНрдб minlen
рдЕрдЧрджреА рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ brute force
рд╣рд▓реНрд▓реЗ
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕рдорд╛рдпреЛрдЬрди pwquality
- рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЧреИрд░рд╕реЛрдпреАрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рддреЗ рд╕реЛрдкреЗ рдЖрдгрд┐ рд╕реЛрдкреЗ рдЖрд╣реЗ cracklib
рдереЗрдЯ рдлрд╛рдЗрд▓ рд╕рдВрдкрд╛рджрдирд╛рд╕рд╣ pam
. рдпрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХрд╛рдордзреНрдпреЗ, рдЖрдореНрд╣реА Red Hat 7, CentOS 7 рдЖрдгрд┐ рдЕрдЧрджреА Ubuntu рд╕рд┐рд╕реНрдЯреАрдорд╡рд░ рдкрд╛рд╕рд╡рд░реНрдб рдзреЛрд░рдгреЗ рд╕реЗрдЯ рдХрд░рддрд╛рдирд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдЧреЛрд╖реНрдЯреАрдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдХреЗрд▓рд╛ рдЖрд╣реЗ. рдЖрдореНрд╣реА рдХрд░реНрдЬрд╛рдЪреНрдпрд╛ рд╕рдВрдХрд▓реНрдкрдиреЗрдмрджреНрджрд▓ рджреЗрдЦреАрд▓ рдмреЛрд▓рд▓реЛ, рдЬреНрдпрд╛рдмрджреНрджрд▓ рдХреНрд╡рдЪрд┐рддрдЪ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рд╣рд╛ рд╡рд┐рд╖рдп рдЬреНрдпрд╛рдВрдирд╛ рдпрд╛рдкреВрд░реНрд╡реА рдЖрд▓рд╛ рдирд╡реНрд╣рддрд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рд╣рд╛ рд╡рд┐рд╖рдп рдЕрдиреЗрдХрджрд╛ рдЕрд╕реНрдкрд╖реНрдЯ рд░рд╛рд╣рд┐рд▓рд╛.
рд╕реНрддреНрд░реЛрдд:
рдЙрдкрдпреБрдХреНрдд рджреБрд╡реЗ:
рд╕реНрддреНрд░реЛрдд: www.habr.com