Linux服务器操作系统安全加固操作说明

查理谈科技 2024-05-12 22:53:29

Linux服务器

操作系统安全加固

操作说明

目录

执行记录 - 1 -

一、 服务器安全加固 - 2 -

1.1 服务器安全加固目的 - 2 -

1.2 服务器操作系统安全加固 - 2 -

1.2.1 操作系统升级 - 2 -

1.2.2 操作系统用户设置 - 2 -

1.2.3 操作系统远程登陆 - 3 -

1.3 服务器操作系统安全加固确认 - 4 -

执行记录

编号

日期

描述

版本

执行人

审核

1

2022/06/07

服务器操作系统确认

0.1

服务器安全加固服务器安全加固目的

为保证项目应用运行正常, 需要确保操作系统遵循合理、正确的安全设计和规则, 因此需要对默认的操作系统进行必要的配置。

在服务器完成操作系统升级之后, 进行此项操作。

服务器操作系统安全加固操作系统升级

目的:操作系统需要正确的升级,以安装正确的补丁包。

命令:

yum update -y操作系统用户设置

目的:设立正确的操作系统用户,分配合理角色和合理长度的密码。

Root: 请根据客户现场的IT 人员建议分配密码, 并将密码填写到下表。

如果没有指定密码,建议使用如下密码。

devops 账户用来进行系统配置和远程登录,随后的操作将禁止Root 远程登录, 用户如需使用Root操作, 请先使用Devops账号登陆, 然后执行 su – root

devops 账号建议密码:

添加用户操作:

useradd devopspasswd devopsusermod -a -G wheel devops

请根据需要创建合理的用户, 并分配合理角色。

用户

角色

远程登陆

备注

root

系统管理员

devops

系统操作员

可进行特权操作(使用sudo)

your_accountxx

个人账号

不可进行特权操作,需要切换到devops 账号才可以

操作系统远程登陆

禁用root 和devops账号远程登录,禁止空密码。

注意⚠️:

在操作具体文件时, 需要首先备份!

如需要修改文件/etc/ssh/sshd_config, 就需要首先执行:

# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

如果有多个/etc/ssh/sshd_config.bak, 则添加数字后缀:

# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.1

操作:

# sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak# sudo vim /etc/ssh/sshd_config

使用vi 打开/etc/ssh/sshd_config, 找到并取消下面的注释:

PermitRootLogin noPermitEmptyPasswords noDenyUsers devops

操作:

# sudo systemctl restart sshd安装fail2ban

fail2ban

fail2ban是一款实用软件,可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作。

Fail2Ban的作用是拦截掉访问失败过多的host。

fail2ban的工作原理是, 根据filter.d目录中的配置文件从日志中匹配需要的信息, 当满足监狱(jail)中设置的条件后, 执行action.d目录中配置文件规定的动作.

首先添加EPEL,执行:

# sudo yum install epel-release

安装fail2ban,执行:

# sudo yum install fail2ban

配置fail2ban 服务,执行:

# sudo systemctl enable fail2ban配置fail2ban

Fail2ban服务将其配置文件保存在 /etc/fail2ban 目录中。在那里, 可以找到一个默认值为 jail.conf 的文件。由于此文件可能会被软件包升级覆盖,因此我们不应该就地编辑它。相反,我们将编写一个名为 jail.local 的新文件。在 jail.local 中定义的任何值都将覆盖 jail.conf 中定义的值。

# sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

jail.conf 包含一个 [默认] 部分,后跟各个服务的部分。本地可以覆盖这些值中的任何一个。此外,/etc/fail2ban/jail.d/ 中的文件可用于覆盖这两个文件中的设置。

按以下顺序应用文件:

/etc/fail2ban/jail.conf/etc/fail2ban/jail.d/*.conf, alphabetically/etc/fail2ban/jail.local/etc/fail2ban/jail.d/*.local, alphabeticallyfail2ban配置文件模板

打开jail.local:

# sudo vi /etc/fail2ban/jail.local

由于jail.local默认是从jail.conf复制过来的,因此包含了很多说明信息, 可以把该文件内容情况,然后复制下面的配置内容。

Vi 删除所有行的快捷键为, 命令模式下输入 gg ,然后回车输入 dG

这里配置了ssh 登录模块和nginx模块,具体配置:

[DEFAULT]# Ban hosts for one hour:bantime = 3600# Override /etc/fail2ban/jail.d/00-firewalld.conf:banaction = iptables-multiport[sshd]enabled = true[nginx-http-auth]enabled = truefilter = nginx-http-authlogpath = /usr/local/nginx/logs/error.logmaxretry = 5

重新启动fail2ban:

# sudo systemctl restart fail2ban# sudo systemctl status fail2ban

重启fail2ban 之后,一定要检查fail2ban的状态,防止因为fail2ban的配置文件错误,导致fail2ban 无法启动。

注意⚠️:

如果服务器上没有安装nginx, 或者nginx的日志目录不是/usr/local/nginx/logs/, 就需要更改nginx-http-auth 部分,或者直接去掉这一个模块。

查看fail2ban 状态

查看状态:

# sudo fail2ban-client status

结果:

查看具体模块的状态:

# sudo fail2ban-client status sshd

手工解封ip

手动解封:

# sudo fail2ban-client set ssh unbanip 221.226.197.96服务器操作系统安全加固确认

日期

描述

执行人

客户方签字

2022/06/08

确认该台服务器操作系统加固建议操作已完成

 #fail2ban#

0 阅读:0

查理谈科技

简介:感谢大家的关注