|
|
#!/bin/bash
|
|
|
|
|
|
# set +e
|
|
|
set -x
|
|
|
|
|
|
echo "Тест на применимость политики DEFAULT:PAM-GOST"
|
|
|
|
|
|
source library/sh_lib.sh
|
|
|
|
|
|
check=0
|
|
|
|
|
|
# 1. Reset policy to default
|
|
|
echo "Reset policy to default"
|
|
|
/usr/bin/update-crypto-policies --set DEFAULT
|
|
|
echo "---------------------------------------"
|
|
|
|
|
|
######################################
|
|
|
echo "Test 2. Default files test"
|
|
|
|
|
|
cat /etc/crypto-policies/back-ends/opensslcnf.config | /bin/grep gost
|
|
|
check=$(not_eq_is_success ${check} 0)
|
|
|
|
|
|
# файл /etc/crypto-policies/back-ends/auth.config - симлинк на пустой файл
|
|
|
ls -l /etc/crypto-policies/back-ends/auth.config
|
|
|
filename="/etc/crypto-policies/back-ends/auth.config"
|
|
|
filesize=$(stat -Lc%s ${filename})
|
|
|
if [ $filesize -eq 0 ]; then
|
|
|
echo "File ${filename} length == 0 -- OK"
|
|
|
else
|
|
|
echo "File ${filename} length == ${filesize} -- Error, should be empty"
|
|
|
let check+=1
|
|
|
fi
|
|
|
|
|
|
# cat /etc/pam.d/password-auth | grep gost данная команда должна возвращать пустое значение и результат выполнения echo $? = 1
|
|
|
cat /etc/pam.d/password-auth | /bin/grep gost
|
|
|
check=$(not_eq_is_success ${check} 0)
|
|
|
|
|
|
# cat /etc/pam.d/system-auth | grep gost данная команда должна возвращать пустое значение и результат выполнения echo $? = 1
|
|
|
cat /etc/pam.d/system-auth | /bin/grep gost
|
|
|
check=$(not_eq_is_success ${check} 0)
|
|
|
echo "---------------------------------------"
|
|
|
|
|
|
######################################
|
|
|
echo "Test 3. Set PAM:GOST policy"
|
|
|
|
|
|
/usr/bin/update-crypto-policies --set DEFAULT:PAM-GOST
|
|
|
check=$(eq_is_success ${check} 0)
|
|
|
current_policy=$(/usr/bin/update-crypto-policies --show)
|
|
|
if [[ "$current_policy" == "DEFAULT:PAM-GOST" ]]; then
|
|
|
echo "Current policy: ${current_policy} -- OK"
|
|
|
else
|
|
|
echo "Current policy: ${current_policy} -- Error, should be DEFAULT:PAM-GOST"
|
|
|
let check+=1
|
|
|
fi
|
|
|
echo "---------------------------------------"
|
|
|
|
|
|
######################################
|
|
|
echo "Test 4. Files test after set GOST policy"
|
|
|
cat /etc/crypto-policies/back-ends/opensslcnf.config
|
|
|
cat /etc/crypto-policies/back-ends/opensslcnf.config | /bin/grep gost
|
|
|
check=$(not_eq_is_success ${check} 0)
|
|
|
|
|
|
# файл /etc/crypto-policies/back-ends/auth.config - не пустой, его содержимое
|
|
|
#
|
|
|
#custom/minimal_gost
|
|
|
#with-gost
|
|
|
filename="/etc/crypto-policies/back-ends/auth.config"
|
|
|
filesize=$(stat -c%s ${filename})
|
|
|
if [ $filesize -eq 0 ]; then
|
|
|
echo "File ${filename} length == 0 -- Error, should not be empty"
|
|
|
let check+=1
|
|
|
else
|
|
|
echo "File ${filename} length == ${filesize} -- OK"
|
|
|
cat /etc/crypto-policies/back-ends/auth.config | /bin/grep gost
|
|
|
check=$(eq_is_success ${check} 0)
|
|
|
fi
|
|
|
|
|
|
# cat /etc/pam.d/password-auth | grep gost
|
|
|
# password sufficient pam_unix.so gost_yescrypt shadow nullok use_authtok
|
|
|
# cat /etc/pam.d/password-auth
|
|
|
cat /etc/pam.d/password-auth | /bin/grep gost
|
|
|
check=$(eq_is_success ${check} 0)
|
|
|
|
|
|
# cat /etc/pam.d/system-auth | grep gost вывод не должен быть пустым, должно выводиться:
|
|
|
# # cat /etc/pam.d/system-auth | grep gost
|
|
|
# password sufficient pam_unix.so gost_yescrypt shadow nullok use_authtok
|
|
|
# cat /etc/pam.d/system-auth
|
|
|
cat /etc/pam.d/system-auth | /bin/grep gost
|
|
|
check=$(eq_is_success ${check} 0)
|
|
|
echo "---------------------------------------"
|
|
|
|
|
|
echo "Reset policy to default"
|
|
|
/usr/bin/update-crypto-policies --set DEFAULT
|
|
|
echo "---------------------------------------"
|
|
|
|
|
|
check_test_status ${check} "$0"
|
|
|
exit ${check}
|