ssh-hardening (Ansible Role)
Внимание: Эта роль была перенесена в нашу коллекцию hardening:
Пожалуйста, открывайте все вопросы и pull request там!
Требования
Переменные роли
network_ipv6_enable
- По умолчанию: false
- Описание: true, если требуется IPv6.
ssh_listen_to также должен быть установлен для прослушивания IPv6-адресов (например, [::]).
ssh_server_ports
- По умолчанию: ['22']
- Описание: порты, на которых ssh-сервер должен прослушивать соединения
ssh_client_port
- По умолчанию: '22'
- Описание: порт, к которому ssh-клиент должен подключаться
ssh_listen_to
- По умолчанию: ['0.0.0.0']
- Описание: один или несколько IP-адресов, на которых ssh-сервер должен прослушивать соединения. По умолчанию — все IPv4-адреса, но по соображениям безопасности следует настроить конкретные адреса!
ssh_host_key_files
- По умолчанию: []
- Описание: ключи хоста для sshd. Если пусто, будут использованы ['/etc/ssh/ssh_host_rsa_key', '/etc/ssh/ssh_host_ecdsa_key', '/etc/ssh/ssh_host_ed25519_key'] в зависимости от поддержки установленной версией sshd
ssh_host_key_algorithms
- По умолчанию: []
- Описание: алгоритмы ключей хоста, которые предлагает сервер. Если пусто, будет использован список по умолчанию, в противном случае переопределяет настройку указанным списком алгоритмов
ssh_client_alive_interval
- По умолчанию: 600
- Описание: задаёт интервал отправки сообщений keepalive
ssh_client_alive_count
- По умолчанию: 3
- Описание: определяет, как часто отправляются сообщения keep-alive
ssh_permit_tunnel
- По умолчанию: false
- Описание: true, если требуется туннелирование портов SSH
ssh_remote_hosts
- По умолчанию: []
- Описание: один или несколько хостов и их пользовательские параметры для ssh-клиента. По умолчанию пусто. См. примеры в
defaults/main.yml.
ssh_permit_root_login
- По умолчанию: no
- Описание: отключить вход root. Установите
without-password или yes, чтобы разрешить вход root
ssh_allow_tcp_forwarding
- По умолчанию: no
- Описание:
'no' для отключения TCP Forwarding. Установите 'yes', чтобы разрешить TCP Forwarding. Если вы используете OpenSSH >= 6.2, можно указать 'yes', 'no', 'all' или 'local'.
Примечание: значения, передаваемые этой переменной, должны быть строками, поэтому значения 'yes' и 'no' следует передавать в кавычках.
ssh_gateway_ports
- По умолчанию:
false
- Описание:
false для запрета привязки перенаправленных портов к адресам, отличным от loopback. Установите true, чтобы принудительно выполнять привязку к wildcard-адресу. Установите clientspecified, чтобы позволить клиенту указывать, к какому адресу выполнять привязку.
ssh_allow_agent_forwarding
- По умолчанию: false
- Описание: false для отключения Agent Forwarding. Установите true, чтобы разрешить Agent Forwarding.
ssh_x11_forwarding
- По умолчанию: false
- Описание: false для отключения X11 Forwarding. Установите true, чтобы разрешить X11 Forwarding.
ssh_pam_support
- По умолчанию: true
- Описание: true, если SSH поддерживает PAM.
ssh_use_pam
- По умолчанию: true
- Описание: false для отключения аутентификации через pam.
ssh_gssapi_support
- По умолчанию: false
- Описание: true, если SSH поддерживает GSSAPI.
ssh_kerberos_support
- По умолчанию: true
- Описание: true, если SSH поддерживает Kerberos.
ssh_deny_users
- По умолчанию: ''
- Описание: если указано, вход запрещён для имён пользователей, соответствующих одному из шаблонов.
ssh_allow_users
- По умолчанию: ''
- Описание: если указано, вход разрешён только для имён пользователей, соответствующих одному из шаблонов.
ssh_deny_groups
- По умолчанию: ''
- Описание: если указано, вход запрещён для пользователей, чья основная группа или список дополнительных групп соответствует одному из шаблонов.
ssh_allow_groups
- По умолчанию: ''
- Описание: если указано, вход разрешён только для пользователей, чья основная группа или список дополнительных групп соответствует одному из шаблонов.
ssh_authorized_keys_file
- По умолчанию: ''
- Описание: изменить файл по умолчанию, содержащий открытые ключи, которые можно использовать для аутентификации пользователя.
ssh_trusted_user_ca_keys_file
- По умолчанию: ''
- Описание: указывает файл, содержащий открытые ключи доверенных центров сертификации, используемые для подписи сертификатов пользователей.
ssh_trusted_user_ca_keys
- По умолчанию: []
- Описание: задаёт открытые ключи доверенных центров сертификации, используемые для подписи сертификатов пользователей. Используется только если задан
ssh_trusted_user_ca_keys_file.
ssh_authorized_principals_file
- По умолчанию: ''
- Описание: указывает файл, содержащий разрешённые принципалы. Используется только если задан
ssh_trusted_user_ca_keys_file.
ssh_authorized_principals
- По умолчанию: []
- Описание: список хэшей, содержащих пути к файлам и разрешённые принципалы, см.
default_custom.yml для всех параметров. Используется только если задан ssh_authorized_principals_file.
ssh_print_motd
- По умолчанию: false
- Описание: false для отключения вывода MOTD
ssh_print_pam_motd
- По умолчанию: false
- Описание: false для отключения вывода MOTD через pam (Debian и Ubuntu)
ssh_print_last_log
- По умолчанию: false
- Описание: false для отключения отображения информации о последнем входе
sftp_enabled
- По умолчанию: false
- Описание: true для включения конфигурации sftp
sftp_umask
- По умолчанию: '0027'
- Описание: задаёт umask для sftp
sftp_chroot
- По умолчанию: true
- Описание: false для отключения chroot для sftp
sftp_chroot_dir
- По умолчанию: /home/%u
- Описание: изменить расположение chroot sftp по умолчанию
ssh_client_roaming
- По умолчанию: false
- Описание: включить экспериментальный client roaming
sshd_moduli_file
- По умолчанию: '/etc/ssh/moduli'
- Описание: путь к файлу модулей SSH
sshd_moduli_minimum
- По умолчанию: 2048
- Описание: удалить параметры Diffie-Hellman меньше заданного размера для смягчения атаки logjam
ssh_challengeresponseauthentication
- По умолчанию: false
- Описание: указывает, разрешена ли аутентификация challenge-response (например, через PAM)
ssh_client_password_login
- По умолчанию: false
- Описание:
true для разрешения аутентификации по паролю в ssh-клиенте
ssh_server_password_login
- По умолчанию: false
- Описание:
true для разрешения аутентификации по паролю на ssh-сервере
ssh_banner
- По умолчанию:
false
- Описание:
true для вывода баннера при входе
ssh_banner_path
- По умолчанию: '/etc/sshd/banner.txt'
- Описание: путь к файлу баннера SSH
ssh_client_hardening
- По умолчанию:
true
- Описание:
false для прекращения усиления защиты клиента
ssh_client_port
- По умолчанию:
'22'
- Описание: указывает номер порта для подключения к удалённому хосту.
ssh_client_compression
- По умолчанию:
false
- Описание: указывает, запрашивает ли клиент сжатие.
ssh_compression
- По умолчанию:
false
- Описание: указывает, включено ли сжатие на стороне сервера после успешной аутентификации пользователя.
ssh_login_grace_time
- По умолчанию:
30s
- Описание: задаёт время, отведённое для успешной аутентификации на SSH-сервере
ssh_max_auth_retries
- По умолчанию:
2
- Описание: задаёт максимальное количество попыток аутентификации, разрешённых для одного соединения.
ssh_max_sessions
- По умолчанию:
10
- Описание: задаёт максимальное количество открытых сессий, разрешённых для данного соединения.
ssh_print_debian_banner
- По умолчанию:
false
- Описание:
true для вывода баннера, специфичного для Debian