linux系统加固

账号和口令

禁用或删除无用账号

减少系统无用账号,降低安全风险。

操作步骤
cat /etc/shadow 查看有多少账户
使用命令 userdel <用户名> 删除不必要的账号。
使用命令 passwd -l <用户名> 锁定不必要的账号。
使用命令 passwd -u <用户名> 解锁必要的账号。

检查特殊账号

检查是否存在空口令和root权限的账号。

操作步骤
查看空口令和root权限账号,确认是否存在异常账号:
使用命令 awk -F: ‘($2=="")’ /etc/shadow 查看空口令账号。
使用命令 awk -F: ‘($3==0)’ /etc/passwd 查看UID为零的账号。 //root权限的账户
在这里插入图片描述

加固空口令账号

使用命令 passwd <用户名> 为空口令账号设定密码。
确认UID为零的账号只有root账号。
添加口令策略
加强口令的复杂度等,降低被猜解的可能性
操作步骤
使用命令 vim /etc/login.defs 修改配置文件。
PASS_MAX_DAYS 30 #新建用户的密码最长使用天数
PASS_MIN_DAYS 0 #新建用户的密码最短使用天数
PASS_WARN_AGE 3#新建用户的密码到期提前提醒天数
在这里插入图片描述

设置账号锁定

设置连续输错三次密码,账号锁定五分钟。使用命令 vim /etc/pam.d/common-auth修改配置文件,在配置文件中添加 auth required pam_tally.so onerr=fail deny=3 unlock_time=300。

限制能su到root的用户

操作步骤
使用命令 vim /etc/pam.d/su修改配置文件,在配置文件中添加行。例如,只允许test组用户su到root,则添加 auth required pam_wheel.so group=test。
在这里插入图片描述

禁止root用户直接登录

操作步骤
创建普通权限账号并配置密码,防止无法远程登录;
使用命令 vi /etc/ssh/sshd_config修改配置文件将PermitRootLogin的值改成no,并保存,然后使用
service sshd restart重启服务。
在这里插入图片描述

服务

关闭不必要的服务

• 关闭不必要的服务(如普通服务和xinetd服务),降低风险。
操作步骤
使用命令systemctl disable <服务名>设置服务在开机时不自动启动。
chkconfig --list 查看启动服务
说明: 对于部分老版本的Linux操作系统(如CentOS 6),可以使用命令chkconfig --level <init级别> <服务名> off设置服务在指定init级别下开机时不自动启动。

SSH服务安全

对SSH服务进行安全加固,防止暴力破解成功。

操作步骤
使用命令 vim /etc/ssh/sshd_config 编辑配置文件。
不允许root账号直接登录系统。
设置 PermitRootLogin 的值为 no。
修改SSH使用的协议版本。
设置 Protocol 的版本为 2。
修改允许密码错误次数(默认6次)。
设置 MaxAuthTries 的值为 3。
配置文件修改完成后,重启sshd服务生效。

文件系统

设置umask值

设置默认的umask值,增强安全性。
操作步骤
使用命令 vim /etc/profile 修改配置文件,添加行 umask 027, 即新创建的文件属主拥有读写执行权限,同组用户拥有读和执行权限,其他用户无权限。
在这里插入图片描述

设置登录超时

设置系统登录后,连接超时时间,增强安全性。
操作步骤
使用命令 vim /etc/profile 修改配置文件,将以 TMOUT= 开头的行注释,设置为TMOUT=180,即超时时间为三分钟。
在这里插入图片描述

日志

syslogd日志
启用日志功能,并配置日志记录。
操作步骤
Linux系统默认启用以下类型日志:
系统日志(默认)/var/log/messages
cron日志(默认)/var/log/cron
安全日志(默认)/var/log/secure
注意:部分系统可能使用syslog-ng日志,配置文件为:/etc/syslog-ng/syslog-ng.conf。

查看安全日志

vim /var/log/secure
在这里插入图片描述

NFS共享

使用exportfs查看NFS输出的共享目录。使用vim /etc/exports编辑配置文件,删除不必要的共享

限制crtl+alt+del命令

操作目的:防止使用crtl+alt+del重启系统
检查方法:cat /etc/init/control-alt-delete.conf
加固方法:vim /etc/init/control-alt-delete.conf 注释两行代码

禁ping

echo 0 > /proc/sys/net/ipv4/icmp_echo_igore_all

Linux系统中,系统加固是确保系统安全的重要步骤。以下是一些常见的Linux系统加固实践代码和命: ### 1. 更新系统 首先,确保系统是最新的,以修补已知的安全漏洞。 ```bash sudo apt update && sudo apt upgrade -y ``` ### 2. 禁用不必要的服务 禁用不必要的服务和启动项,以减少攻击面。 ```bash sudo systemctl disable <service_name> sudo systemctl stop <service_name> ``` ### 3. 配置防火墙 使用`ufw`(Uncomplicated Firewall)来配置防火墙规则。 ```bash sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw enable ``` ### 4. 增强SSH安全性 修改SSH配置文件以增强安全性,例如禁用root登录和更改默认端口。 ```bash sudo nano /etc/ssh/sshd_config ``` 在文件中进行以下更改: ```plaintext PermitRootLogin no Port <new_port_number> PasswordAuthentication no ``` 保存并退出文件,然后重启SSH服务: ```bash sudo systemctl restart sshd ``` ### 5. 安装和配置Fail2Ban Fail2Ban可以防止暴力破解攻击。 ```bash sudo apt install fail2ban -y sudo nano /etc/fail2ban/jail.local ``` 在文件中添加以下内容: ```plaintext [sshd] enabled = true port = <new_port_number> filter = sshd logpath = /var/log/auth.log maxretry = 5 bantime = 600 ``` 保存并退出文件,然后重启Fail2Ban服务: ```bash sudo systemctl restart fail2ban ``` ### 6. 启用SELinux或AppArmor 根据发行版不同,启用SELinux或AppArmor以提供额外的安全层。 #### 启用SELinux ```bash sudo setenforce 1 ``` #### 启用AppArmor ```bash sudo systemctl enable apparmor sudo systemctl start apparmor ``` ### 7. 文件系统权限 确保关键文件和目录的权限设置正确。 ```bash sudo chmod -R go-w /etc sudo chmod -R go-rw /var/log ``` ### 8. 定期审计和监控 使用工具如`Lynis`进行系统审计。 ```bash sudo apt install lynis -y sudo lynis audit system ``` ### 9. 日志管理 配置系统日志以确保日志文件的完整性和安全性。 ```bash sudo nano /etc/rsyslog.conf ``` 确保以下行未被注释: ```plaintext $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 ``` 保存并退出文件,然后重启rsyslog服务: ```bash sudo systemctl restart rsyslog ``` 通过这些步骤,可以显著提高Linux系统的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值