Linux 系统安全加固

Linux 安全加固

这里使用Cent OS 7.5 版本

一、系统安装

系统镜像尽量从官网下载,下载完成后要与官方给的hash值进行对比,以防安装镜像出现问题。安装时选择最小安装,避免安装不必要的软件与服务,减少出现漏洞的可能性。

二、关闭不必要的服务

根据不同的业务需要,需要关闭不必要的服务。这里以postfix服务为例,演示如何关闭不必要的服务。

查看服务状态:
systemctl status postfix
查看服务状态.jpg

该服务状态为active,表示这个服务处于运行状态。接下来关闭这个服务。

systemctl stop postfix #这样只能保证不重启Linux时服务是关闭的,要彻底关闭需要以下命令
systemctl disable postfix #彻底关闭postfix服务
关闭系统服务.jpg

如果状态是inactive dead状体,表示服务关闭。

下面列举一些Cent OS常用的服务以及建议:

服务名 解释 建议
iptables 防火墙服务 根据实际需要自行判断
xinetd 支持多重网络的核心进程 建议开启
network 网络服务 必须开启
sshd 远程登录服务 建议开启
rsyslog 系统日志服务 必须开启
crond 计划任务服务 必须开启
atd 一次性计划任务服务 如果不需要可以关闭
auditd 审计服务 必须开启
autovt 登录相关服务 必须开启
getty tty控制台相关 必须开启
irqbalance 优化系统中断分配服务 建议开启
kdump 内核崩溃信息捕获服务 建议开启
microcode 处理器微码服务 建议开启
postfix 邮件服务 如果不需要建议关闭
networkManager 图形化网卡配置 建议关闭

三、账号设置

账号删减命令:
userdel <用户名> #删除用户
passwd -l <用户名> #锁定用户
passwd -u <用户名> #解锁用户

查看是否有空口令和root权限的用户:

awk -F: '($2=="")' /etc/shadow 查看空口令用户

awk -F: '($3==0)' /etc/passwd 查看UID为0的用户,也就是root权限用户

禁止root用户通过SSH直接登录:

注意:操作此步骤之前,需要创建普通权限用户,防止无法远程登录。

修改/etc/ssh/sshd_config文件,修改PermitRootLogin 的值修改为no,然后重启SSH服务。

四、用户组设置

禁用或删除组:

查看/etc/group中是否有不使用的组,如果有,应该禁用或者删除。

 cat /etc/group #查看文件内容
修改之前先备份
cp /etc/group /etc/group.bak
然后编辑/group文件,将不需要的组所在的行注释掉就可以了
或者直接使用命令groupdel <组名> 删除掉这个组

从组中删除用户:

gpasswd -d <用户名> <组名>

五、SSH加固

参照我之前这篇文章

六、禁用ctrl+alt+delete 组合键

在机房控制台的键盘上,如果不小心按了ctrl+alt+del键,就会将Linux系统重启,给系统造成了一定的安全隐患。

禁用ctrl+alt+delete重启功能:

rm -rf /usr/lib/systemd/system/ctrl-alt-del.target 删除映射的软连接即可

七、禁用历史命令

Linux默认会保存历史命令,这会带来一些安全隐患,使用如下配置禁用历史命令。

修改之前,先备份
cp /etc/profile /etc/profile.bak
编辑profile文件
修改HISTSIZE=1000 改为 HISTSIZE=1 即可

八、开启系统日志

Linux 系统应该开启系统日志,这样出现意外情况能够溯源。

保存在本地:
systemctl enable rsyslog
systemctl start rsyslog 

九、重要文件锁定

锁定用户和组相关文件,避免恶意添加后门。

chattr +i /etc/passwd,/etc/group,/etc/shadow,/etc/gshadow

注意:这些文件锁定之后,如果需要添加或者删除用户,需要将这些文件先解锁,之后再将其锁定。

