ΠΠ°ΠΊ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΠΈΠ»Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°: Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π° Π΅Π½ΡΡΠΎΠΏΠΈΡ, ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ ΡΡΠ΅ΡΡ ΡΠ°Π·Π±ΠΈΠ²Π°Π½Π΅ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ
Π‘ΠΈΠ»Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅Π½Π° ΠΌΡΡΠΊΠ° Π·Π° ΡΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠΎΠΉΡΠΈΠ²Π° Π΅ ΡΡ ΡΡΠ΅ΡΡ Π½Π΅ΠΎΡΠΎΡΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠ°Π·ΠΊΡΠΈΠ²Π°Π½Π΅ ΡΡΠ΅Π· brute-force Π°ΡΠ°ΠΊΠΈ, ΡΠ΅ΡΠ½ΠΈΠΊΠΎΠ²ΠΈ Π°ΡΠ°ΠΊΠΈ, credential stuffing ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎ ΠΎΡΠ³Π°ΡΠ²Π°Π½Π΅. Π’Ρ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΎΡ ΡΡΠΈ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΡΡΠΈΠ»Π²Π°ΡΠΈ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ: Π΄ΡΠ»ΠΆΠΈΠ½Π°, ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»Π½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ (Π΅Π½ΡΡΠΎΠΏΠΈΡ). ΠΠ°ΡΠΎΠ»Π°, ΠΊΠΎΡΡΠΎ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π° Π½Π°Π΄ 60 Π±ΠΈΡΠ° Π΅Π½ΡΡΠΎΠΏΠΈΡ Π½Π° Shannon ΠΈ ΡΡΠ΄ΡΡΠΆΠ° ΠΏΠΎΠ½Π΅ 16 Π·Π½Π°ΠΊΠ°, Π²Π·Π΅ΡΠΈ ΠΎΡ ΡΠΌΠ΅ΡΠ΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΡΠΈΠ»Π½Π° ΡΠΏΠΎΡΠ΅Π΄ Π½Π°ΡΡΠΎΡΡΠΈΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΈ NIST SP 800-63B.
Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠ»Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Π½Π΅ Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ»Π΅Π΄Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ ΡΠΏΠΈΡΡΠΊ β ΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°ΡΠ° Π²ΡΡΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ, Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈ Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ. Π’ΠΎΠ²Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎΠ±Ρ Π²Π°ΡΠ° ΡΠ°Π·ΠΈ Π²ΡΡΠ·ΠΊΠ° Π² ΡΠΎΡΠ½ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠΌΠΈΠ½ΠΈ, ΠΎΠ±ΡΡΠ½ΡΠ²Π° ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ ΠΏΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΎΡΠ΅Π½ΡΠ²Π°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠΈ ΠΈ Ρ ΠΎΡΡΠΈΠ½Π³ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°.
ΠΠ°ΠΊΠ²ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ²Π° ΡΠΈΠ»Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°
Π‘ΠΈΠ»Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Π΅ Π·Π°ΠΌΠ΅ΡΡΠΈΡΠ΅Π» Π½Π° ΡΠ΅Π½Π°ΡΠ° Π½Π° Π°ΡΠ°ΠΊΠ°ΡΠ° β ΠΏΠΎ-ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, Π±ΡΠΎΡΡ Π½Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π’Π°Π·ΠΈ ΡΠ΅Π½Π° ΡΠ΅ ΠΈΠ·ΡΠ°Π·ΡΠ²Π° Π² Π±ΠΈΡΠΎΠ²Π΅ Π΅Π½ΡΡΠΎΠΏΠΈΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π°ΡΠ°:
H = L Γ logβ(N)ΠΡΠ΄Π΅ΡΠΎ H Π΅ Π΅Π½ΡΡΠΎΠΏΠΈΡΡΠ° Π² Π±ΠΈΡΠΎΠ²Π΅, L Π΅ Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Π² Π·Π½Π°ΡΠΈ, Π° N Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΏΡΠ»Π° ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ (Π±ΡΠΎΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π²Π·Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄).
ΠΠΎ-Π²ΠΈΡΠΎΠΊΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° Π΅Π½ΡΡΠΎΠΏΠΈΡΡΠ° ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π΅ΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΎΡΠ³Π°ΡΠ²Π°Π½Π΅. Π Π°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ 40 Π±ΠΈΡΠ° ΠΈ 80 Π±ΠΈΡΠ° Π½Π΅ Π΅ Π΄Π²ΠΎΠΉΠ½ΠΎ ΠΏΠΎ-ΡΡΡΠ΄Π½Π° β ΡΡ Π΅ 2^40 ΠΏΡΡΠΈ ΠΏΠΎ-ΡΡΡΠ΄Π½Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ°Π²Π½ΡΠ²Π° Π½Π° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ Π΅Π΄ΠΈΠ½ ΡΡΠΈΠ»ΠΈΠΎΠ½ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ»ΡΡ ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΡΡ Ρ Π΅Π½ΡΡΠΎΠΏΠΈΡΡΠ°
| ΠΠ°Π±ΠΎΡ ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ | Π Π°Π·ΠΌΠ΅Ρ Π½Π° ΠΏΡΠ»Π° (N) | ΠΠ½ΡΡΠΎΠΏΠΈΡ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» |
|---|---|---|
| Π‘Π°ΠΌΠΎ ΠΌΠ°Π»ΠΊΠΈ Π±ΡΠΊΠ²ΠΈ (aβz) | 26 | 4.70 Π±ΠΈΡΠ° |
| ΠΠ°Π»ΠΊΠΈ + Π³Π»Π°Π²Π½ΠΈ Π±ΡΠΊΠ²ΠΈ | 52 | 5.70 Π±ΠΈΡΠ° |
| ΠΡΠΊΠ²Π΅Π½ΠΎ-ΡΠΈΡΡΠΎΠ²ΠΈ (aβz, AβZ, 0β9) | 62 | 5.95 Π±ΠΈΡΠ° |
| ΠΡΠ»Π΅Π½ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ ASCII (ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ) | 95 | 6.57 Π±ΠΈΡΠ° |
| Diceware ΠΏΠ°ΡΠΎΠ»Π° (EFF Π³ΠΎΠ»ΡΠΌ ΡΠΏΠΈΡΡΠΊ) | 7,776 Π΄ΡΠΌΠΈ | 12.92 Π±ΠΈΡΠ° Π½Π° Π΄ΡΠΌΠ° |
Π’Π°Π·ΠΈ ΡΠ°Π±Π»ΠΈΡΠ° ΠΈΠ»ΡΡΡΡΠΈΡΠ° Π·Π°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π΄ΠΎΡΠΈ Π½Π° Π΅Π΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ» ΠΊΡΠΌ ΡΠΈΡΡΠΎ Π°Π·Π±ΡΡΠ½Π° ΠΏΠ°ΡΠΎΠ»Π° Π΄Π°Π²Π° ΠΈΠ·ΠΌΠ΅ΡΠΈΠΌΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΅Π½ΡΡΠΎΠΏΠΈΡΡΠ° ΠΈ Π·Π°ΡΠΎ ΠΏΠ°ΡΠΎΠ»Π° ΠΎΡ ΡΠ΅ΡΠΈΡΠΈ Π΄ΡΠΌΠΈ ΠΏΠΎ Diceware ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°Π΄ΠΌΠΈΠ½Π΅ ΡΠ»ΠΎΠΆΠ½Π°, Π½ΠΎ ΠΊΡΠ°ΡΠΊΠ° ΠΏΠ°ΡΠΎΠ»Π°.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΡΠ°ΠΊΡΠΎΡΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΠΈ ΡΠΈΠ»Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°
ΠΡΠ»ΠΆΠΈΠ½Π° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°
ΠΡΠ»ΠΆΠΈΠ½Π°ΡΠ° Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° Π½Π°ΠΉ-Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²Π°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π²ΡΠ² ΡΠΎΡΠΌΡΠ»Π°ΡΠ° Π·Π° Π΅Π½ΡΡΠΎΠΏΠΈΡ. Π£Π΄Π²ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° ΠΏΠΎΠ²Π΄ΠΈΠ³Π° Π½Π° ΠΊΠ²Π°Π΄ΡΠ°Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π·Π° ΡΡΡΡΠ΅Π½Π΅ ΠΏΡΠΈ ΡΠΈΠΊΡΠΈΡΠ°Π½ ΠΏΡΠ» ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ. Π Π°Π·Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΡΡΠ°:
- 8-Π·Π½Π°ΠΊΠΎΠ²Π° ΠΏΠ°ΡΠΎΠ»Π° Ρ ΠΏΡΠ»Π΅Π½ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ ASCII:
H = 8 Γ 6.57 = ~52.6 bits - 16-Π·Π½Π°ΠΊΠΎΠ²Π° ΠΏΠ°ΡΠΎΠ»Π° Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠΈΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ:
H = 16 Γ 6.57 = ~105 bits
ΠΡΠΈ 52.6 Π±ΠΈΡΠ°, ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ GPU-ΡΡΠΊΠΎΡΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠ°Π·Π±ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Ρ Hashcat Π²ΡΡΡ Ρ MD5 Ρ Π΅ΡΠΎΠ²Π΅, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΡΠ΅ΡΠΏΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π·Π° ΡΠ°ΡΠΎΠ²Π΅. ΠΡΠΈ 105 Π±ΠΈΡΠ°, ΡΡΡΠΈΡΡ Ρ Π°ΡΠ΄ΡΠ΅Ρ Π±ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π» Π³Π΅ΠΎΠ»ΠΎΠΆΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈ. NIST SP 800-63B ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΡ 8 Π·Π½Π°ΠΊΠ° Π·Π° ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΈΠ·Π±ΡΠ°Π½ΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, Π½ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅, ΡΡΠ·Π½Π°Π²Π°ΡΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°Π»Π°Π³Π°Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΡ 12β16 Π·Π½Π°ΠΊΠ°, Π±Π΅Π· ΠΈΠ·ΠΊΡΡΡΠ²Π΅Π½Π° Π³ΠΎΡΠ½Π° Π³ΡΠ°Π½ΠΈΡΠ°.
Π Π°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ
Π‘ΠΌΠ΅ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ ΡΠ°Π·ΡΠΈΡΡΠ²Π° N ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° Π΅Π½ΡΡΠΎΠΏΠΈΡΡΠ° Π½Π° ΡΠΈΠΌΠ²ΠΎΠ». Π‘ΠΈΠ»Π½Π°ΡΠ° ΠΏΠ°ΡΠΎΠ»Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ΄ΡΡΠΆΠ°:
- ΠΠ»Π°Π²Π½ΠΈ Π±ΡΠΊΠ²ΠΈ (AβZ)
- ΠΠ°Π»ΠΊΠΈ Π±ΡΠΊΠ²ΠΈ (aβz)
- Π¦ΠΈΡΡΠΈ (0β9)
- Π‘ΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ (
!,@,#,$,%,^,&,*, ΠΈ Π΄Ρ.)
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΊΡΠΈΡΠΈΡΠ΅Π½ Π½ΡΠ°Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°Ρ: Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ ΠΌΠΎΠ³Π°Ρ ΠΏΠ°ΡΠ°Π΄ΠΎΠΊΡΠ°Π»Π½ΠΎ Π΄Π° ΠΎΡΡΠ»Π°Π±ΡΡ ΠΏΠ°ΡΠΎΠ»ΠΈΡΠ΅. ΠΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΠ° ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ΠΈ Π΄Π° Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΈΠΌΠ²ΠΎΠ», ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΡΡ ! ΠΈΠ»ΠΈ 1 Π² ΠΊΡΠ°Ρ Π½Π° Π΄ΡΠΌΠ°. Π’ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» Π΅ Π΄ΠΎΠ±ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π½Π° ΡΠ°Π·Π±ΠΈΠ²Π°ΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΈ Π΅ ΠΊΠΎΠ΄ΠΈΡΠ°Π½ Π² Π½Π°Π±ΠΎΡΠΈΡΠ΅ ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ Hashcat. ΠΡΡΠΈΠ½ΡΠΊΠ°ΡΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ ΠΈΠ΄Π²Π° ΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΡΡΡΠ°, Π° Π½Π΅ ΠΎΡ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅.
ΠΠ΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ
Π‘ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΡΠΎ ΡΠ°Π·Π±ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ Π½Π΅ Π΅ ΡΠΈΡΡΠΎ brute-force. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ Hashcat ΠΈ John the Ripper ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π°ΡΠ°ΠΊΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΊΡΠΌ ΡΠ΅ΡΠ½ΠΈΠΊΠΎΠ²ΠΈ Π΄ΡΠΌΠΈ β ΠΈΠ·ΠΏΠΈΡΠ²Π°Π½Π΅ Ρ Π³Π»Π°Π²Π½Π° Π±ΡΠΊΠ²Π° Π½Π° ΠΏΡΡΠ²Π°ΡΠ° Π±ΡΠΊΠ²Π°, Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° a Ρ @, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ Ρ.Π½. ΠΠ°ΡΠΎΠ»Π° ΠΊΠ°ΡΠΎ P@ssw0rd!23 ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ»ΠΎΠΆΠ½Π°, Π½ΠΎ ΡΠ΅ ΡΠ°Π·Π±ΠΈΠ²Π° ΡΡΠΈΠ²ΠΈΠ°Π»Π½ΠΎ, Π·Π°ΡΠΎΡΠΎ ΡΠ»Π΅Π΄Π²Π° Π΄ΠΎΠ±ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅.
ΠΡΡΠΈΠ½ΡΠΊΠ°ΡΠ° Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ ΠΎΠ·Π½Π°ΡΠ°Π²Π°:
- ΠΠ΅Π· ΡΠ΅ΡΠ½ΠΈΠΊΠΎΠ²ΠΈ Π΄ΡΠΌΠΈ, Π΄ΠΎΡΠΈ Ρ leetspeak Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½ΠΈΡ
- ΠΠ΅Π· ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ (
qwerty,zxcvbn) - ΠΠ΅Π· Π»ΠΈΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ (ΠΈΠΌΠ΅Π½Π°, Π΄Π°ΡΠΈ Π½Π° ΡΠ°ΠΆΠ΄Π°Π½Π΅, ΠΈΠΌΠ΅Π½Π° Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΠΈ Π»ΡΠ±ΠΈΠΌΡΠΈ)
- ΠΠ΅Π· ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ ΠΈΠ»ΠΈ ΠΊΡΠ°Ρ (
!ΡΡΡΠΈΠΊΡ,1ΠΏΡΠ΅ΡΠΈΠΊΡ)
ΠΠ°ΠΉ-Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈΡΡ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ Π΅ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΡΠΈΠ³ΡΡΠ΅Π½ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΠΈ ΡΠΈΡΠ»Π° (CSPRNG), ΠΊΠΎΠΉΡΠΎ ΡΠ΅Π½ΠΎΠΌΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΎ.
Π£Π½ΠΈΠΊΠ°Π»Π½ΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΠΊΠ°ΡΠ½ΡΠΈΡΠ΅
ΠΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΡΠ΅Π²ΡΡΡΠ° Π΅Π΄Π½ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ ΠΏΡΠΎΠ±ΠΈΠ²Π°Π½Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡ. ΠΠΎΠ³Π°ΡΠΎ ΡΡΠ»ΡΠ³Π°, ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΡΠ° ΠΏΠ°ΡΠΎΠ»ΠΈ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΡΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ ΡΠ»Π°Π± MD5, Π±ΡΠ΄Π΅ ΠΏΡΠΎΠ±ΠΈΡΠ°, Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΠ΅ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΠΈΠ·ΠΏΡΠΎΠ±Π²Π°Ρ ΡΠ΅Π·ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΡΡΠ΅ΡΡ Π΄ΡΡΠ³ΠΈ ΡΠ΅Π½Π½ΠΈ ΡΠ΅Π»ΠΈ β ΡΠ΅Ρ Π½ΠΈΠΊΠ°, Π½Π°ΡΠ΅ΡΠ΅Π½Π° credential stuffing. Π£ΡΠ»ΡΠ³ΠΈ ΠΊΠ°ΡΠΎ Gmail, Π±Π°Π½ΠΊΠΎΠ²ΠΈ ΠΏΠΎΡΡΠ°Π»ΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π° Ρ ΠΎΡΡΠΈΠ½Π³ ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠ΅Π»ΠΈ.
ΠΡΠ΅ΠΊΠΈ Π°ΠΊΠ°ΡΠ½Ρ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° ΠΎΡΠ΄Π΅Π»Π½Π° ΠΏΠ°ΡΠΎΠ»Π°. Π’ΠΎΠ²Π° Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π°ΠΊΠ°ΡΠ½ΡΠ°.
ΠΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΡΠΈΠ»Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°
ΠΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° Π΅Π½ΡΡΠΎΠΏΠΈΡΡΠ°
Π€ΠΎΡΠΌΡΠ»Π°ΡΠ° Π·Π° Π΅Π½ΡΡΠΎΠΏΠΈΡ H = L Γ logβ(N) Π΅ Π½Π°ΠΉ-ΠΎΠ±Π΅ΠΊΡΠΈΠ²Π½Π°ΡΠ° ΠΌΡΡΠΊΠ°. ΠΡΠΎ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ° ΠΎΡΠ΅Π½ΠΊΠ°:
| ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΠΏΠ°ΡΠΎΠ»Π° | ΠΡΠ»ΠΆΠΈΠ½Π° | ΠΡΠ» ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ | ΠΠ½ΡΡΠΎΠΏΠΈΡ (Π±ΠΈΡΠΎΠ²Π΅) | Π£ΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ |
|---|---|---|---|---|
| `password` | 8 | 26 | ~37.6 | ΠΠ΅Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° |
| `P@ssw0rd` | 8 | 95 | ~52.6 | Π§Π°ΡΠΎΠ²Π΅ (GPU) |
| `Tr0ub4dor&3` | 11 | 95 | ~72.3 | ΠΠ΅ΡΠ΅ΡΠΈ |
| `correct-horse-battery-staple` | 28 | 26+1 | ~130+ | ΠΠ΅ΠΊΠΎΠ²Π΅ |
| ΠΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ 16 Π·Π½Π°ΠΊΠ° ΠΏΡΠ»Π΅Π½ ASCII | 16 | 95 | ~105 | ΠΡΡΡΠΎΠ½ΠΎΠΌΠΈΡΠ½Π° |
ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΅ correct-horse-battery-staple β ΠΈΠ·Π²Π΅ΡΡΠ½Π°ΡΠ° XKCD ΠΏΠ°ΡΠΎΠ»Π° β ΠΏΠΎΡΡΠΈΠ³Π° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½Π° Π΅Π½ΡΡΠΎΠΏΠΈΡ ΡΡΠ΅Π· Π΄ΡΠ»ΠΆΠΈΠ½Π°, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΠΌΠΎ ΠΌΠ°Π»ΠΊΠΈ Π±ΡΠΊΠ²ΠΈ ΠΈ ΡΠΈΡΠ΅ΡΠ°. Π’ΠΎΠ²Π° Π΅ ΡΠΈΠ»Π°ΡΠ° Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ° Π½Π°Π΄ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠ°.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·Π±ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ ΠΏΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°
ΠΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΠ΅ ΠΏΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ ΡΠ΅ΡΡΠ΅ΡΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΠ½ΠΈΠΊΠ²Π°Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π΅ΠΌΠΏΠΈΡΠΈΡΠ½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅ Π·Π° ΠΏΠ°ΡΠΎΠ»ΠΈ:
Hashcat Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΡ Π·Π° ΠΈΠ½Π΄ΡΡΡΡΠΈΡΡΠ° GPU-ΡΡΠΊΠΎΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ. Π’ΠΎΠΉ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π½Π°Π΄ 300 ΡΠΈΠΏΠ° Ρ Π΅ΡΠΎΠ²Π΅ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΠ΅ΡΠ½ΠΈΠΊΠΎΠ²ΠΈ, brute-force, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ Ρ ΠΈΠ±ΡΠΈΠ΄Π½ΠΈ Π°ΡΠ°ΠΊΠΈ. ΠΠ° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π΅Π½ RTX 4090, Hashcat ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΡΠ²Π° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 164 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° MD5 Ρ Π΅ΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π° β ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ°Π²ΠΈ Π³ΠΎΡΠ½ΠΈΡΠ΅ ΡΠΈΡΠ»Π° Π·Π° Π΅Π½ΡΡΠΎΠΏΠΈΡ ΠΎΡΠ΅Π·Π°Π΅ΠΌΠΎ ΡΠ΅Π°Π»Π½ΠΈ.
John the Ripper Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° CPU ΡΠ°Π·Π±ΠΈΠ²Π°Ρ Ρ ΠΌΠΎΡΠ½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° Π°ΡΠ°ΠΊΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ ΡΠΈΡΠΎΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΎΡΠΌΠ°ΡΠΈ Π½Π° Ρ Π΅ΡΠΎΠ²Π΅. Π’ΠΎΠΉ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΡΠΎΠΊΠΎ Π² ΡΡΠ΄Π΅Π±Π½ΠΈ ΠΈ ΠΎΠ΄ΠΈΡΠΎΡΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΈ.
zxcvbn Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΠΎΡΠ΅Π½ΠΈΡΠ΅Π» Π½Π° ΡΠΈΠ»Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Dropbox. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΠΏΡΠΎΡΡΠΈΡΠ΅ ΠΊΠ°Π»ΠΊΡΠ»Π°ΡΠΎΡΠΈ Π½Π° Π΅Π½ΡΡΠΎΠΏΠΈΡ, ΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ° ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΎΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ, ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΡΡΠ΅ΡΡ ΡΠ΅ΡΠ½ΠΈΡΠΈ, ΠΎΠ±ΡΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π½Π° Π΄Π°ΡΠΈ. Π’ΠΎΠΉ Π΅ Π½Π°ΠΉ-ΡΠΎΡΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π» Π½Π° ΡΠΈΠ»Π°ΡΠ° Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Ρ Π΅Ρ Π½Π° ΠΏΠ°ΡΠΎΠ»Π° ΠΎΡΠ»Π°ΠΉΠ½ Ρ Hashcat Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π±Π΅Π½ΡΠΌΠ°ΡΠΊ:
hashcat -b -m 0ΠΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΠ½ΠΈΠΊΠΎΠ²Π° Π°ΡΠ°ΠΊΠ° Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΡΠ΅ΡΡ ΡΠ°ΠΉΠ» Ρ MD5 Ρ Π΅ΡΠΎΠ²Π΅:
hashcat -a 0 -m 0 hashes.txt /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.ruleΠΠ½Π»Π°ΠΉΠ½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ
ΠΡΠΊΠΎΠ»ΠΊΠΎ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π±ΡΠ°ΡΠ·ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ Π±ΡΡΠ·Π° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΡΠΈΠ»Π°ΡΠ°:
- Have I Been Pwned (HIBP) Password Check β ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° SHA-1 Ρ Π΅Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° ΡΡΠ΅ΡΡ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Ρ Π½Π°Π΄ 800 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΏΡΠΎΠ±ΠΈΡΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠΎΠ΄Π΅Π» Π½Π° k-Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΡΡ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΏΡΠ»Π½Π°ΡΠ° ΠΏΠ°ΡΠΎΠ»Π° Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°.
- Bitwarden Password Strength Tester β ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° zxcvbn ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠ°ΠΊΠ° Π·Π° ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½Π° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠ°Π·Π±ΠΈΠ²Π°Π½Π΅.
- Kaspersky Password Checker β ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π°, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ.
ΠΡΠΈΡΠΈΡΠ½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠΠΈΠΊΠΎΠ³Π° Π½Π΅ Π²ΡΠ²Π΅ΠΆΠ΄Π°ΠΉΡΠ΅ ΡΠ΅Π°Π»Π½Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΠΏΠ°ΡΠΎΠ»Π° Π² ΠΊΠ°ΠΊΡΠ²ΡΠΎ ΠΈ Π΄Π° Π΅ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΡΡΡΠΊΡΡΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ, Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠΎΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° k-Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΡΡ, Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ Π²Π°ΡΠΈΡΠ΅ ΡΠ΅Π°Π»Π½ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ.
ΠΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΠΈ Π½Π° ΡΠΈΠ»Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°
ΠΠ³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΠΈ Π½Π° ΡΠΈΠ»Π°ΡΠ° Π²Π°ΡΠΈΡΠ°Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ. ΠΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΎΠΏΡΠΎΡΡΠ΅Π½ΠΈ Π΅Π²ΡΠΈΡΡΠΈΠΊΠΈ (ΠΏΡΠ°Π³ΠΎΠ²Π΅ Π·Π° Π΄ΡΠ»ΠΆΠΈΠ½Π°, Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ), ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»Π΅Π½ΠΈ. ΠΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π», ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ΅Π½ΡΠ²Π° P@ssw0rd1! ΠΊΠ°ΡΠΎ βΠ‘ΠΈΠ»Π½Π°β, Π΅ ΠΏΠΎΠ΄Π²Π΅ΠΆΠ΄Π°Ρ β ΡΠΎΠ·ΠΈ Π½ΠΈΠ· ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π° Π² Π²ΡΠ΅ΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΡΠ΅ΡΠ½ΠΈΠΊ Π½Π° ΠΏΡΠΎΠ±ΠΈΡΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ. ΠΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Ρ zxcvbn ΠΈΠ»ΠΈ Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΈ ΠΎΡΠ΅Π½ΠΈΡΠ΅Π»ΠΈ, ΠΎΡΡΠΈΡΠ°ΡΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ.
ΠΠ΅ΠΊΡΠΎΡΠΈ Π½Π° Π°ΡΠ°ΠΊΠΈ ΡΡΠ΅ΡΡ ΠΏΠ°ΡΠΎΠ»ΠΈ: Π‘ΡΠ΅ΡΡ ΠΊΠ°ΠΊΠ²ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ ΡΠ΅ Π·Π°ΡΠΈΡΠ°Π²Π°ΡΠ΅
Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Π·Π°ΠΏΠ»Π°Ρ Π°ΡΠ° ΠΈΠ·ΠΎΡΡΡΡ Π²ΡΡΠΊΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π·Π° ΠΏΠ°ΡΠΎΠ»ΠΈ.
Brute-force Π°ΡΠ°ΠΊΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠΎΠ±Π²Π°Ρ Π²ΡΡΠΊΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. Π’Π΅ ΡΠ° ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΠΈ ΡΡΠ°Π²Π°Ρ Π½Π΅ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΈ Π½Π°Π΄ ~80 Π±ΠΈΡΠ° Π΅Π½ΡΡΠΎΠΏΠΈΡ Ρ ΡΠ΅ΠΊΡΡΠΈΡ Ρ Π°ΡΠ΄ΡΠ΅Ρ.
Π Π΅ΡΠ½ΠΈΠΊΠΎΠ²ΠΈΡΠ΅ Π°ΡΠ°ΠΊΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠΏΠΈΡΡΡΠΈ Ρ Π΄ΡΠΌΠΈ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ ΠΎΡ ΡΠ΅Π°Π»Π½ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΈΠ·ΡΠ΅ΠΊΠ»ΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ±ΠΈΠ²ΠΈ. ΠΠ°Π±ΠΎΡΡΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ RockYou (14 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ) ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΡΠΈ ΠΏΠΎΠΊΡΠΈΠ²Π°Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΡΠΎ ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎ ΠΎΡ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΈΠ·Π±ΡΠ°Π½ΠΈ ΠΎΡ Ρ ΠΎΡΠ°. ΠΠΊΠΎ ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Π²ΠΈ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π° Π² Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½ Π΅Π·ΠΈΠΊ, ΡΡ Π΅ Π² ΡΠ΅ΡΠ½ΠΈΠΊ.
ΠΡΠ°ΠΊΠΈΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΊΡΠΌ ΡΠ΅ΡΠ½ΠΈΠΊΠΎΠ²ΠΈ Π΄ΡΠΌΠΈ β ΠΈΠ·ΠΏΠΈΡΠ²Π°Π½Π΅ Ρ Π³Π»Π°Π²Π½Π° Π±ΡΠΊΠ²Π°, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠΈΡΠ»Π°, Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ. Π’Π΅ ΡΠ°Π·Π±ΠΈΠ²Π°Ρ ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎΡΠΎ ΠΎΡ βΡΠ»ΠΎΠΆΠ½ΠΈβ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ°Ρ ΡΡΠ΅Π· ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΡΠΈ Π΄ΡΠΌΠΈ.
Credential stuffing ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄Π²ΠΎΠΉΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅/ΠΏΠ°ΡΠΎΠ»Π° ΠΎΡ Π΅Π΄Π½ΠΎ ΠΏΡΠΎΠ±ΠΈΠ²Π°Π½Π΅ Π·Π° Π°ΡΠ°ΠΊΠ° ΡΡΠ΅ΡΡ Π΄ΡΡΠ³ΠΈ ΡΡΠ»ΡΠ³ΠΈ. Π’ΠΎΠ²Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π° ΠΈΠ·ΡΡΠ»ΠΎ ΡΡΠ΅Π· ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΎΡΡ Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°.
ΠΡΠ°ΠΊΠΈΡΠ΅ Ρ rainbow ΡΠ°Π±Π»ΠΈΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Ρ Π΅Ρ-ΠΊΡΠΌ-ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΡΠ΅ΠΊΡΡ. Π’Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Ρ ΡΡΠ΅Π· ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Ρ Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ Ρ ΡΠ½ΠΈΠΊΠ°Π»Π½Π° ΡΠΎΠ» (bcrypt, Argon2, scrypt) ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΡΡΡΠ²ΡΡΠ° β ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π° Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ.
Π‘ΠΎΡΠΈΠ°Π»Π½ΠΎΡΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡΡΠ²ΠΎ ΠΈ ΡΠΈΡΠΈΠ½Π³ΡΡ Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΡ ΠΈΠ·ΡΡΠ»ΠΎ ΡΠΈΠ»Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°. ΠΠ½ΠΎΠ³ΠΎΡΠ°ΠΊΡΠΎΡΠ½ΠΎΡΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π΅ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π·Π°ΡΠΈΡΠ° ΡΡΠΊ.
ΠΠ°ΠΉ-Π΄ΠΎΠ±ΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠ»Π½ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ
ΠΠ΅Π½ΠΈΠ΄ΠΆΡΡΡΡ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Ρ Π½Π°ΠΉ-Π²ΠΈΡΠΎΠΊ Π΅ΡΠ΅ΠΊΡ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ Bitwarden (Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, ΠΎΠ΄ΠΈΡΠΈΡΠ°Π½), 1Password ΠΈ KeePassXC (ΠΎΡΠ»Π°ΠΉΠ½, Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅) Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΈ Π³ΠΈ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. Π’ΠΎΠ²Π° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° ΠΊΠΎΠ³Π½ΠΈΡΠΈΠ²Π½Π°ΡΠ° ΡΠ΅ΠΆΠ΅ΡΡ Π½Π° Π·Π°ΠΏΠ°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ ΠΏΡΠ°Π²ΠΈ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈΡΠ΅, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΎΡ 20+ Π·Π½Π°ΠΊΠ° ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π°ΠΊΠ°ΡΠ½Ρ.
ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° ΡΡΡΠ²ΡΡΠΈ β Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ΅Π΄ΠΈ Π·Π° VPS Π₯ΠΎΡΡΠΈΠ½Π³ ΠΈ Dedicated ΡΡΡΠ²ΡΡΠΈ β ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ ΠΊΡΠΌ Π΅ΠΊΠΈΠΏΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΠΎΠ»ΠΈ (ΠΊΠ°ΡΠΎ Bitwarden Teams ΠΈΠ»ΠΈ HashiCorp Vault) Π΅ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°.
ΠΠ΅Π½Π΅ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ Ρ CSPRNG
ΠΠΈΠΊΠΎΠ³Π° Π½Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ ΡΡΡΠ½ΠΎ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π½Π° Π²Π°ΡΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΈΠ»ΠΈ Π½Π° Linux/macOS:
# Generate a 20-character random password using /dev/urandom
LC_ALL=C tr -dc 'A-Za-z0-9!@#$%^&*()-_=+' < /dev/urandom | head -c 20; echo# Generate a Diceware-style passphrase using OpenSSL
openssl rand -base64 32ΠΠ½Π΅Π΄ΡΠ΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΊΡΠΎΡΠ½ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ (MFA)
MFA Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π΅Π½ ΡΠ»ΠΎΠΉ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π°ΠΊΠ°ΡΠ½Ρ ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ. ΠΠΎΡΠΈ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π° ΠΏΠ°ΡΠΎΠ»Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π΄ΠΎΡΡΡΠΏ Π±Π΅Π· Π²ΡΠΎΡΠΈΡ ΡΠ°ΠΊΡΠΎΡ. ΠΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ TOTP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ (Authy, Google Authenticator, Aegis) ΠΏΡΠ΅Π΄ SMS-Π±Π°Π·ΠΈΡΠ°Π½ΠΎ 2FA, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎ ΠΊΡΠΌ SIM-swapping Π°ΡΠ°ΠΊΠΈ. ΠΠ° ΡΡΠ΅Π΄ΠΈ Ρ Π½Π°ΠΉ-Π²ΠΈΡΠΎΠΊΠ° ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ (YubiKey, FIDO2), ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΡΡΠΎΠΉΡΠΈΠ²ΠΈ Π½Π° ΡΠΈΡΠΈΠ½Π³ ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½.
ΠΠ° ΡΡΡΠ²ΡΡΠΈ, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠΈ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ β Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ΅Π΄ΠΈ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΈ ΡΡΠ΅Π· VPS ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ β Π½Π°Π»Π°Π³Π°ΠΉΡΠ΅ MFA Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΠΌΠΈΡΠ»Π΅ΡΠ΅ SSH ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΊΠ°ΡΠΎ Π·Π°ΠΌΠ΅ΡΡΠΈΡΠ΅Π» Π½Π° SSH Π²Ρ ΠΎΠ΄ Ρ ΠΏΠ°ΡΠΎΠ»Π° ΠΈΠ·ΡΡΠ»ΠΎ.
ΠΠ°Π»Π°Π³Π°ΠΉΡΠ΅ ΡΠΈΠ»Π½ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° ΠΏΠ°ΡΠΎΠ»ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ Π½ΠΈΠ²ΠΎ
ΠΠ° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ Linux ΡΡΡΠ²ΡΡΠΈ, PAM (Pluggable Authentication Modules) ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π΄Π΅ΡΠ°ΠΉΠ»Π½ΠΎ Π½Π°Π»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° ΠΏΠ°ΡΠΎΠ»ΠΈ. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΉΡΠ΅ libpam-pwquality:
apt install libpam-pwqualityΠ‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΠΉΡΠ΅ /etc/security/pwquality.conf:
minlen = 16
minclass = 3
maxrepeat = 2
gecoscheck = 1
dictcheck = 1Π’ΠΎΠ²Π° Π½Π°Π»Π°Π³Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π° ΠΎΡ 16 Π·Π½Π°ΠΊΠ°, ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ ΠΎΡ ΠΏΠΎΠ½Π΅ 3 ΠΊΠ»Π°ΡΠ°, Π·Π°Π±ΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 2 ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΡΡΠ΅ΡΡ ΡΠ΅ΡΠ½ΠΈΠΊΠΎΠ²ΠΈ Π΄ΡΠΌΠΈ ΠΈ GECOS ΠΏΠΎΠ»Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ (ΠΈΠΌΠ΅).
ΠΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° ΠΎΡΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΠΉΡΠ΅ /etc/login.defs:
PASS_MAX_DAYS 90
PASS_MIN_DAYS 1
PASS_WARN_AGE 14ΠΠ°Π±Π»ΡΠ΄Π°Π²Π°ΠΉΡΠ΅ Π·Π° ΠΏΡΠΎΠ±ΠΈΠ²ΠΈ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ
ΠΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΠΉΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΠΏΡΠΎΠ±ΠΈΠ²ΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΡΠΈ ΠΏΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°. Have I Been Pwned ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π±Π΅Π·ΠΏΠ»Π°ΡΠ΅Π½ API Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΈΠΌΠ΅ΠΉΠ» Π°Π΄ΡΠ΅ΡΠΈ ΡΡΠ΅ΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΡΠΎΠ±ΠΈΠ²ΠΈ. ΠΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°, ΡΡΠ»ΡΠ³ΠΈ ΠΊΠ°ΡΠΎ SpyCloud ΠΈΠ»ΠΈ Enzoic ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π½Π° ΡΠ»ΡΠΆΠΈΡΠ΅Π» ΡΠ΅ ΠΏΠΎΡΠ²ΡΡ Π² Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΡΠΎΠ±ΠΈΠ².
Π‘ΠΈΠ³ΡΡΠ½ΠΎ Ρ Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΡΡΡΠ²ΡΡΠ°
ΠΠΊΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΡΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ β Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ Π½Π° Π‘ΠΏΠΎΠ΄Π΅Π»Π΅Π½ ΡΠ΅Π± Ρ ΠΎΡΡΠΈΠ½Π³ ΠΈΠ»ΠΈ Π² dedicated ΡΡΠ΅Π΄Π° β Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΉΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΡΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ ΡΡΡ ΡΠ»Π°Π±ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° Ρ Π΅ΡΠΈΡΠ°Π½Π΅ (MD5, SHA-1, Π½Π΅ΡΠΎΠ»Π΅Π½ SHA-256). ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° Ρ Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ:
- Argon2id β ΠΏΠΎΠ±Π΅Π΄ΠΈΡΠ΅Π» Π² Password Hashing Competition; ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°Π½ ΠΎΡ OWASP Π·Π° Π½ΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- bcrypt β ΡΠΈΡΠΎΠΊΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½, ΠΈΠ·ΠΏΠΈΡΠ°Π½ Π² Π±ΠΈΡΠΊΠΈ; ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠ°ΠΊΡΠΎΡ 12 ΠΈΠ»ΠΈ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊ
- scrypt β ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π΅Π½ ΠΏΠΎ ΠΏΠ°ΠΌΠ΅Ρ; Π΄ΠΎΠ±ΡΠ° ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ ΡΡΠ΅ΡΡ GPU-Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π°ΡΠ°ΠΊΠΈ
ΠΡΠΈΠΌΠ΅Ρ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° argon2-cffi Π½Π° Python:
from argon2 import PasswordHasher
ph = PasswordHasher(time_cost=2, memory_cost=65536, parallelism=2)
hash = ph.hash("user_supplied_password")
# Verify:
ph.verify(hash, "user_supplied_password")ΠΠ°ΡΠΎΠ»Π½ΠΈ ΡΡΠ°Π·ΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°
ΠΠ° ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½ΠΈ (Π³Π»Π°Π²Π½Π° ΠΏΠ°ΡΠΎΠ»Π° Π½Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΊΠ»ΡΡ Π·Π° ΠΏΡΠ»Π½ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅), Diceware ΠΏΠ°ΡΠΎΠ»Π° ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡ Π±Π°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π΅Π½ΡΡΠΎΠΏΠΈΡ ΠΈ Π·Π°ΠΏΠΎΠΌΠ½ΡΠ΅ΠΌΠΎΡΡ. Π₯Π²ΡΡΠ»Π΅ΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Ρ ΠΏΠ΅Ρ ΠΏΡΡΠΈ, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π²ΡΡΠΊΠ° Π΄ΡΠΌΠ° ΠΎΡ EFF Large Wordlist. ΠΠ΅Ρ Π΄ΡΠΌΠΈ Π΄Π°Π²Π°Ρ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 64.6 Π±ΠΈΡΠ° Π΅Π½ΡΡΠΎΠΏΠΈΡ; ΡΠ΅ΡΡ Π΄ΡΠΌΠΈ Π΄Π°Π²Π°Ρ 77.5 Π±ΠΈΡΠ°.
Example: "clam-unmasked-revival-stunt-dagger"
Entropy: ~64.6 bits (5 words Γ 12.92 bits)Π’ΠΎΠ²Π° Π΅ ΠΏΠΎ-ΡΠΈΠ»Π½ΠΎ ΠΎΡ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ βΡΠ»ΠΎΠΆΠ½ΠΈβ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΈΠ·Π±ΡΠ°Π½ΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ Π·Π° Π·Π°ΠΏΠΎΠΌΠ½ΡΠ½Π΅.
ΠΠ°ΡΠΈΡΠ° Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π² ΡΡΠ»Π°ΡΠ° Ρ ΠΎΡΡΠΈΠ½Π³ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°
Π‘ΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠΎΡΡΠΈΡΠ° ΠΎΡΠ²ΡΠ΄ ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ Π°ΠΊΠ°ΡΠ½ΡΠΈ Π΄ΠΎ ΡΠ΅Π»ΠΈΡ ΡΡΠ΅ΠΊ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°. ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ Ρ ΠΎΡΡΠΈΠ½Π³ ΡΡΠ΅Π΄ΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ:
- SSH Π΄ΠΎΡΡΡΠΏ: ΠΠ΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ ΠΈΠ·ΡΡΠ»ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Ρ ΠΏΠ°ΡΠΎΠ»Π°; ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Ed25519 ΠΈΠ»ΠΈ RSA-4096 Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅. Π‘ΡΡ ΡΠ°Π½ΡΠ²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠ½ΠΈΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π΅ Ρ ΡΠΈΠ»Π½Π° ΠΏΠ°ΡΠΎΠ»Π°.
- ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ: ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Π΄ΡΠ»Π³ΠΈ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. ΠΠΈΠΊΠΎΠ³Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ root Π°ΠΊΠ°ΡΠ½ΡΠΈ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π²ΡΡΠ·ΠΊΠΈ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- ΠΠΊΠ°ΡΠ½ΡΠΈ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ ΠΏΠ°Π½Π΅Π»: ΠΠ°Π»Π°Π³Π°ΠΉΡΠ΅ ΡΠΈΠ»Π½ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΈ MFA Π·Π° Π²ΡΠΈΡΠΊΠΈ Π²Ρ ΠΎΠ΄ΠΎΠ²Π΅ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡ ΠΏΠ°Π½Π΅Π». ΠΠ»Π°ΡΡΠΎΡΠΌΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΡΡΠ΅Π· VPS Ρ cPanel, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ°Ρ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΡΠΈΠ»Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Π² cPanel ΠΎΡ 65.
- ΠΠΌΠ΅ΠΉΠ» Π°ΠΊΠ°ΡΠ½ΡΠΈ: Π‘Π»Π°Π±ΠΈΡΠ΅ ΠΈΠΌΠ΅ΠΉΠ» ΠΏΠ°ΡΠΎΠ»ΠΈ ΡΠ° ΠΎΡΠ½ΠΎΠ²Π΅Π½ Π²Π΅ΠΊΡΠΎΡ Π½Π° Π°ΡΠ°ΠΊΠ° Π·Π° ΠΏΡΠ΅Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° Π°ΠΊΠ°ΡΠ½ΡΠΈ. ΠΠΊΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΠΠΌΠ΅ΠΉΠ» Ρ ΠΎΡΡΠΈΠ½Π³, Π½Π°Π»Π°Π³Π°ΠΉΡΠ΅ ΡΠΈΠ»Π½ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π·Π° ΠΏΠ°ΡΠΎΠ»ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈ ΡΡΡΠ²ΡΡ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ DMARC, DKIM ΠΈ SPF Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΠΈΠ½Π³.
- SSL/TLS ΡΠ°ΡΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅: ΠΠ°ΡΠΈΡΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠ½ΠΈΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ, Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° (
chmod 600) ΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π³ΠΈ ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΉΡΠ΅ Π² Ρ Π°ΡΠ΄ΡΠ΅ΡΠ΅Π½ ΠΌΠΎΠ΄ΡΠ» Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ (HSM) ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΡΠ°ΠΉΠ½ΠΈ.
Π‘ΠΈΠ»Π° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° ΡΡΠ΅ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° ΠΏΠ°ΡΠΎΠ»ΠΈ: Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅
| ΠΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ | ΠΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ | ΠΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° |
|---|---|---|
| ΠΠ΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»Π° | ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° CSPRNG | ΠΠ°Π»Π°Π³Π°ΠΉΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° Π΅Π½ΡΡΠΎΠΏΠΈΡ |
| Π‘ΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ | ΠΡΠΈΠΏΡΠΈΡΠ°Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ (ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ) | Argon2id/bcrypt Ρ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΡΠΎΠ»ΠΈ |
| ΠΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° | Π£Π½ΠΈΠΊΠ°Π»Π½Π° ΠΏΠ°ΡΠΎΠ»Π° Π·Π° Π²ΡΠ΅ΠΊΠΈ Π°ΠΊΠ°ΡΠ½Ρ | ΠΠ°Π»Π°Π³Π°ΠΉΡΠ΅ ΡΡΠ΅Π· PAM ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ `remember` |
| ΠΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±ΠΈΠ²ΠΈ | ΠΠ°Π±Π»ΡΠ΄Π°Π²Π°ΠΉΡΠ΅ HIBP | ΠΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΠΉΡΠ΅ API Π·Π° ΠΏΡΠΎΠ±ΠΈΠ²ΠΈ Π² ΠΏΠΎΡΠΎΠΊΠ° Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ |
| MFA | ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π°ΠΊΠ°ΡΠ½ΡΠΈ | ΠΠ°Π»Π°Π³Π°ΠΉΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΡΡΡΠ²ΡΡ |
| Π ΠΎΡΠ°ΡΠΈΡ | Π‘ΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΏΡΠΈ ΡΡΠΌΠ½Π΅Π½ΠΈΠ΅ Π·Π° ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡ | ΠΠ°Π΄Π°ΠΉΡΠ΅ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΎ ΠΎΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° (90β180 Π΄Π½ΠΈ) |
| SSH Π΄ΠΎΡΡΡΠΏ | ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ | ΠΠ΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ `PasswordAuthentication yes` Π² `sshd_config` |
ΠΠ°ΡΡΠΈΡΠ° Π·Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·Π²ΠΎΠ΄ΠΈ
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ ΡΠΏΠΈΡΡΠΊ Π·Π° ΠΎΡΠ΅Π½ΠΊΠ° ΠΈ ΡΠΊΡΠ΅ΠΏΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π²ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈΡΠ΅:
- Π¦Π΅Π»Π΅Π²Π° Π΅Π½ΡΡΠΎΠΏΠΈΡ: Π‘ΡΡΠ΅ΠΌΠ΅ΡΠ΅ ΡΠ΅ ΠΊΡΠΌ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΡ 80 Π±ΠΈΡΠ° Π·Π° ΠΎΠ±ΡΠΈ Π°ΠΊΠ°ΡΠ½ΡΠΈ; 100+ Π±ΠΈΡΠ° Π·Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ Π΄ΠΎΡΡΡΠΏ (root Π½Π° ΡΡΡΠ²ΡΡΠ°, Π³Π»Π°Π²Π½Π° ΠΏΠ°ΡΠΎΠ»Π° Π½Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅).
- ΠΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π°: ΠΠΈΠΊΠΎΠ³Π° Π½Π΅ ΠΏΡΠΈΠ΅ΠΌΠ°ΠΉΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΏΠΎ-ΠΊΡΠ°ΡΠΊΠΈ ΠΎΡ 12 Π·Π½Π°ΠΊΠ° Π² Π½ΠΈΠΊΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅; ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ 16β20 Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π°ΠΊΠ°ΡΠ½ΡΠΈ, 32+ Π·Π° ΡΠ»ΡΠΆΠ΅Π±Π½ΠΈ Π°ΠΊΠ°ΡΠ½ΡΠΈ ΠΈ API ΠΊΠ»ΡΡΠΎΠ²Π΅.
- ΠΡΠ» ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ: ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΏΡΠ»Π΅Π½ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ ASCII Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ; ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Diceware Π·Π° Π·Π°ΠΏΠΎΠΌΠ½Π΅Π½ΠΈ ΠΏΠ°ΡΠΎΠ»Π½ΠΈ ΡΡΠ°Π·ΠΈ.
- Π£Π½ΠΈΠΊΠ°Π»Π½ΠΎΡΡ: ΠΡΠ»Π΅Π²Π° ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡ ΠΊΡΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ½Π΅Π΄ΡΠ΅ΡΠ΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ, Π·Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΠΌΠΎ.
- ΠΠ»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° Ρ Π΅ΡΠΈΡΠ°Π½Π΅: Argon2id Π΅ ΡΠ΅ΠΊΡΡΠΈΡΡ Π·Π»Π°ΡΠ΅Π½ ΡΡΠ°Π½Π΄Π°ΡΡ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΡΡΡΠ²ΡΡΠ°. ΠΠΈΠ³ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΎΡ bcrypt ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ Argon2id Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ Π² ΡΡΠ΅ΠΊΠ° Π²ΠΈ.
- MFA ΡΠ»ΠΎΠΉ: TOTP ΠΌΠΈΠ½ΠΈΠΌΡΠΌ; FIDO2/WebAuthn Π·Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΈ Π°ΠΊΠ°ΡΠ½ΡΠΈ.
- Π£ΠΊΡΠ΅ΠΏΠ²Π°Π½Π΅ Π½Π° SSH: ΠΠ΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ SSH Π²Ρ
ΠΎΠ΄ Ρ ΠΏΠ°ΡΠΎΠ»Π° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ²ΡΡΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅
PasswordAuthentication noΠ²/etc/ssh/sshd_config. - ΠΠ°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π·Π° ΠΏΡΠΎΠ±ΠΈΠ²ΠΈ: ΠΠ±ΠΎΠ½ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅ Π·Π° HIBP ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΈ ΠΈΠΌΠ΅ΠΉΠ» Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ.
- Π§Π΅ΡΡΠΎΡΠ° Π½Π° ΠΎΠ΄ΠΈΡ: ΠΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΉΡΠ΅ ΠΎΠ΄ΠΈΡΠΈ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ ΡΡΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π°ΡΠ° ΡΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Ρ Ρ Π΅ΡΠΎΠ²Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Hashcat Π½Π° ΡΡΠΈΠΌΠ΅ΡΠ΅ΡΠΈΠ΅, Π·Π° Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΡΠ΅ ΡΠ»Π°Π±ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΡΠ΅Π΄ΠΈ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΠ΅.
- ΠΠ°Π»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°: ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ PAM
pwqualityΠ½Π° Linux ΡΠΈΡΡΠ΅ΠΌΠΈ; Π½Π°Π»Π°Π³Π°ΠΉΡΠ΅ Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈ Π½Π° Windows ΡΡΠ΅Π· Group Policy (Fine-Grained Password Policies).
Π§Π΅ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π½ΠΈ Π²ΡΠΏΡΠΎΡΠΈ
ΠΠ°ΠΊΠ²Π° Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π΄ΡΠ»ΠΆΠΈΠ½Π° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°, ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°Π½Π° ΠΎΡ NIST ΠΏΡΠ΅Π· 2024 Π³.?
NIST SP 800-63B Π·Π°Π΄Π°Π²Π° Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π½Π° 8 Π·Π½Π°ΠΊΠ° Π·Π° ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΈΠ·Π±ΡΠ°Π½ΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, Π½ΠΎ ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈΡΠ΅ Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΏΠ°ΡΠΎΠ»ΠΈ Ρ Π΄ΡΠ»ΠΆΠΈΠ½Π° Π΄ΠΎ ΠΏΠΎΠ½Π΅ 64 Π·Π½Π°ΠΊΠ°. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈΡΠ΅ ΠΏΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°Π»Π°Π³Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΡ 12β16 Π·Π½Π°ΠΊΠ° ΠΈ Π΄Π° Π½Π°ΡΡΡΡΠ°Π²Π°Ρ ΠΏΠ°ΡΠΎΠ»Π½ΠΈ ΡΡΠ°Π·ΠΈ ΠΎΡ 20+ Π·Π½Π°ΠΊΠ° Π·Π° ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ Π°ΠΊΠ°ΡΠ½ΡΠΈ.
ΠΠΎ-ΡΠΈΠ»Π½Π° Π»ΠΈ Π΅ 12-Π·Π½Π°ΠΊΠΎΠ²Π° ΠΏΠ°ΡΠΎΠ»Π° ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ ΠΎΡ 20-Π·Π½Π°ΠΊΠΎΠ²Π° ΠΏΠ°ΡΠΎΠ»Π° ΡΠ°ΠΌΠΎ Ρ ΠΌΠ°Π»ΠΊΠΈ Π±ΡΠΊΠ²ΠΈ?
ΠΠ΅ Π½Π΅ΠΏΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π° 20-Π·Π½Π°ΠΊΠΎΠ²Π° ΠΏΠ°ΡΠΎΠ»Π° ΡΠ°ΠΌΠΎ Ρ ΠΌΠ°Π»ΠΊΠΈ Π±ΡΠΊΠ²ΠΈ ΠΈΠΌΠ° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 94 Π±ΠΈΡΠ° Π΅Π½ΡΡΠΎΠΏΠΈΡ (20 Γ 4.70), Π΄ΠΎΠΊΠ°ΡΠΎ 12-Π·Π½Π°ΠΊΠΎΠ²Π° ΠΏΠ°ΡΠΎΠ»Π° Ρ ΠΏΡΠ»Π΅Π½ ASCII ΠΈΠΌΠ° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 78.8 Π±ΠΈΡΠ° (12 Γ 6.57). ΠΠΎ-Π΄ΡΠ»Π³Π°ΡΠ° ΠΏΠ°ΡΠΎΠ»Π° ΠΏΠ΅ΡΠ΅Π»ΠΈ ΠΏΠΎ Π΅Π½ΡΡΠΎΠΏΠΈΡ Π²ΡΠΏΡΠ΅ΠΊΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΠΏΡΠ» ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ β Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ° ΡΠ΅ Π½Π°ΡΡΡΠΏΠ²Π° ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΎΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅.
ΠΠ°ΠΊΠ²Π° Π΅ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ½ΠΈΠΊΠΎΠ²Π° Π°ΡΠ°ΠΊΠ° ΠΈ brute-force Π°ΡΠ°ΠΊΠ°?
Brute-force Π°ΡΠ°ΠΊΠ°ΡΠ° ΠΈΠ·ΠΏΡΠΎΠ±Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ Π²ΡΡΠΊΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ β ΡΡ Π΅ ΠΈΠ·ΡΠ΅ΡΠΏΠ°ΡΠ΅Π»Π½Π°, Π½ΠΎ ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π°. Π Π΅ΡΠ½ΠΈΠΊΠΎΠ²Π°ΡΠ° Π°ΡΠ°ΠΊΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΡΡΠΈΡΠ°Π½ΠΈ ΡΠΏΠΈΡΡΡΠΈ Ρ Π΄ΡΠΌΠΈ ΠΎΡ ΡΠ΅Π°Π»Π½ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΈΠ·ΡΠ΅ΠΊΠ»ΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ±ΠΈΠ²ΠΈ, ΠΎΠ±ΡΠΈ Π΄ΡΠΌΠΈ ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ. Π Π΅ΡΠ½ΠΈΠΊΠΎΠ²ΠΈΡΠ΅ Π°ΡΠ°ΠΊΠΈ ΡΠ°Π·Π±ΠΈΠ²Π°Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΡΠΎ ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎ ΠΎΡ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΈΠ·Π±ΡΠ°Π½ΠΈ ΠΎΡ Ρ ΠΎΡΠ°, Π·Π° ΡΠ΅ΠΊΡΠ½Π΄ΠΈ; brute-force Π΅ Π·Π°ΠΏΠ°Π·Π΅Π½ Π·Π° ΠΊΡΠ°ΡΠΊΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ»Π½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΠΌΠΎ.
Π’ΡΡΠ±Π²Π° Π»ΠΈ ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ Π΄Π° ΡΠΌΠ΅Π½ΡΠΌ ΠΏΠ°ΡΠΎΠ»ΠΈΡΠ΅ ΡΠΈ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ Π½ΡΠΌΠ° ΠΏΡΠΎΠ±ΠΈΠ²?
Π’Π΅ΠΊΡΡΠΈΡΠ΅ Π½Π°ΡΠΎΠΊΠΈ Π½Π° NIST (SP 800-63B) ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°Ρ ΡΡΠ΅ΡΡ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½Π° ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½Π° ΡΠΎΡΠ°ΡΠΈΡ Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈΡΠ΅ Π±Π΅Π· Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΠ²Π° Π·Π° ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½Π°ΡΠ° ΡΠΎΡΠ°ΡΠΈΡ ΠΊΠ°ΡΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄Π° ΠΏΡΠ°Π²ΡΡ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΈ, ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ (Π½Π°ΠΏΡ. Password1 ΠΊΡΠΌ Password2). Π‘ΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈΡΠ΅ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ ΠΏΡΠΎΠ±ΠΈΠ² ΠΈ ΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π½Π° ΡΠ»ΡΠΆΠ΅Π±Π½ΠΈΡΠ΅ Π°ΠΊΠ°ΡΠ½ΡΠΈ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π³ΡΠ°ΡΠΈΠΊ (90β180 Π΄Π½ΠΈ) ΠΊΠ°ΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΡΠΊΠ°.
ΠΠ°ΠΊ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡ Π΄Π°Π»ΠΈ ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° ΠΌΠΈ Π²Π΅ΡΠ΅ Π΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π° ΠΏΡΠΈ ΠΏΡΠΎΠ±ΠΈΠ² Π½Π° Π΄Π°Π½Π½ΠΈ, Π±Π΅Π· Π΄Π° Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌ Π½Π° ΡΡΡΠ²ΡΡ Π½Π° ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π°?
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Have I Been Pwned Pwned Passwords API Ρ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° k-Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΡΡ. ΠΠ°ΡΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° SHA-1 Ρ Π΅ΡΠ° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ°, ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΠ°ΠΌΠΎ ΠΏΡΡΠ²ΠΈΡΠ΅ 5 Π·Π½Π°ΠΊΠ° ΠΎΡ ΡΠΎΠ·ΠΈ Ρ Π΅Ρ ΠΊΡΠΌ API ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠΈ ΡΡΡΠΈΠΊΡΠΈ Π½Π° Ρ Π΅ΡΠΎΠ²Π΅. ΠΡΠ»Π½ΠΈΡΡ Ρ Π΅Ρ β ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° β Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ Π½Π°ΠΏΡΡΠΊΠ° Π²Π°ΡΠ°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π°. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ:
PASSWORD="YourTestPassword"
HASH=$(echo -n "$PASSWORD" | sha1sum | awk '{print toupper($1)}')
PREFIX="${HASH:0:5}"
SUFFIX="${HASH:5}"
curl -s "https://api.pwnedpasswords.com/range/$PREFIX" | grep "$SUFFIX"ΠΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π²ΡΡΠ½Π΅ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ, ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Π΅ Π²ΠΈΠ΄ΡΠ½Π° ΠΏΡΠΈ ΠΏΡΠΎΠ±ΠΈΠ² ΠΈ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°.
ΠΎΡ Π²ΡΠΈΡΠΊΠΈ Ρ
ΠΎΡΡΠΈΠ½Π³ ΡΡΠ»ΡΠ³ΠΈ