系统审计 、 服务安全 、 Linux安全之打补丁

本文详细介绍了Linux系统审计的部署,包括auditctl命令的使用,以及服务安全的多个方面,如Nginx的安全配置、MySQL与Tomcat的安全优化。此外,还阐述了Linux系统打补丁的过程,包括对比文件和目录差异,以及如何应用patch工具进行更新。
摘要由CSDN通过智能技术生成

一、系统审计

1.1 概述

在这里插入图片描述
在这里插入图片描述

1.2 部署audit

在这里插入图片描述
安装软件

[root@proxy ~]# yum -y install audit
[root@proxy ~]# cat /etc/audit/auditd.conf
log_file = /var/log/audit/audit.log
[root@proxy ~]# systemctl start auditd   //日志文件

auditctl命令
auditctl命令控制审计系统并设置规则决定哪些行为会被记录日志

[root@proxy ~]# auditctl -s     //查询状态
[root@proxy ~]# auditctl -l     //查看规则
[root@proxy ~]# auditctl -D     //删除所有规则

定义临时规则
在这里插入图片描述
auditctl -w 路径 -p 权限 -k 日志名

[root@proxy ~]# auditctl -w /etc/passwd -p wa -k passwd_change
//设置规则所有对passwd文件的写、属性修改操作都会被记录审计日志
[root@proxy ~]# tailf /var/log/audit/audit.log  //查看日志

定义永久规则
写入配置文件 /etc/audit/rules.d/audit.rules/
[root@proxy ~]# vim /etc/audit/rules.d/audit.rule
-w /etc/passwd -p wa -k passwd_changes
-w /usr/sbin/fdisk -p x -k partition_disks

通过工具搜索日志
系统提供的ausearch命令可以方便的搜索特定日志,默认该程序会搜索/var/log/audit/audit.log,ausearch options -if file_name可以指定文件名。

```bash
[root@proxy ~]# auditctl -w /root/22.sh -p wa -k 22_wa 
[root@proxy ~]# echo 33 >> 22.sh 
[root@proxy ~]# ausearch -k 22_wa   //查看日志
[root@proxy ~]#  aureport   //生成审计报告;是对整个日志的内容做统计
[root@proxy ~]#  aureport -ts yesterday -te now   //生成昨天到现在的审计报告,其他选项找man

日志输出信息
时间 time->Mon Mar 9 17:28:23 2020
用户 uid=0
命令 comm=“XXXX”
命令参数
执行结果 success=yes

二、服务安全

Nginx安全优化包括:删除不要的模块、修改版本信息、限制并发、拒绝非法请求、防止buffer溢出。
MySQL安全优化包括:初始化安全脚本、密码安全、备份与还原、数据安全。
Tomcat安全优化包括:隐藏版本信息、降权启动、删除默认测试页面.

2.1 nginx安全

删除不需要的模块
Nignx是模块化设计的软件,需要什么功能与模块以及不需要哪些模块,都可以在编译安装软件时自定义,使用–with参数可以开启某些模块,使用–without可以禁用某些模块。最小化安装永远都是对的方案!
下面是禁用某些模块的案例:

[root@proxy ~]# tar -xf nginx-1.12.tar.gz
[root@proxy ~]# cd nginx-1.12
[root@proxy nginx-1.12]# ./configure \
>--without-http_autoindex_module \            //禁用自动索引文件目录模块,默认是开启的
>--without-http_ssi_module
[root@proxy nginx-1.12]# make
[root@proxy nginx-1.12]# make install

修改版本信息,并隐藏具体的版本号
默认Nginx会显示版本信息以及具体的版本号,这些信息给攻击者带来了便利性,便于他们找到具体版本的漏洞。
如果需要屏蔽版本号信息,执行如下操作,可以隐藏版本号

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
… …
http{
   
     server_tokens off;                            //在http下面手动添加这么一行
     … …
}
[root@proxy ~]# nginx -s reload
[root@proxy ~]# curl -I http://192.168.4.5          //查看服务器响应的头部信息

但服务器还是显示了使用的软件为nginx,通过如下方法可以修改该信息。

[root@proxy nginx-1.12]# vim +48 src/http/ngx_http_header_filter_module.c
//注意:vim这条命令必须在nginx-1.12源码包目录下执行!!!!!!
//该文件修改前效果如下:
static u_char ngx_http_server_string[] = "Server: nginx" CRLF;
static u_char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
static u_char ngx_http_server_build_string[] = "Server: " NGINX_VER_BUILD CRLF;
//下面是我们修改后的效果:
static u_char ngx_http_server_string[
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值