解锁:chattr -i /etc/passwd,/etc/group,/etc/shadow,/etc/gshadow

将系统日志文件锁定:只允许追加写入内容,不允许删除,不允许清空。

chattr +a /var/log/secure 其他日志文件一样的操作。

十、安装完整新检查工具(AIDE)

介绍:AIDE是一个完整性检测工具,可以检查系统中是否有文件被修改、删除、添加等。主要用于定期检测系统是否被挂了木马。

除了AIDE之外,常用的完整性检测工具还有tripwire。

工作原理:

通常情况下,系统运维人员安装一个新的Linux操作系统之后,会创建相应的账号、安装需要的软件并部署相关的代码。接下来系统会处于一个相对稳定的状态。AIDE的工作原理,就是在这种状态下,将系统中指定的文件的属性记录到数据库中。经过一段时间后,再次执行AIDE时,会生成另外一个数据库。只要比对这两个数据库的文件属性,就可以发现哪些文件被篡改了。

yum install aide -y 安装AIDE

配置文件解释:

@@define DBDIR /var/lib/aide # 定义AIDE数据库存放目录
@@define LOGDIR /var/log/aide # 定义AIDE日志文件存放目录
database=file:@@{DBDIR}/aide.db.gz # 定义AIDE旧数据库文件名称
database_out=file:@@{DBDIR}/aide.db.new.gz # 定义AIDE新数据库文件名称
# 生成的这两个数据库文件进行比对,可以发现修改的文件
gzip_dbout=yes # 数据库文件使用gzip压缩
verbose=5 # 日志级别,越大越详细
report_url=file:@@{LOGDIR}/aide.log # 定义AIDE日志文件名称
report_url=stdout # 对比数据库时,会输出到日志文件,还会输入到屏幕,也就是标准输出
# 以下是可以定义的监控值:
#p: permissions
#i: inode:
#n: number of links
#u: user
#g: group
#s: size
#b: block count
#m: mtime
#a: atime
#c: ctime
#S: check for growing size
#acl: Access Control Lists
#selinux SELinux security context
#xattrs: Extended file attributes
#md5: md5 checksum
#sha1: sha1 checksum
#sha256: sha256 checksum
#sha512: sha512 checksum
#rmd160: rmd160 checksum
#tiger: tiger checksum
# 以下是系统定义的检测的内容的集合,
#R: p+i+n+u+g+s+m+c+acl+selinux+xattrs+md5
#L: p+i+n+u+g+acl+selinux+xattrs
#E: Empty group
#>: Growing logfile p+u+g+i+n+S+acl+selinux+xattrs
# 可以参考这个自己定义检测的内容的集合:
EVERYTHING = R+ALLXTRAHASHES
CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs
# 以下是要监控哪些目录的集合:
/boot/ CONTENT_EX # AIDE会递归的监控目录
/bin/ CONTENT_EX
/sbin/ CONTENT_EX
/lib/ CONTENT_EX
/lib64/ CONTENT_EX
/opt/ CONTENT
# 以下是要排除的目录:
!/usr/src/
!/usr/tmp/

aide -i 初始化aide

aide --check 对比数据库文件

到此Linux安全加固就结束了,限于篇幅部分内容没有详细介绍。总之,要想保证Linux系统安全,光靠这点是远远不够的,还要靠规范的制度和遵守制度的人。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容

  • 一、用户帐号和环境……………………………………………………………. 2 二、系统访问认证和授权…………………………...
    大福技术阅读 5,838评论 0 5
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,753评论 0 5
  • 目录: 1.BIOS2.SSH安全3.禁用telnet4.禁用代码编译5.ProFTP6.TCPwrappers7...
    随风化作雨阅读 1,825评论 0 1
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 3,633评论 0 10
  • 第一章 1.Linux是一套免费使用和自由传播的类UNIX操作系统,它可以基于Intel x86系列处理器以及Cy...
    yansicing阅读 5,137评论 0 9