Centos7.5生产服务器系统安全配置

发布时间 2023-09-01 15:15:44作者: 宝英姐姐

因为服务器要对外开放访问 故需针对服务器进行安全加固

一、禁用root以外的超级用户

检测

cat /etc/passwd 查看口令文件,文件格式如下

login_name:password:user_ID:group_ID:comment:home_dir:command

若user_ID=0,则该用户拥有超级用户的权限。查看此处是否有多个ID=0

输入命令

cat /etc/passwd | awk -F ':' '{print$1,$3}' | grep ' 0$'

 如果还出现其他用户的话则需将该用户锁定

先备份

cp -p /etc/passwd /etc/passwd_bak

锁定

使用命令passwd -l <用户名>锁定不必要的超级账户

使用命令passwd -u <用户名>解锁需要恢复的超级账户

或把用户shell改为/sbin/nologin

二、删除不必要的账号

应该删除所有默认的被操作系统本身启动的并且不必要的账号 Linux提供了很多默认账号

而账号越多 系统就越容易受到攻击

可删除的用户

例如:

adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher

可删除的组

例如:

adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers等

删除命令

userdel username

例如 删除adm用户

userdel adm

groupdel groupname

例如 删除adm组

groupdel adm

用户及组说明

以下是对每个用户和组的影响的简要描述:

  1. adm: 这个用户和组通常用于系统日志相关的任务。删除它可能会影响系统日志的管理和查看。

  2. lp: 这个用户和组通常用于打印任务。删除它可能会影响打印服务的正常工作。

  3. sync: 这个用户和组通常用于同步缓冲区,确保数据被正确地写入磁盘。删除它可能会影响数据的完整性。

  4. shutdown, halt: 这些用户用于关机和停止系统。删除它们可能会影响系统的关机和重启功能。

  5. news: 这个用户和组通常用于新闻服务器,可能不常用。删除它可能会影响新闻服务器的功能。

  6. uucp: 这个用户和组通常用于串行通信和文件传输。删除它可能会影响某些通信和传输任务。

  7. operator: 这个用户和组通常用于系统管理员和操作员的特权操作。删除它可能会影响一些需要管理员权限的操作。

  8. games: 这个用户和组通常用于游戏相关的任务,可能不常用。删除它可能不会对系统产生太大影响。

  9. gopher: 这个用户和组通常用于 Gopher 协议,可能不常用。删除它可能不会对系统产生太大影响。

三、检查空口令账号

输入命令:

awk -F: '($2 == "") { print $1}' /etc/shadow

 发现没有账号口令为空

四、口令文件加锁

chattr命令给下面的文件加上不可更改属性 从而防止非授权用户获得权限

加锁命令

sudo chattr +i /etc/passwd

sudo chattr +i /etc/shadow

sudo chattr +i /etc/group

sudo chattr +i /etc/gshadow

加锁后 无法添加用户

 

 

解锁命令

sudo chattr -i /etc/passwd
sudo chattr -i /etc/shadow
sudo chattr -i /etc/group
sudo chattr -i /etc/gshadow

五、防止IP欺骗

编辑host.conf文件并增加如下几行来防止IP欺骗攻击

vim /etc/host.conf

order bind,hosts
multi off
nospoof on

六、防止DoS攻击

对系统所有的用户设置资源限制可以防止DoS类型攻击。如最大进程数和内存使用数量等。例如,可以在/etc/security/limits.conf中添加如下几行:

  *hardcore0

  *hardrss5000

  *hardnproc20

然后必须编辑/etc/pam.d/login文件检查下面一行是否存在。

sessionrequired/lib/security/pam_limits.so

上面的命令禁止调试文件,限制进程数为50并且限制内存使用为5MB。

 

待更新。。。