linux系统加固,centos安全加固

【史上最全】centOS/Linux系统安全加固方案手册

史上最全 CentOS/Linux系统安全加固指南

针对 CentOS 8.1版本,以下是一系列详细的系统安全强化措施,其他版本可参考执行:

1.账号和口令安全

1.1删除或锁定无用账号

执行:`userdel`删除不必要的账号,`passwd-l`锁定,`passwd-u`解锁。

1.2检查特殊账号

检查空口令和 root权限,通过 `awk`命令进行筛选并锁定异常账号。

1.3添加口令策略

修改 `/etc/login.defs`和 `/etc/pam.d`文件,设置复杂度限制和输错次数锁定。

1.4限制 su到 root

编辑 `/etc/pam.d/su`,限制特定用户对 root的权限。

1.5禁止 root直接登录

创建新用户并限制 root登录,修改 SSH配置。

1.6 SSH认证限制

限制 SSH登录尝试次数,修改 `/etc/ssh/sshd_config`。

2.服务安全

2.1关闭非必要服务

使用 `systemctl`或 `chkconfig`禁止开机启动。

2.2 SSH安全加固

修改 SSH配置,包括禁止 root登录、协议版本、错误次数和 IP访问。

2.3 selinux权限

禁用 selinux,设置核心转储限制。

2.4删除 rpcgen工具

检查并移除可能存在的 rpcgen工具。

2.5记录登录事件

启用审计规则,记录登录和登出信息。

3.文件系统与umask

3.1设置 umask

修改 `/etc/profile`,设置默认 umask为 027。

3.2登录超时

设置 `/etc/profile`中的 TMOUT为 180秒。

3.3配置 grub.cfg权限

限制/boot/efi/EFI/centos/grub.cfg的权限为 600。

4.日志管理

4.1 syslogd日志

启用默认日志并配置详细记录。

4.2记录用户操作日志

在 `/etc/profile`中编写脚本,记录用户操作到指定目录。

4.3安全组件日志

调整 SSH和日志服务设置,确保记录详细信息。

5.内核升级

定期执行内核升级,确保系统安全补丁。

如何利用可信计算对linux系统进行安全加固

linux系统安全加固是根据系统和应用特点,用一系列规范或原则来进行安全配置,理论上和可信计算扯不上,如果一定要扯上,可用于批量在线系统的后期安全维护。

可信计算包括5个关键技术概念,他们是完整可信系统所必须的,这个系统将遵从TCG(Trusted Computing Group)规范

Endorsement key签注密钥

签注密钥是一个2048位的RSA公共和私有密钥对,它在芯片出厂时随机生成并且不能改变。这个私有密钥永远在芯片里,而公共密钥用来认证及加密发送到该芯片的敏感数据

Secure input and output安全输入输出

安全输入输出是指电脑用户和他们认为与之交互的软件间受保护的路径。当前,电脑系统上恶意软件有许多方式来拦截用户和软件进程间传送的数据。例如键盘监听和截屏。

Memory curtaining储存器屏蔽

储存器屏蔽拓展了一般的储存保护技术,提供了完全独立的储存区域。例如,包含密钥的位置。即使操作系统自身也没有被屏蔽储存的完全访问权限,所以入侵者即便控制了操作系统信息也是安全的。

Sealed storage密封储存

密封存储通过把私有信息和使用的软硬件平台配置信息捆绑在一起来保护私有信息。意味着该数据只能在相同的软硬件组合环境下读取。例如,某个用户在他们的电脑上保存一首歌曲,而他们的电脑没有播放这首歌的许可证,他们就不能播放这首歌。

Remote attestation远程认证

远程认证准许用户电脑上的改变被授权方感知。例如,软件公司可以避免用户干扰他们的软件以规避技术保护措施。它通过让硬件生成当前软件的证明书。随后电脑将这个证明书传送给远程被授权方来显示该软件公司的软件尚未被干扰(尝试破解)

系统加固之Linux安全加固

Linux系统基本操作

文件结构图及关键文件功能介绍

Linux文件结构

Linux文件结构图

二级目录

|目录|功能|

