当前位置: 首页 > article >正文

CentOS系统安全配置详解:打造安全可靠的服务器防护

一、账户安全及权限

禁用r o o t以外的超级用户

1 . 检测方法:

cat /etc/passwd 查看口令文件,文件格式如下
login_name:password:user_ID:group_ID:comment:home_dir:command
若user_ID=0,则该用户拥有超级用户的权限。查看此处是否有多个ID=0

2 . 检测命令:

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

3 . 备份方法:

cp -p /etc/passwd /etc/passwd_bak

4 . 加固方法:

使用命令passwd -l <用户名>锁定不必要的超级账户
使用命令passwd -u <用户名>解锁需要恢复的超级账户
或把用户shell改为/sbin/nologin

删除不必要的账号

1 . 应 该删除所有默认的被操作系统本身启动的并且不必要的账号, L i n u x 提供了很多默认账号, 而账 号越多, 系统就越容易受到攻击。
2 . 可删除的用户, 如adm,lp,sync,shutdown,halt,mail,operator,games,ftp等

3 . 可删除的组, 如

adm,lp,games,mail等

4 . 删 除命令

userdel username
groupdel groupname

用户口令设置

用户口令是Linux/Unix安全的一个基本起点,很多人使用的用户口令过于简单,这等于给侵入者敞开了大门,虽然从理论上说,只要有足够的时间和资源可以利用,就没有不能破解的用户口令,但选取得当的口令是难于破解的。

较好的用户口令是那些只有他自己容易记得并理解的一串字符,最好不要把密码记录出来,如果有需要的话,也要保管好记录密码的文件,或者将这个文件加密。生产环境口令要求:包含大写字母、小写字母、数字和特殊字符四种中的三种,并且口令整体长度大于10位,每台服务器的口令不相同。

修改密码长度/etc/login.defs

PASS_MIN_LEN 10

检查空口令账号

如果发现有账号口令为空,需要强制加入符合规格的口令检查方法:

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

口令文件加锁

chattr命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。
#chattr +i/etc/passwd
#chattr +i/etc/shadow
#chattr +i/etc/group
#chattr +i/etc/gshadow

l s a t t r 只是显示文件的属性

设置r o o t 账户自动注销时限

修改环境引导文件/etc/profile中的TMOUT参数,TMOUT参数按秒计算vi /etc/profile在"HISTFILESIZE=“后面加入下面这行TMOUT=300改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个功能如果想修改某个用户的自动注销时限,可以在用户目录下的”.bashrc"文件中添加该值,以便系统对该用户实行特殊的自动注销时间

限制su命令

禁止任何人能够su切换为root,编辑/etc/pam.d/su文件,增加如下行:在这里插入图片描述

这时,仅wheel组的用户可以su作为root。此后,如果希望用户admin能够su作为root,可以运行如下
命令:
#usermod –G 10 admin

限制普通用户无法执行关机、重启、配置网络等敏感操作

