mirror of
https://github.com/GrapheneOS/infrastructure.git
synced 2024-12-22 13:45:02 -05:00
cd59960e7b
We use synproxy for establishing all new connections to the SSH port and enforce a connection limit between synproxy and the standard network stack. Once the connection limit is reached, it's also enforced for new connections at the synproxy layer. This avoids creating conntrack and connection limit set entries until connections are already established to avoid packets with spoofed source addresses exhausting these limited size tables. Primary servers using SSH to mirror TLS certificates to their replicas are allowlisted.
125 lines
3.2 KiB
Plaintext
125 lines
3.2 KiB
Plaintext
# Include drop-in configurations
|
|
Include /etc/ssh/sshd_config.d/*.conf
|
|
|
|
# This is the sshd server system-wide configuration file. See
|
|
# sshd_config(5) for more information.
|
|
|
|
# This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/bin
|
|
|
|
# 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.
|
|
|
|
#Port 22
|
|
#AddressFamily any
|
|
#ListenAddress 0.0.0.0
|
|
#ListenAddress ::
|
|
|
|
IPQoS af21 af11
|
|
|
|
HostKey /etc/ssh/ssh_host_ed25519_key
|
|
HostKeyAlgorithms ssh-ed25519
|
|
KexAlgorithms sntrup761x25519-sha512@openssh.com
|
|
PubkeyAcceptedKeyTypes ssh-ed25519
|
|
Ciphers aes256-gcm@openssh.com
|
|
MACs -*
|
|
|
|
# Ciphers and keying
|
|
#RekeyLimit default none
|
|
|
|
# Logging
|
|
#SyslogFacility AUTH
|
|
#LogLevel INFO
|
|
|
|
# Authentication:
|
|
|
|
LoginGraceTime 15s
|
|
#PermitRootLogin prohibit-password
|
|
#StrictModes yes
|
|
MaxAuthTries 1
|
|
#MaxSessions 10
|
|
|
|
AllowUsers {{ssh_users}}
|
|
|
|
#PubkeyAuthentication yes
|
|
|
|
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
|
|
# but this is overridden so installations will only check .ssh/authorized_keys
|
|
AuthorizedKeysFile .ssh/authorized_keys
|
|
|
|
#AuthorizedPrincipalsFile none
|
|
|
|
#AuthorizedKeysCommand none
|
|
#AuthorizedKeysCommandUser nobody
|
|
|
|
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
|
|
#HostbasedAuthentication no
|
|
# Change to yes if you don't trust ~/.ssh/known_hosts for
|
|
# HostbasedAuthentication
|
|
#IgnoreUserKnownHosts no
|
|
# Don't read the user's ~/.rhosts and ~/.shosts files
|
|
#IgnoreRhosts yes
|
|
|
|
# To disable tunneled clear text passwords, change to no here!
|
|
PasswordAuthentication no
|
|
#PermitEmptyPasswords no
|
|
|
|
# Change to no to disable s/key passwords
|
|
KbdInteractiveAuthentication no
|
|
|
|
# Kerberos options
|
|
#KerberosAuthentication no
|
|
#KerberosOrLocalPasswd yes
|
|
#KerberosTicketCleanup yes
|
|
#KerberosGetAFSToken no
|
|
|
|
# GSSAPI options
|
|
#GSSAPIAuthentication no
|
|
#GSSAPICleanupCredentials 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 KbdInteractiveAuthentication and
|
|
# PasswordAuthentication. Depending on your PAM configuration,
|
|
# PAM authentication via KbdInteractiveAuthentication may bypass
|
|
# the setting of "PermitRootLogin prohibit-password".
|
|
# If you just want the PAM account and session checks to run without
|
|
# PAM authentication, then enable this but set PasswordAuthentication
|
|
# and KbdInteractiveAuthentication to 'no'.
|
|
UsePAM yes
|
|
|
|
AllowAgentForwarding no
|
|
#AllowTcpForwarding yes
|
|
#GatewayPorts no
|
|
#X11Forwarding no
|
|
#X11DisplayOffset 10
|
|
#X11UseLocalhost yes
|
|
#PermitTTY yes
|
|
PrintMotd no
|
|
#PrintLastLog yes
|
|
TCPKeepAlive no
|
|
#PermitUserEnvironment no
|
|
#Compression delayed
|
|
ClientAliveInterval 60
|
|
ClientAliveCountMax 10
|
|
#UseDNS no
|
|
#PidFile /run/sshd.pid
|
|
MaxStartups 4096
|
|
#PermitTunnel no
|
|
#ChrootDirectory none
|
|
#VersionAddendum none
|
|
|
|
# no default banner path
|
|
#Banner none
|
|
|
|
# override default of no subsystems
|
|
Subsystem sftp /usr/lib/ssh/sftp-server
|
|
|
|
# Example of overriding settings on a per-user basis
|
|
#Match User anoncvs
|
|
# X11Forwarding no
|
|
# AllowTcpForwarding no
|
|
# PermitTTY no
|
|
# ForceCommand cvs server
|