- 程序优化是有上限的,比如一个网站的代码量你只会随着需求越写越多不会越写越少。
- 架构优化不一样,量变引起质变,通过增加更多的数量去提高性能和效率。
1、SSH的登录验证
SSH的登录验证方式主要包括密码认证
和密钥认证
两种。SSH,即Secure Shell,是一种广泛使用的协议,用于在不安全网络上提供安全的远程登录和其他安全网络服务。其目的在于防止信息泄露,避免中间人攻击等安全问题,广泛应用于远程服务器管理、文件传输等方面。具体介绍如下:
- 密码认证:这是最直观的一种方式,用户向远程服务器提供用户名和密码以进行认证。此方法的优点在于其简单性,但缺点也相当明显,即密码可能在网络上传输时被截获,尤其是当没有使用其他安全措施时。此外,暴力破解攻击也是密码认证面临的一个主要威胁。
- 密钥认证:相较于密码认证,密钥认证提供了更高的安全性。这种方法涉及到生成一对密钥:公钥和私钥。公钥存储在服务器上,而私钥则保存在用户的本地计算机上。当用户尝试连接远程服务器时,服务器会发出一个挑战,用户需使用私钥来回应这个挑战。由于私钥并不在网络上传输,因此这种方式能有效抵抗网络嗅探和中间人攻击。但是,如果用户的私钥丢失或泄露,那么这种认证方式的安全性就会受到威胁。
除了上述两种主要的认证方式外,还可以通过单一登录系统(SSO)、基于硬件的令牌或多因素认证等方法进行SSH的身份验证。这些方法通常用于提高安全性,但在实际应用中不如密码和密钥认证常见。
综上所述,SSH作为提供安全远程访问的重要工具,其内置的多种认证方式为不同需求的用户带来了便利和安全性。在选择认证方式时,应权衡易用性和安全性,并采取适当的保护措施来维护关键认证信息的安全。
2、SSH的登录端口设置
/etc/ssh/sshd_config
- 出于安全性都会修改默认监听端口和默认监听IP地址,默认监听端口一般修改为不常用的5位数端口,默认监听IP地址一般设置为只允许监听内网IP。
- 修改完配置后记得重启ssh服务,下次连接生效
service sshd restart
3、SSH的登录用户设置
vim /etc/ssh/sshd_config
service sshd restart
- 通过禁止远程登录root账户,采用root用户给普通用户授权的方式去管理ssh登录用户
4、SSH的登录超时设置
vim /etc/profile
export TMOUT=10000
source /etc/profile
#重新加载该配置文件
unset TMOUT
- 取消该次连接配置文件生效
5、SSH的尝试登录次数设置
vim /etc/ssh/sshd_config
service sshd restart
6、ssh尝试次数超了,服务器端怎么放行
当SSH尝试次数超过限制时,服务器端的放行方法主要包括修改PAM配置、解锁特定用户以及调整sshd_config文件的设置。
SSH尝试次数超限的问题通常发生在使用PAM(Pluggable Authentication Modules)进行登录验证时。PAM是Linux系统广泛使用的一套认证机制,通过修改相关的配置文件可以控制用户的登录尝试次数和超时时间。下面将详细讨论几种主要的方法来解决这个问题:
- 修改PAM配置:
- 在
/etc/pam.d/sshd
文件中添加或修改以下配置:
这里的auth required pam_tally2.so deny=3 unlock_time=3600 even_deny_root root_unlock_time=3600
deny=3
表示只允许3次失败尝试,unlock_time=3600
表示在锁定3600秒(1小时)后自动解锁。如果希望对root用户应用同样的限制,可以使用参数even_deny_root
和root_unlock_time
。 - 确保上述配置位于文件的顶部,这样可以确保在密码验证之前先行执行。如果配置项放置在文件底部,可能导致锁定功能失效。
- 在
- 解锁特定用户:
- 使用命令
pam_tally2 --user=Username --reset
可以立即解锁被限制的用户。例如,要解锁用户jsw_audit
,运行命令:
这将允许用户立即再次尝试登录,而无需等待解锁时间。pam_tally2 --user=jsw_audit --reset
- 使用命令
- 调整sshd_config:
- 编辑
/etc/ssh/sshd_config
文件,可以找到关于SSH登录的其他相关设置。例如,增加MaxAuthTries
的值可以从SSH层面提高允许的最大尝试次数。然而,这种做法并不推荐,因为它会降低安全性。 - 完成配置更改后,需要重启SSH服务以使新的设置生效:
service sshd restart
- 另外,可以通过设置
ClientAliveInterval
和ClientAliveCountMax
来控制连接的超时。这两个参数决定客户端与服务器之间的连接在多长时间无操作后自动断开。
- 编辑
- 利用日志文件监控:
- 查看
/var/log/secure
文件可以了解哪些用户尝试登录失败。此日志文件记录了所有的登录尝试及其结果。例如,如果一个用户因为多次失败而被锁定,你可能会看到类似于“Too many authentication failures”的消息。
- 查看
综上所述,当SSH登录尝试次数超限时,管理员可以通过修改PAM配置、解锁特定用户、调整sshd配置以及监控日志文件等方法来放行或管理用户访问。每种方法都有其适用场景,建议根据具体需求和安全策略选择适当的操作。