删除/etc/security/console.apps下的halt、reboot、poweroff、shutdown等程序的访问控制文
件,以禁止普通用户执行该命令
也可以整体删除/etc/security/console.apps下的所有配置文件
rm –rf /etc/security/console.apps/*

禁用C t r y+ Alt + De le t e组合键重新启动机器命令

修改/etc/inittab文件,将"ca::ctrlaltdel:/sbin/shutdown-t3-rnow"一行注释掉。

设置开机启动服务文件夹权限

设置/etc/rc.d/init.d/目录下所有文件的许可权限,此目录下文件为开机启动项,运行如下命令:在这里插入图片描述

这样便仅有root可以读、写或执行上述所有脚本文件。

避免lo g in时显示系统和版本信息在这里插入图片描述

限制网络访问

NF S访问

使用NFS网络文件系统服务,应该确保/etc/exports具有最严格的访问权限设置,也就是意味着不要使用任何通配符、不允许root写权限并且只能安装为只读文件系统。编辑文件/etc/exports并加入如下两行。
/dir/to/exporthost1.mydomain.com(ro,root_squash)
/dir/to/exporthost2.mydomain.com(ro,root_squash)在这里插入图片描述

/dir/to/export是您想输出的目录,host.mydomain.com是登录这个目录的机器名,ro意味着mount成只读系统,root_squash禁止root写入该目录。为了使改动生效,运行如下命令。#/usr/sbin/exportfs-a

登录终端设置

/etc/securetty文件指定了允许root登录的tty设备,由/bin/login程序读取,其格式是一个被允许的名字列表,可以编辑/etc/securetty且注释掉如下的行。在这里插入图片描述在这里插入图片描述

这时,root仅可在tty1终端登录。

防止攻击

一、 防止I P欺骗编辑host.conf文件并增加如下几行来防止IP欺骗攻击。在这里插入图片描述

1 . o r d e r h o s t s , b i n d #名称解释顺序
2 . m u l t i o n #允许主机拥有多个I P 地址
3 . n o s p o o f o n #禁止I P 地址欺骗

防止D o S攻击

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

然后必须编辑/etc/pam.d/login文件检查下面一行是否存在。sessionrequired/lib/security/pam_limits.so在这里插入图片描述

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

阻 止p i n g , 抵御S Y N :

如果没人能p i n g 通系统, 安全性自然增加了, 为此, 我们可以在/ e t c / r c . d / r c . l o c a l 文件中增加如下一行在这里插入图片描述

S Y N 攻击是利用T C P / I P 协议3 次握手的原理, 发送大量的建立连接的网络包, 但不实
际 建立连接, 最终导致被攻击服务器的网络队列被占满, 无法被正常用户访问。
L i n u x 内核提供了若干S Y N 相关的配置, 用命令:

在这里插入图片描述

t c p _ m a x _ s y n _ b a c k l o g 是S Y N 队列的长度, t c p _ s y n c o o k i e s 是一个开关, 是否打
开 S Y N C o o k i e功能, 该功能可以防止部分S Y N 攻击。t c p _ s y n a c k _ r e t r i e s 和
该文档由 www.xiaokuake.com 整理,版权归原作者所有。
t c p _ s y n _ r e t r i e s 定义S Y N 的重试次数。
加 大S Y N 队列长度可以容纳更多等待连接的网络连接数, 打开S Y N C o o k i e功能可以
阻 止部分S Y N 攻击, 降低重试次数也有一定效果。

调 整上述设置的方法是:在这里插入图片描述

s y s c t l - w n e t . i p v 4 . t c p _ m a x _ s y n _ b a c k l o g = 2 0 4 8 # 增加S Y N 队列长度到2 0 4 8 s y s c t l - w n e t . i p v 4 . t c p _ s y n c o o k i e s = 1 # 打开S Y N C O O K I E功能 s y s c t l - w n e t . i p v 4 . t c p _ s y n a c k _ r e t r i e s = 3 # 降低重试次数 s y s c t l - w n e t . i p v 4 . t c p _ s y n _ r e t r i e s = 3

转自:https://www.cnblogs.com/liujunjun/p/13589479.html


http://www.kler.cn/a/370426.html

相关文章:

  • 当PHP遇上区块链:一场奇妙的技术之旅
  • Vue3数据响应式原理
  • 4 AXI USER IP
  • 【陕西省乡镇界】面图层shp格式arcgis数据乡镇名称和编码2020年wgs84坐标无偏移内容测评
  • JavaScript中提高效率的技巧一
  • 为AI聊天工具添加一个知识系统 之54 为事务处理 设计 基于DDD的一个 AI操作系统 来处理维度
  • 006:无人机气象学知识
  • vue3中ref和reactive的用法,区别和优缺点,以及使用场景
  • vivo 轩辕文件系统:AI 计算平台存储性能优化实践
  • Pandas数据结构之Series对象
  • 【Unity踩坑】UWP应用未通过Windows应用认证:API不支持
  • AMQP + mysql + REST API 分布式系统和微服务架构
  • SSL/TLS 密码套件漏洞分析以及修复方法
  • 三防加固工业平板国产化的现状与展望
  • docker 安装postgres,nodejs连接pg
  • 在aws loadbalancer中配置http协议版本
  • BOOT_KEY按键(学习笔记)
  • 玩一玩MySQL服务器配置与管理的游戏(日志快乐版
  • LeetCode6题:Z字形变换(原创)
  • 传统数据仓库升级版:云数据仓库!
  • 传输线临界长度
  • 独立使用 APO 日志模块替代ELK实现日志监控功能
  • Vue学习笔记(八)
  • Matlab 用于处理光谱数据
  • 域权限维持及后渗透密码收集
  • [笔记] ffmpeg docker编译环境搭建