Bug 52134

Summary: Предлагаю в репо crackcheck
Product: New/proposed packages Reporter: Anton Shevtsov <shevtsov.anton>
Component: Обычный репозиторийAssignee: Andrey Cherepanov <cas>
Status: NEW --- QA Contact: Andrey Cherepanov <cas>
Severity: normal    
Priority: P5 CC: sin, viy
Version: не указана   
Hardware: x86_64   
OS: Linux   

Description Anton Shevtsov 2024-11-21 17:55:14 MSK
В апстримном коде самбы есть прекрасная утилита crackcheck - https://github.com/samba-team/samba/tree/master/examples/auth/crackcheck

У нас она не собирается ни в каком виде, а если бы была, то ее можно повесить как "первая линия" проверки сложности пароля либо наличия его в стоплисте (это важно! заказчики прямо просят наличие функционала проверки по стоплисту паролей)

В smb.conf это делается путем использования check password script

check password script = /usr/local/sbin/crackcheck -c -d /usr/lib/cracklib-dict

Я проверил - отличная вещь, нам надо такое. Хотя бы как опцию.

Предлагаю либо при сборке самбы собирать ее в отдельный пакет, либо отдельно.
Отдельно я дарю свой srpm - http://altrepo.ru/local-p10/x86_64/SRPMS.local-p10/crackcheck-f183fd3-alt1.src.rpm
Comment 1 Evgeny Sinelnikov 2024-11-21 19:13:40 MSK
Вместо оторванного от дистрибутива crackcheck у нас имеется passwdqc.

С тем же успехом можно использовать утилиту из соответствующего набора.

$ rpm -ql passwdqc-utils 
/usr/bin/pwqcheck
/usr/bin/pwqfilter
/usr/bin/pwqgen
/usr/share/man/man1/pwqcheck.1.xz
/usr/share/man/man1/pwqfilter.1.xz
/usr/share/man/man1/pwqgen.1.xz

Нужно определиться с тем, насколько оно может оказаться несовместимо и поправить эту несовместимость.

Тащить несколько одинаковых инструментов для решения одной и той же задачи не вполне разумно. А вот добавить инструментов для управления passwdqc - выглядит вполне системно.
Comment 2 Anton Shevtsov 2024-11-21 21:19:23 MSK
(Ответ для Evgeny Sinelnikov на комментарий #1)
> Вместо оторванного от дистрибутива crackcheck у нас имеется passwdqc.
> 
> С тем же успехом можно использовать утилиту из соответствующего набора.
> 
> $ rpm -ql passwdqc-utils 
> /usr/bin/pwqcheck
> /usr/bin/pwqfilter
> /usr/bin/pwqgen
> /usr/share/man/man1/pwqcheck.1.xz
> /usr/share/man/man1/pwqfilter.1.xz
> /usr/share/man/man1/pwqgen.1.xz
> 
> Нужно определиться с тем, насколько оно может оказаться несовместимо и
> поправить эту несовместимость.
> 
> Тащить несколько одинаковых инструментов для решения одной и той же задачи
> не вполне разумно. А вот добавить инструментов для управления passwdqc -
> выглядит вполне системно.

да, pwqcheck можно заставить проверять по словарю, принудительно сбросив параметры связанные с минимальной длиной разных классов. Т.е. просто проверка по списку, не используя функционал passwdqc

[anton@dell crackcheck]$ grep my-P@assW0rd_ ./10-million-password-list-top.txt
my-P@assW0rd_

[anton@dell crackcheck]$  echo my-P@assW0rd_ | pwqcheck -1 min=0,0,0,0,0  wordlist=./10-million-password-list-top.txt ; echo $?
Bad passphrase (based on a word list entry)
1

[anton@dell crackcheck]$  echo _my-P@assW0rd_ | pwqcheck -1 min=0,0,0,0,0  wordlist=./10-million-password-list-top.txt ; echo $?
OK
0