如何确保CentOS服务器的安全性?

CentOS 服务器安全配置指南

安全centos服务器

一、

CentOS是一种广泛使用的Linux发行版,因其稳定性和安全性而受到企业的青睐,默认安装的CentOS系统并不能保证绝对安全,因此需要进行一系列安全配置来增强其防护能力,本文将详细介绍如何通过修改SSH连接端口、禁止root账户直接登录、安装DenyHosts等措施来提高CentOS服务器的安全性。

二、修改SSH连接端口

1. 修改SSH配置文件

步骤:编辑/etc/ssh/sshd_config文件。

操作:找到#Port 22,将其修改为Port 53123(或其他自定义端口)。

示例

vi /etc/ssh/sshd_config
修改前的注释行
#Port 22
修改后的设置
Port 53123

注意事项:确保新的端口号在10000到65535之间,以避免与系统或其他应用冲突。

安全centos服务器

2. 重启SSH服务

步骤:保存配置文件后,重启SSH服务使更改生效。

操作

systemctl restart sshd

验证:使用Putty等工具尝试通过新端口连接服务器,确保连接成功。

三、禁止Root账户直接登录

1. 创建普通用户并赋予sudo权限

步骤:创建一个新用户,如ecs-user

操作

安全centos服务器

useradd ecs-user
passwd ecs-user

赋予sudo权限:编辑/etc/sudoers文件,添加以下内容:

ecs-user ALL=(ALL) NOPASSWD:ALL

注意:为了安全起见,建议限制sudo权限的使用范围。

2. 禁止Root远程登录

步骤:编辑/etc/ssh/sshd_config文件。

操作:找到PermitRootLogin yes并将其改为PermitRootLogin no

示例

修改前
PermitRootLogin yes
修改后
PermitRootLogin no

重启SSH服务

systemctl restart sshd

注意:禁用Root远程登录后,可以通过新创建的用户ecs-user进行管理操作。

四、安装DenyHosts防止暴力破解

1. 安装DenyHosts

步骤:下载并解压DenyHosts源码包。

操作

tar zxvf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
python setup.py install

启动DenyHosts:将denyhosts的启动脚本链接到init.d目录下。

ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts
chkconfig denyhosts on
service denyhosts start

配置:编辑/usr/share/denyhosts/denyhosts.cfg文件,根据需要调整参数。

示例

SECURE_LOG = /var/log/secure
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 30m

说明SECURE_LOG指定了SSH日志文件的位置;HOSTS_DENY用于存放被屏蔽的IP地址;PURGE_DENY设置了清理已屏蔽IP的时间间隔。

2. 测试DenyHosts功能

模拟攻击:尝试多次错误的密码登录,观察是否触发DenyHosts的屏蔽机制。

查看日志:检查/var/log/secure/etc/hosts.deny文件,确认攻击者的IP已被正确记录并屏蔽。

五、其他安全措施

1. 设置SSH空闲超时退出

步骤:编辑/etc/ssh/sshd_config文件。

操作:添加以下两行:

ClientAliveInterval 600
ClientAliveCountMax 2

说明:上述设置表示如果客户端在10分钟内没有活动,则自动断开连接。

2. 设置密码修改策略

步骤:编辑/etc/login.defs文件。

操作:设置密码最小使用天数、最大使用天数以及密码复杂度要求。

PASS_MIN_DAYS 7
PASS_MAX_DAYS 90
PASS_WARN_AGE 7

说明:上述设置确保用户至少每90天更换一次密码,并且新旧密码之间至少有7天的时间间隔。

3. 禁止空密码用户登录

步骤:编辑/etc/ssh/sshd_config文件。

操作:设置PermitEmptyPasswords no

PermitEmptyPasswords no

说明:此设置确保所有用户必须有密码才能登录。

4. 限制密码重用次数

步骤:编辑/etc/pam.d/password-auth/etc/pam.d/system-auth文件。

操作:添加remember=5参数。

password sufficient pam_unix.so remember=5

说明:此设置强制用户至少使用5次不同的密码后才能重新使用某个旧密码。

5. 确保rsyslog服务已启用

