【学习指南】红帽Linux安全:服务器安全配
发布时间: 2023-07-11

概述

如何提高linux系统的安全性,总结一句话:最小的权限+最少的服务=最大的安全。

所以,无论是配置任何服务器,我们都必须把不用的服务关闭、把系统权限设置到最小,这样才能保证服务器最大的安全。下面是基于RHEL服务器的安全设置,供大家参考。

1、注释掉系统不需要的用户和用户组

注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦。

用户

## 编辑用户文件 /etc/passwd,注释掉不需要的系统用户

root@RHEL-8.0:~$ vim /etc/passwd

#adm:x:3:4:adm:/var/adm:/sbin/nologin

#shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

#halt:x:7:0:halt:/sbin:/sbin/halt

#operator:x:11:0:operator:/root:/sbin/nologin

#games:x:12:100:games:/usr/games:/sbin/nologin

#ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

用户组

## 编辑用户组文件 /etc/group,注释掉不需要的系统用户组

root@RHEL-8.0:~$ vim /etc/group

#adm:x:4:

#lp:x:7:

#ftp:x:50:

#uucp:x:14

#dip:x:40

2、关闭系统不需要的服务

## 设置停止并开机不自启动

root@RHEL-8.0:~$ systemctl disable anacron

root@RHEL-8.0:~$ systemctl stop anacron

anacron、autofs、avahi-daemon、bluetooth、cpuspeed、firstboot、gpm、haldaemon、ipsec、isdn、lpd、mcstrans、messagebus、netfs、nfs、nfslock、nscd、pcscd portmap、readahead_early、rpcidmapd、rstatd、sendmail、setroubleshoot、yppasswdd ypserv

展开全文

3、禁止非root用户执行/etc/rc.d/initd下的系统指令

## 目录解释 /etc/rc.d/initd

## 此目录下存放的是脚本文件一般是Linux以rpm包安装时设定的一些服务的启动/关闭脚本。

## 系统在安装时装了许多rpm包,这里面就有很多对应的脚本。

## 执行这些脚本可以用来启动、停止、重启这些服务

root@RHEL-8.0:~$ chmod -R 700 /etc/rc.d/init.d/*

4、设置root用户的历史命令记录退出即清空

## 避免他人通过手段获取root权限查看历史命令找到之前的配置信息

## 用户退出登陆后会触发主目录的 .bash_logout 文件

root@RHEL-8.0:~$ vim ~/.bash_logout

history -c

echo > ~/.bash_history

root@RHEL-8.0:~$ cat ~/.bash_logout

# ~/.bash_logout

history -c

echo > ~/.bash_history

5、给以下文件添加不可更改权限,从而防止非授权用户获得权限

## /etc/passwd 用户信息文件

## /etc/shadow 用户密码文件

## /etc/group 用户组文件

## /etc/gshadow 用户组密码文件

## /etc/services 系统服务端口列表文件

root@RHEL-8.0:~$ chattr +i /etc/passwd

root@RHEL-8.0:~$ chattr +i /etc/shadow

root@RHEL-8.0:~$ chattr +i /etc/group

root@RHEL-8.0:~$ chattr +i /etc/gshadow

root@RHEL-8.0:~$ chattr +i /etc/services

## 注意:执行以上权限修改之后,就无法添加删除用户了

## 查看权限

root@RHEL-8.0:~$ lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/services

## 删除此权限

root@RHEL-8.0:~$ chattr -i /etc/passwd

6、修改ssh远程登录端口和屏蔽root远程登录

## 备份SSH配置文件

root@RHEL-8.0:~$ cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

## 修改文件内容

root@RHEL-8.0:~$ vim /etc/ssh/sshd_config

17 Port 56251 # 取消17行注释,更改连接端口

46 PermitRootLogin no #禁止root账户远程登录

72 PermitEmptyPasswords no #禁止空密码用户登录

## 重启服务

root@RHEL-8.0:~$ systemctl restart sshd

7、给命令历史记录添加时间戳

## 如此可以更加直观的看到在什么时间执行了什么命令

root@RHEL-8.0:~$ echo export HISTTIMEFORMAT=\"%h %d %H:%M:%S \" >> /etc/bashrc

8、服务器禁ping

## 备份文件 /etc/sysctl.conf

root@RHEL-8.0:~$ cp /etc/sysctl.conf /etc/sysctl.conf.bak

## 修改文件 /etc/sysctl.conf

root@RHEL-8.0:~$ vim /etc/sysctl.conf

net.ipv4.icmp_echo_ignore_all=1

## 使新配置生效

root@RHEL-8.0:~$ sysctl -p

net.ipv4.icmp_echo_ignore_all = 1

总结

想要系统更安全所以需要做一定的安全配置,但是做配置的时候也要小心,避免服务器直接无法登录。

最小的权限+最小的服务=最大的安全;

操作之前先备份;

为避免配置错误无法登录主机,请始终保持有一个终端已用root登录并不退出,在另一个终端中做配置修改。这样即使改错,也不至于因系统无法登录导致永远无法登录或恢复配置。



扫码加微信详细咨询太和智慧养老产品和平台服务!

微信