122 lines
4.5 KiB
Plaintext
122 lines
4.5 KiB
Plaintext
###########################################################################################
|
|
# Debian Bookworm VPS Hardening Setup Script V5.42.128.2024.10.30 #
|
|
###########################################################################################
|
|
# Copyright (c) 2018 - 2024, Marc Simon Weidner, Centurion Intelligence Consulting Agency #
|
|
# https://coresecret.eu/ #
|
|
# Licensed under the EUROPEAN UNION PUBLIC LICENCE v. 1.2 https://eupl.eu/1.2/en/ #
|
|
###########################################################################################
|
|
# https://keys.openpgp.org/vks/v1/by-fingerprint/A6D46A56AE17A185AB0F6DB77095A8A13CBE0FA3 #
|
|
# Fingerprint A6D4 6A56 AE17 A185 AB0F 6DB7 7095 A8A1 3CBE 0FA3 ## valid till: 01.01.2031 #
|
|
###########################################################################################
|
|
|
|
# This is the sshd server system-wide configuration file. See sshd_config(5) for more information.
|
|
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
|
|
# The strategy used for options in the default sshd_config shipped with OpenSSH is to specify options with their default value where
|
|
# possible, but leave them commented. Uncommented options override the default value.
|
|
|
|
Include /etc/ssh/sshd_config.d/*.conf
|
|
|
|
Protocol 2
|
|
ListenAddress 0.0.0.0
|
|
ListenAddress ::
|
|
Port 22
|
|
AllowUsers DUMMYSTRING
|
|
|
|
UseDNS no
|
|
|
|
Banner /etc/banner
|
|
DebianBanner no
|
|
VersionAddendum none
|
|
|
|
AddressFamily any
|
|
|
|
PermitRootLogin prohibit-password
|
|
PasswordAuthentication no
|
|
PermitEmptyPasswords no
|
|
StrictModes yes
|
|
LoginGraceTime 1m
|
|
MaxAuthTries 3
|
|
MaxSessions 2
|
|
MaxStartups 10:30:60
|
|
|
|
AuthorizedKeysFile %h/.ssh/authorized_keys
|
|
PubkeyAuthentication yes
|
|
AllowAgentForwarding no
|
|
AllowTcpForwarding no
|
|
X11Forwarding no
|
|
GatewayPorts no
|
|
|
|
HostKey /etc/ssh/ssh_host_ed25519_key
|
|
HostKey /etc/ssh/ssh_host_rsa_key
|
|
|
|
KexAlgorithms sntrup761x25519-sha512@openssh.com,curve25519-sha256@libssh.org,curve25519-sha256,diffie-hellman-group18-sha512,diffie-hellman-group16-sha512
|
|
Ciphers aes256-gcm@openssh.com
|
|
HostKeyAlgorithms rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-ed25519
|
|
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
|
|
CASignatureAlgorithms rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp384,ssh-ed25519,sk-ssh-ed25519@openssh.com
|
|
|
|
ClientAliveInterval 300
|
|
ClientAliveCountMax 2
|
|
Compression no
|
|
LogLevel VERBOSE
|
|
|
|
PidFile /var/run/sshd.pid
|
|
PrintMotd no
|
|
PrintLastLog yes
|
|
TCPKeepAlive no
|
|
# UsePrivilegeSeparation yes
|
|
|
|
# Allow client to pass locale environment variables
|
|
AcceptEnv LANG LC_*
|
|
|
|
# override default of no subsystems
|
|
Subsystem sftp /usr/lib/openssh/sftp-server
|
|
|
|
# Change to yes to enable challenge-response passwords (beware issues with some PAM modules and threads)
|
|
KbdInteractiveAuthentication no
|
|
|
|
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts!
|
|
# Change to yes if you don't trust ~/.ssh/known_hosts for HostbasedAuthentication!
|
|
HostbasedAuthentication no
|
|
|
|
# Kerberos options
|
|
# KerberosAuthentication no
|
|
# KerberosOrLocalPasswd yes
|
|
# KerberosTicketCleanup yes
|
|
# KerberosGetAFSToken no
|
|
|
|
# GSSAPI options
|
|
# GSSAPIAuthentication no
|
|
# GSSAPICleanupCredentials yes
|
|
# GSSAPIStrictAcceptorCheck yes
|
|
# GSSAPIKeyExchange no
|
|
|
|
# AuthorizedPrincipalsFile none
|
|
# AuthorizedKeysCommand none
|
|
# AuthorizedKeysCommandUser nobody
|
|
|
|
# MaxStartups 10:30:100
|
|
# PermitTunnel no
|
|
# ChrootDirectory none
|
|
# VersionAddendum none
|
|
# X11DisplayOffset 10
|
|
# X11UseLocalhost yes
|
|
# PermitTTY yes
|
|
# PermitUserEnvironment no
|
|
# IgnoreUserKnownHosts no
|
|
|
|
# Don't read the user's ~/.rhosts and ~/.shosts files
|
|
# IgnoreRhosts yes
|
|
|
|
# Set this to 'yes' to enable PAM authentication, account processing,
|
|
# and session processing. If this is enabled, PAM authentication will
|
|
# be allowed through the ChallengeResponseAuthentication and
|
|
# PasswordAuthentication. Depending on your PAM configuration,
|
|
# PAM authentication via ChallengeResponseAuthentication may bypass
|
|
# the setting of "PermitRootLogin without-password".
|
|
# If you just want the PAM account and session checks to run without
|
|
# PAM authentication, then enable this but set PasswordAuthentication
|
|
# and ChallengeResponseAuthentication to 'no'.
|
|
UsePAM yes
|
|
|
|
# Copyright (c) 2018 - 2024, Marc Weidner, Centurion Intelligence Consulting Agency |