步骤:启动并启用rsyslog服务。

操作

systemctl enable rsyslog
systemctl start rsyslog

说明:rsyslog服务用于收集并记录系统日志,有助于审计和故障排查。

6. 配置文件权限设置

步骤:设置关键配置文件的权限。

操作

chown root:root /etc/hosts.allow /etc/hosts.deny /etc/ssh/sshd_config /etc/sudoers /etc/login.defs /etc/pam.d/* /etc/security/* /etc/services
chmod 644 /etc/hosts.allow /etc/hosts.deny /etc/ssh/sshd_config /etc/sudoers /etc/login.defs /etc/pam.d/* /etc/security/* /etc/services
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/services

说明:上述设置确保只有root用户才能修改这些关键配置文件,从而防止非授权用户获取权限。

7. 关闭不必要的服务和端口

步骤:列出当前运行的服务,并停用不必要的服务。

操作:使用systemctl stop命令关闭服务,并使用firewall-cmd --permanent --remove-port=<端口>/tcp命令移除防火墙规则中的端口。

示例:关闭telnet服务。

systemctl stop telnet
firewall-cmd --permanent --remove-port=23/tcp
firewall-cmd --reload

说明:定期审查运行的服务,确保只保留必要的服务。

8. 禁用Ctrl+Alt+Del快捷键重启服务器

步骤:编辑/etc/init/control-alt-delete.conf文件。

操作:注释掉或删除以下行:

start on control-alt-delete
exec /sbin/shutdown -r now

说明:此设置可以防止通过快捷键意外重启服务器。

9. 隐藏服务器系统信息

步骤:删除或重命名/etc/issue/etc/issue.net文件。

操作

mv /etc/issue /etc/issuebak
mv /etc/issue.net /etc/issue.netbak

说明:隐藏系统版本信息可以减少潜在的攻击面。

10. 给命令历史记录添加时间戳

步骤:编辑~/.bashrc文件。

操作:添加以下行:

export HISTTIMEFORMAT="%h %d %H:%M:%S "

说明:此设置可以在命令历史中添加时间戳,便于追踪命令执行时间。

11. 关闭多余的虚拟控制台

步骤:编辑/etc/inittab文件(适用于CentOS 6及之前的版本)。

操作:将tty[1-6]改为tty[1-2]

tty1   /dev/tty1                   console    ondemand  bootwait
tty2   /dev/tty2                   console    ondemand  bootwait

说明:减少虚拟控制台的数量可以提高系统的安全性。

12. 设置一些全局变量

步骤:编辑/etc/profile文件。

操作:添加以下行:

TMOUT=3600
HISTSIZE=100

说明:上述设置可以自动退出长时间未活动的终端会话,并限制命令历史记录的数量。

echo "TMOUT=3600">>/etc/profile
echo "HISTSIZE=100">>/etc/profile
source /etc/profile

说明:上述设置可以自动退出长时间未活动的终端会话,并限制命令历史记录的数量。

13. 关闭SELinux或配置其策略

步骤:根据需要决定是否关闭SELinux。

操作:查看SELinux状态。

sestatus

说明:如果不需要SELinux,可以使用以下命令关闭:

sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
setenforce 0

注意:关闭SELinux可能会降低系统的安全性,请谨慎操作。

通过上述一系列的配置,可以显著提升CentOS服务器的安全性,网络安全是一个持续的过程,建议定期审查和更新安全策略,以应对不断变化的威胁环境,以下是一些最佳实践建议:

定期更新系统和软件:及时安装安全补丁,修复已知漏洞。

使用强密码策略:确保所有用户使用复杂且唯一的密码。

限制物理访问:确保服务器放置在安全的物理环境中,防止未经授权的访问。

备份重要数据:定期备份服务器上的重要数据,以防万一。

监控和日志分析:定期检查系统日志,及时发现异常行为。

教育和培训:对管理员和用户进行安全意识培训,提高整体安全水平。

以上就是关于“安全centos服务器”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/661090.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-11-20 02:57
Next 2024-11-20 03:00

相关推荐

发表回复

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

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入