mirror of
https://github.com/usnistgov/macos_security.git
synced 2026-03-17 14:22:11 +00:00
updated check and fix with array
This commit is contained in:
@@ -9,27 +9,39 @@ discussion: |
|
||||
|
||||
NOTE: For more information on FIPS compliance with the version of SSHD included in the macOS, the manual page apple_ssh_and_fips has additional information.
|
||||
check: |
|
||||
fips_sshd_config="Ciphers aes128-gcm@openssh.com
|
||||
HostbasedAcceptedAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com
|
||||
HostKeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com
|
||||
KexAlgorithms ecdh-sha2-nistp256
|
||||
MACs hmac-sha2-256
|
||||
PubkeyAcceptedAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com
|
||||
CASignatureAlgorithms ecdsa-sha2-nistp256"
|
||||
/usr/bin/grep -c "$fips_sshd_config" /etc/ssh/sshd_config.d/fips_sshd_config
|
||||
fips_sshd_config=("Ciphers aes128-gcm@openssh.com" "HostbasedAcceptedAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com" "HostKeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com" "KexAlgorithms ecdh-sha2-nistp256" "MACs hmac-sha2-256" "PubkeyAcceptedAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com" "CASignatureAlgorithms ecdsa-sha2-nistp256")
|
||||
total=0
|
||||
for config in $fips_sshd_config; do
|
||||
total=$(expr $(/usr/sbin/sshd -T | grep -i -c "$config") + $total)
|
||||
done
|
||||
|
||||
echo $total
|
||||
result:
|
||||
integer: 7
|
||||
fix: |
|
||||
[source,bash]
|
||||
----
|
||||
fips_sshd_config="Ciphers aes128-gcm@openssh.com
|
||||
HostbasedAcceptedAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com
|
||||
HostKeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com
|
||||
KexAlgorithms ecdh-sha2-nistp256
|
||||
MACs hmac-sha2-256
|
||||
PubkeyAcceptedAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com
|
||||
CASignatureAlgorithms ecdsa-sha2-nistp256"
|
||||
/bin/echo "${fips_sshd_config}" > /etc/ssh/sshd_config.d/fips_sshd_config
|
||||
include_dir=$(awk '/^Include/ {print $2}' /etc/ssh/sshd_config | tr -d '*')
|
||||
|
||||
if [[ -z $include_dir ]]; then
|
||||
sed -i.bk "1s/.*/Include \/etc\/ssh\/sshd_config.d\/\*/" /etc/ssh/sshd_config
|
||||
fi
|
||||
|
||||
fips_sshd_config=("Ciphers aes128-gcm@openssh.com" "HostbasedAcceptedAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com" "HostKeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com" "KexAlgorithms ecdh-sha2-nistp256" "MACs hmac-sha2-256" "PubkeyAcceptedAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com" "CASignatureAlgorithms ecdsa-sha2-nistp256")
|
||||
|
||||
for config in $fips_sshd_config; do
|
||||
echo "$config" >> "${include_dir}01-mscp-sshd.conf"
|
||||
done
|
||||
|
||||
for file in $(ls ${include_dir}); do
|
||||
if [[ "$file" == "100-macos.conf" ]]; then
|
||||
continue
|
||||
fi
|
||||
if [[ "$file" == "01-mscp-sshd.conf" ]]; then
|
||||
break
|
||||
fi
|
||||
mv ${include_dir}${file} ${include_dir}20-${file}
|
||||
done
|
||||
----
|
||||
references:
|
||||
cce:
|
||||
|
||||
Reference in New Issue
Block a user