如何进行服务器安全配置检测?

服务器安全配置检测

服务器安全配置检测

背景介绍

服务器安全配置是确保信息系统安全的关键步骤,一个未正确配置的服务器容易受到各种攻击,如数据泄露、恶意软件感染和未经授权的访问,进行全面的安全配置检测是保障系统安全性的重要环节。

基础安全配置检测

密码复杂度检测

系统版本:CentOS7/8

:设置密码最小长度为8-32位,至少包含小写字母、大写字母、数字、特殊字符中的三类或四类。

检测方式

#!/usr/bin/env sh
echo "检测是否符合密码复杂度要求"
st1=cat /etc/security/pwquality.conf | grep minlen| grep -v '#'
st2=cat /etc/security/pwquality.conf | grep minclass| grep -v '#'
if [ -z "$st1" ] && [ -z "$st2" ]; then
    echo "检测结果为:未设置密码复杂度"
elif [cat /etc/security/pwquality.conf | grep minlen| grep -v '#' |awk -F ' ' '{print $3}' -gt 8 ] && [cat /etc/security/pwquality.conf | grep minclass| grep -v '#' |awk -F ' ' '{print $3}' -gt 2 ]; then
    echo "检测结果为:密码复杂度符合要求"
else
    echo "检测结果为:密码复杂度不符合要求"
fi

rsyslog服务是否启用检测

系统版本:CentOS7/8

服务器安全配置检测

:确保rsyslog服务已启用,用于记录日志以供审计。

检测方式

#!/usr/bin/env sh
echo "检测rsyslog服务是否启用"
rsyslog="active(running)"
rsyslogstatus=systemctl status rsyslog| grep Active | awk  '{print$2$3}'
if [ "$rsyslogstatus" == "$rsyslog" ]; then
    echo "检测结果为:rsyslog服务已启用"
else
    echo "检测结果为:rsyslog服务未启用"
fi

禁止ROOT远程登录检测

系统版本:CentOS6/7/8

:在/etc/ssh/sshd_config文件中,将PermitRootLogin设置为no

检测方式

#!/usr/bin/env sh
echo "检测是否禁止ROOT远程登录"
set -e
cfgfile='/etc/ssh/sshd_config'
if [ "cat ${cfgfile} | grep -E '^PermitRootLogin' | awk '{print $1}'" == "#PermitRootLogin" -o "cat ${cfgfile} | grep '^PermitRootLogin'" == "" -o "cat ${cfgfile} | grep '^PermitRootLogin' | awk '{print $2}'" == "yes" ]; then
    echo "检测结果为:未禁止root远程登录"
    exit 1
else
    echo "检测结果为:已禁止root远程登录"
    exit 0
fi

进阶安全配置检测

禁止空密码登录检测

系统版本:CentOS6/7/8

服务器安全配置检测

:在/etc/ssh/sshd_config文件中,将PermitEmptyPasswords设置为no

检测方式

#!/usr/bin/env sh
echo "检测是否禁止空密码登录"
set -e
cfgfile='/etc/ssh/sshd_config'
if [ "cat ${cfgfile} | grep 'PermitEmptyPasswords' | awk '{print $1}'" == "#PermitEmptyPasswords" -o "cat ${cfgfile} | grep 'PermitEmptyPasswords'" == "" -o "cat ${cfgfile} | grep 'PermitEmptyPasswords' | awk '{print $2}'" == "yes" ]; then
    echo "检测结果为:未禁止空密码登录"
    exit 1
else
    echo "检测结果为:已禁止空密码登录"
    exit 0
fi

SSH访问限制检测

系统版本:CentOS6/7/8

:限制SSH访问来源IP地址范围。

检测方式

#!/usr/bin/env sh
echo "检测SSH访问是否受限制"
set -e
cfgfile='/etc/ssh/sshd_config'
if [ "cat ${cfgfile} | grep 'AllowUsers' | awk '{print $1}'" != "AllowUsers" ]; then
    echo "检测结果为:SSH访问不受限制"
    exit 1
else
    echo "检测结果为:SSH访问受限制"
    exit 0
fi

专业术语解释

1、minlen:密码最小长度。

2、minclass:密码必须包含的字符类别数。

3、rsyslog:一种日志系统,用于收集和存储系统的日志信息。

4、PermitRootLogin:控制是否允许root用户通过SSH远程登录。

5、PermitEmptyPasswords:控制是否允许空密码用户通过SSH登录。

6、AllowUsers:指定允许通过SSH登录的用户列表。

问题与解答

问题1:如何更改Linux服务器的SSH端口号?

答:可以通过修改/etc/ssh/sshd_config文件中的Port参数来更改SSH端口号,然后重新启动SSH服务,将默认的22端口改为2222:

sudo vi /etc/ssh/sshd_config
找到并修改以下行
Port 2222
保存并退出编辑器后,重启SSH服务
sudo systemctl restart sshd

确认更改后,使用新端口进行SSH连接。

问题2:如何确保服务器上的文件和目录权限设置合理?

答:合理的文件和目录权限设置可以有效防止未经授权的访问,以下是一些常见的权限设置建议:

根目录(/):只允许root用户访问。

用户主目录(/home/username):所有者完全控制,组用户和其他用户无权限。

网站目录(/var/www/html):Web服务器用户(如www-data)拥有读写权限,其他用户无权限。

日志目录(/var/log):日志服务用户(如adm)拥有读写权限,其他用户无权限。

以上内容就是解答有关“服务器安全配置检测”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/19185.html<

(0)
运维的头像运维
上一篇2024-12-21 02:25
下一篇 2024-12-21 02:30

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注