20个Linux服务器安全强化建议(二)

简介: 接上文,继续介绍一些Linux服务器的安全配置。 #6、强密码策略。   当我们使用 useradd、usermod 命令创建或维护用户账号时,确保始终应用强密码策略。例如,一个好的密码至少包括8个字符,包含了字母、数字以及特殊字符串、大小写等。

接上文,继续介绍一些Linux服务器的安全配置。

#6、强密码策略。
 
当我们使用 useradd、usermod 命令创建或维护用户账号时,确保始终应用强密码策略。例如,一个好的密码至少包括8个字符,包含了字母、数字以及特殊字符串、大小写等。使用诸如“ John the ripper”这样的工具来查找弱口令用户,使用 pam_cracklib.so 来增强密码策略。
 
#6.1 密码生命周期。
 
chage 命令能够修改口令的修改周期,以及最近一次密码修改的日期。系统依据这些信息判断用户口令是否应该修改。在 /etc/login.defs 文件中定义了包括密码生命周期在内的一些选项。如果需要对某个用户禁用密码生命周期,如下:
 
1 # chage -M 99999 userName

获取密码过期信息,输入:

1 chage -l userName

我们也可以在 /etc/shadow 文件中定义这些字段:

{userName}:{password}:{lastpasswdchanged}:{Minimum_days}:{Maximum_days}:{Warn}:{Inactive}:{Expire}:
 
其中:Minimum_days 定义密码修改的最小时间间隔,也就是用户能够修改密码的最小时间间隔。Maximum_days 定义密码有效的时间间隔,超过这个时间,用户就必须修改密码。Warn 定义口令过期多少天前开始向用户提示进行口令修改。Expire 定义从1970年1月1日到过期时的天数,之后该用户将无法再登录。
 
建议使用 chage 命令,而不是修改 /etc/shadow 文件
 
1 # chage -M 60 -m 7 -W 7 userName

 

#6.2、禁止使用之前用过的密码。
 
可以设置禁止所有用户使用之前的旧密码, pam_unix 模块提供了这个功能,允许我们定义之前几个旧密码不能使用。
 
#6.3、登录失败后锁定用户。
 
在Linux中可以使用 faillog 命令来显示失败的登录或者设置失败登录限制。查看失败的登录,可以输入:
 
faillog
 
解锁登录失败的用户,运行
 
faillog -r -u userName
 
注意可以使用 passwd 命令来锁定或解锁用户密码。
 
#6.4、如何来检查是否有账号使用了空口令。
 
使用如下命令:
 
1 # awk -F: '($2 == "") {print}' /etc/shadow

锁定所有空密码的账户

1  # passwd -l accountName

#6.5、确保没有非Root用户的UID为0。

 
只有Root用户的UID为0,其具有系统的所有权限。使用下面的命令进行检查:
 
# awk -F: '($3 == "0") {print}' /etc/passwd

 

应该仅能看到root一行的结果,如果还有其他用户,请将这些用户删除。
 
#7、禁止root用户登录。
 
永远不要使用root用户登录,应该使用 sudo 来执行需要root权限的命令。sudo 避免了root口令的共享,同时提供了一些审计和追踪的功能支持。
 
#8、服务器的物理安全。
 
我们必须确保服务器的物理安全,配置 BIOS 禁止从外部设备启动。设置 BIOS 和 grub boot loader 的密码。所有的设备应当安全的存放在IDC(Internet Data Center)中,并且安排了适当的机房安检。
 
#9、禁用不需要的服务。
 
禁用所有不必要的服务和守护进程,并且将他们从随系统启动中删除。使用下面的命令来检查是否有服务随系统启动。
 
# chkconfig --list | grep '3:on'

要禁用服务,可以使用下面的命令:

# service serviceName stop
# chkconfig serviceName off

#9.1、检查网络监听的端口。

 
使用 netstat 命令查看服务器中有哪些监听端口
 
# netstat -tulpn
 
如果有不需要的服务,可以使用 chkconfig 进行关闭。如果需要对外屏蔽,可以使用 iptables 。
 
#10、删除X Windows。
 
对服务器来说,X Windows完全没有必要。可以使用包管理工具删除。
 
# yum groupremove "X Window System"
相关文章
|
9月前
|
监控 安全 Ubuntu
从零开始学安全:服务器被入侵后的自救指南
在信息爆炸时代,服务器安全至关重要。本文针对黑客入侵问题,从应急处理、系统恢复到安全加固全面解析。发现入侵时应冷静隔离服务器,保存日志证据,深入排查痕迹;随后通过重装系统、恢复数据、更改密码完成清理;最后加强防火墙、更新软件、部署检测系统等措施防止二次入侵。服务器安全是一场持久战,需时刻警惕、不断优化防护策略。
1286 1
|
6月前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
298 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
7月前
|
安全 Linux C++
PVS‑Studio 7.38 for macOS, Linux & Windows - 代码质量安全静态分析
PVS‑Studio 7.38 for macOS, Linux & Windows - 代码质量安全静态分析
314 0
PVS‑Studio 7.38 for macOS, Linux & Windows - 代码质量安全静态分析
|
7月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
8月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
576 10
|
9月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
1547 21
|
8月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
679 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
8月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
792 13
|
8月前
|
人工智能 安全 算法
长擎安全操作系统:构筑企业级服务器安全的坚固基石
长擎安全操作系统,以自主可控内核为基础,构建七层纵深防御体系,全面支持国密算法与可信计算,适配能源、金融、制造等关键行业,为企业服务器提供全方位安全保障,助力数字化转型安全发展。