|/bin|放置的是在单人维护模式下能被操作的指令,在/bin底下的指令可以被root与一般账号所使用|

|/boot|这个目录只要在放置开机会使用到的文件,包括 Linux核心文件以及开机选单与开机所需配置的文件等等|

|/dev|在Linux系统上,任何装置与接口设备都是以文件的形态存在于这个目录当中的|

|/etc|

系统主要的配置文件几乎都放在这个目录内,例如人员账号密码各种服务的启动档,系统变量配置等

|

|/home|这个是系统默认的用户家目录(home directory)|

|/lib|/lib放置的则是在开机时会用到的函式库,以及在/lib或/sbin底下的指令会呼叫的函式库|

|/media|/media底下放置的是可以移出的装置,包括软盘、光盘、DVD等等装置都挂载于此|

|/opt|给第三方协议软件放置的目录|

|/root|系统管理员(root)的家目录|

|/sbin|放置/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需的指令。|

|/srv| srv可视为[service]的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录|

|/tmp|这是让一般使用者或是正在执行的程序暂时放置文件的地方|

文件

账号和权限

系统用户

超级管理员 uid=0

系统默认用户系统程序使用,从不登录

新建普通用户 uid大于500

/etc/passwd

/etc/shadow

用户管理

权限管理

解析文件权限

文件系统安全

查看权限:ls-l

修改权限:

**chmod**

** chgrp**

设置合理的初始文件权限

很奇妙的UMASK:

umask值为0022所对应的默认文件和文件夹创建的缺省权限分别为644和755

文件夹其权限规则为:777-022-755

文件其权限规则为:777-111-022=644(因为文件默认没有执行权限)

修改UMASK值:

1、直接在命令行下 umask xxx(重启后消失)

2、修改/etc/profile中设定的umask值

系统加固

锁定系统中多余的自建账号

检查shadow中空口令账号

检查方法:

加固方法:

使用命令passwd-l<用户名>锁定不必要的账号

使用命令passwd-u<用户名>解锁需要恢复的账号

使用命令passwd<用户名>为用户设置密码

设置系统密码策略

执行命令查看密码策略设置

加固方法:

禁用root之外的超级用户

检测方法:

awk-F":"'( 1}'/etc/passwd

加固方法:

** passwd-l<用户名>**

****

限制能够su为root的用户

查看是否有auth required/libsecurity/pam_whell.so这样的配置条目

加固方法:

重要文件加上不可改变属性

把重要文件加上不可改变属性

Umask安全

SSH安全:

禁止root用户进行远程登陆

检查方法:

加固方法:

更改服务端口:

屏蔽SSH登陆banner信息

仅允许SSH协议版本2

防止误使用Ctrl+Alt+Del重启系统

检查方法:

加固方法:

设置账号锁定登录失败锁定次数、锁定时间

检查方法:

修改账号TMOUT值,设置自动注销时间

检查方法:

cat/etc/profile| grep TMOUT

加固方法:

vim/etc/profile

增加

TMOUT=600无操作600秒后自动退出

设置BASH保留历史命令的条目

检查方法:

cat/etc/profile| grep HISTSIZE

加固方法:

vim/etc/profile

修改HISTSIZE=5即保留最新执行的5条命令

设置注销时删除命令记录

检查方法:

cat/etc/skel/.bash_logout增加如下行

rm-f$HOME/.bash_history

这样,系统中的所有用户注销时都会删除其命令记录,如果只需要针对某个特定用户,,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history文件增加相同的一行即可。

设置系统日志策略配置文件

日志的主要用途是系统审计、监测追踪和分析。为了保证 Linux系统正常运行、准确解决遇到的各种样统问题,认真地读取日志文件是管理员的一项非常重要任务。

UNIX/ Linux采用了syslog工具来实现此功能,如果配置正确的话,所有在主机上发生的事情都会被记录下来不管是好还是坏的。

检查方法:

cat/etc/profile| grep HISTSIZE

确定syslog服务是否启用

查看syslogd的配置,并确认日志文件是否存在

阻止系统响应任何从外部/内部来的ping请求

加固方法:

echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all

阅读剩余
THE END