# sshd_config.d/99-hardening.conf # Консервативное ужесточение для серверов общего назначения (Debian). Protocol 2 # Разрешить только протокол SSH v2. # Authentication PermitRootLogin no # Запретить прямой вход под root. PasswordAuthentication no # Отключить вход по паролю. KbdInteractiveAuthentication no # Отключить keyboard-interactive (часто это OTP/пароль). ChallengeResponseAuthentication no # Отключить challenge-response аутентификацию. AuthenticationMethods publickey # Требовать аутентификацию по ключу. PubkeyAuthentication yes # Разрешить аутентификацию по ключу. PermitEmptyPasswords no # Запретить пустые пароли, даже если пароли где-то включены. UsePAM yes # Оставить PAM для управления аккаунтом и сессией. # Session and access controls LoginGraceTime 30 # Дать 30 секунд на аутентификацию. MaxAuthTries 3 # Ограничить число неудачных попыток на соединение. MaxSessions 2 # Ограничить число сессий в одном соединении. MaxStartups 10:30:60 # Дросселировать неаутентифицированные подключения под нагрузкой. ClientAliveInterval 300 # Отправлять keepalive каждые 5 минут. ClientAliveCountMax 2 # Рвать соединение после 2 пропущенных keepalive. TCPKeepAlive no # Отключить TCP keepalive, чтобы не зависали старые сессии. # Reduce legacy or risky features IgnoreRhosts yes # Игнорировать доверенные файлы .rhosts и .shosts. HostbasedAuthentication no # Отключить аутентификацию по хосту. PermitUserEnvironment no # Запретить пользователям задавать окружение через ~/.ssh/environment. X11Forwarding no # Отключить X11-форвардинг. AllowAgentForwarding no # Запретить форвардинг агента. AllowTcpForwarding local # Разрешить только локальный форвардинг портов (без remote/dynamic). AllowStreamLocalForwarding no # Отключить форвардинг Unix-сокетов. PermitTunnel no # Отключить форвардинг туннелей tun/tap. # Misc UseDNS no # Пропустить обратный DNS для ускорения входа. Compression no # Отключить сжатие, чтобы уменьшить поверхность атаки. PrintMotd no # Не печатать MOTD (обычно делает PAM).