Skip to content

Instantly share code, notes, and snippets.

@inetbiz
Last active August 8, 2019 21:37
Show Gist options
  • Save inetbiz/3e01a80845a5c25672f5 to your computer and use it in GitHub Desktop.
Save inetbiz/3e01a80845a5c25672f5 to your computer and use it in GitHub Desktop.
Secure Shell Daemon Enhanced Configuration
This computer system is for authorized users only. Individuals using this
system without authority or in excess of their authority are subject to
having all their activities on this system monitored and recorded or
examined by any authorized person, including law enforcement, as system
personnel deem appropriate. In the course of monitoring individuals
improperly using the system or in the course of system maintenance, the
activities of authorized users may also be monitored and recorded. Any
material so recorded may be disclosed as appropriate. Anyone using this
system consents to these terms.
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/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 change a
# default value.
Port xxxx
Protocol 2
#ListenAddress 0.0.0.0
#ListenAddress ::
DenyUsers test admin guest nobody
# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 768
# Logging
#obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
LogLevel INFO
# Authentication:
LoginGraceTime 1m
PermitRootLogin yes
MaxAuthTries 4
#RSAAuthentication yes
#PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and 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 yes
PermitEmptyPasswords no
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication yes
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#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 ChallengeResponseAuthentication mechanism.
# Depending on your PAM configuration, this 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
# ChallengeResponseAuthentication=no
#UsePAM no
UsePAM yes
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
PrintMotd yes
PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
UsePrivilegeSeparation yes
#PermitUserEnvironment no
Compression yes
ClientAliveInterval 120
ClientAliveCountMax 3
UseDNS no
PidFile /var/run/sshd.pid
#MaxStartups 10
ShowPatchLevel no
# no default banner path
Banner /etc/issue.net
# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server
# root specific authentication
Match User root
PasswordAuthentication no
@inetbiz
Copy link
Author

inetbiz commented Dec 27, 2014

You should use an SSH Key generator and create a root login shell key. It should be unique for every systems administrator. You could also create a sudo list and deny root login, entirely.

@inetbiz
Copy link
Author

inetbiz commented Dec 27, 2014

Line 102 is important for PCI compliance.

@inetbiz
Copy link
Author

inetbiz commented Dec 27, 2014

line 11 Port assignment should be set to an alternate port other than 22 and a TCP in/out rule setup in your firewall.

@inetbiz
Copy link
Author

inetbiz commented Dec 27, 2014

The contents of issue.net as your legal notification using the banner system for linux.

@inetbiz
Copy link
Author

inetbiz commented Dec 27, 2014

Line 110 Deny root login with password forces root to use a shell key.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment