SSH服务安全配置

Posted by Harid2020 - Aug - 06 留个言

SSH服务的配置文件通常为/etc/ssh/sshd_config文件,下文中的配置均是指针对该配置文件的安全配置。

仅使用SSHv2协议

SSHv1存在比较多的漏洞,建议使用v2。编辑配置文件,确保如下配置存在并是生效状态:

Protocol 2

启用SSH的StrictModes

开启将检查用户是否将其目录设置为全局可写,防止用户数据泄露。

StrictModes yes

设置SSH认证方式

建议使用密钥对认证,以保护用户认证数据。需要包含:

IgnoreRhosts yes
RhostsRSAAuthentication no
PasswordAuthentication no
UsePAM yes

注意:如果UsePAM和PasswordAuthentication同时设置为no,必须通过公私钥认证的方式才能登录系统,其他方式将失败。

禁止root远程SSH连接

如果允许root直接远程登录服务器,存在攻击者通过穷举root密码获取系统root权限的风险。

PermitRootLogin no

禁止空密码登录

如果没有密码保护,则任何人都可以使用此账号登录。

PermitEmptyPasswords no

忽略用户已知主机

基于主机的认证方式,具有其他人假冒地址从而成功登录系统的风险。

IgnoreUserKnownHosts yes

设置SSH加密算法

SSH应当使用强加密算法,防止信息在传输过程中泄露。

Ciphers aes128-ctr,aes192-ctr,aes256-ctr

设置SSH散列

应当使用高强度散列算法。

MACs hmac-sha1,hmac-sha2-256,hmac-sha2-512

禁止X11转发

启用X11转发后将会在客户端进行用户身份认证,系统面临身份认证欺骗攻击风险。

X11Forwarding no

禁止SSH代理转发

开启SSH代理转发时,虽然攻击者无法从SSH代理中获取密钥,但攻击者可以利用代理中的密钥通过服务器认证。

ForwardAgent no
AllowAgentForwarding no

禁止TCP转发

通过SSH TCP转发可以为客户端到服务器或服务器到客户端提供安全的通道。这样可能会破坏防火墙的保护措施,暴露客户端或服务器的网络结构。

AllowTcpForwarding no

显示上次登录信息

PrintLastLog yes

禁用主机方式认证

HostbasedAuthentication no

禁用SSH的通道设备转发

PermitTunnel no

SSH日志配置

记录SSH日志便于事后审计,管理员可以评审这些日志,确定可能存在的安全风险。

SyslogFacility AUTH
LogLevel INFO

设置SSH连接心跳响应时间

这种消息可以检测到死连接、连接不当关闭、客户端崩溃等异常。

TCPKeepAlive yes
ClientAliveInterval 300
ClientAliveCountMax 0

设置最大并行未认证连接数

MaxStartups 5

开启子进程权限分离

防止通过有缺陷的子进程提升权限,从而使系统更加安全。

UsePrivilegeSeparation yes

禁用端口转发

GatewayPorts no

禁用SSH环境变量配置文件

PermitUserEnvironment no

设置单次连接最大认证次数

MaxAuthTries 4

设置SSH监听地址

ListenAddress <服务器IP>

设置登录认证时间

LoginGraceTime 60

设置HostKey

HostKey用作服务端指纹,在SSH通信前期进行密钥协商时会使用HostKey进行签名。

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key

关闭SSH的GSSAPI认证

服务器端启用了GSSAPI认证,登录的时候客户端需要对服务器端的IP地址进行反解析,如果服务器的IP地址没有配置PTR记录,那么就容易在这里卡住。可能造成通过SSH登录服务器时会有时很慢。

GSSAPIAuthentication no

其他显式配置

Port
KeyRegenerationInterval
RSAAuthentication
PubkeyAuthentication
AuthorizedKeysFile
X11DisplayOffset
X11UseLocalhost
Banner
UseLogin

   声明:本文采用 BY-NC-SA 协议进行授权 | 星期九
   原创文章转载请注明:转自《SSH服务安全配置

No comments yet.
4 + 1 =  
comment_ad
  

 NOTICE1: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!