LInux高级运维(七)-系统审计与服务安全维护

一 系统审计
系统审计:基于事先配置好的规则生成日志,记录可能发生在系统上的事件
发现记录违反安全策略的人及其行为
但是不会提供额外的安全保护

日志记录:时间日期
 事件及其结果
   触发事件的用户
 所有认证机制的使用记录都可以被记录,如ssh
 关键数据文件修改行为

审计案例:监控文件访问
 监控系统调用
 记录用户运行的命令
 监控网卡流量
 Ausearch -> 根据条件过滤审计日志
Aureport ->生成审计报告

装包启动服务
rpm -q audit || yum -y install audit
systemctl start auditd.service
systemctl enable auditd.service

Vim /etc/audit/auditd.conf 主配置文件

Log_file =/var/log/audit/audit.log 日志文件
服务启动默认有审计规则

Audiectl 命令控制审计系统并设置规则决定哪些行为会被记录日志
自定义审计规则:->命令行
配置永久生效 /etc/audit/rules.d/audit.rules
Auditctl --tab
Auditctl -s 查看寻状态
-w 目录路径
-l查看规则
-D删除所有规则
-k定义审计规则名称
-p权限  wax
设置审计规则:
auditctl -w /etc/passwd -p wa -k passwd_change
auditctl -l
auditctl -w /etc/selinux/ -p wa -k selinux_change
Auditctl -w /usr/sbin/fdisk -p x -k fdisk_change
Auditctl -l
设置永久有效
审计规则配置规则文件:/etc/audit/rules.d/audit.rules

搜索指定写入件日志
Ausearach -k pass_change

Aurereport


服务安全 nginx

./configure 配置选项,删除不需要的模块
最小化安装永远的对的!!!!
2数据库安全 mariadb-server
3 tomcat


Nginx 安全
Yum gcc
Tar
Cd
./configure
Make && make install
Ln -s /usr/ocal/ngix/sbin/nginx /sbin
Echo
Curl

一 优化配置-删除不需要的模块 
1 开启自动索引,别人不可看到目录
./configure --without-http_autoindx_module
vim /usr/local/nginx/conf/nginx.conf
Server{
Autoindex on;
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
mkdir /usr/local/nginx/html/game
echo 666 > //usr/local/nginx/html/game/a.html
echo 666 > //usr/local/nginx/html/game/b.html
echo 666 > //usr/local/nginx/html/game/c.html

二 修改版本:网站优化->修改源码软件
如何修改版本信息-修改源码
如何隐藏版本信息-(server_token off)

/usr/local/sbin/nginx/nginx stop
Cd nginx -1.12.10
Cd src/
Cd http/
Vim +48 ngx_http_header_filter_module.c
Server:tomcat CRLF;
Server:tomcat CRLF;
Server:tomcat CRLF;

/usr/local/nginx/sbin/ginx/ -V 查看修改配置参数
Curl -I http://192.138.4.5

三 限制并发访问量
Ngx_http_limt_req_module为默认模块
该模块可以降低DDos攻击风险

Ab -c 1000  -n 1000 http://192.168.4.5
[root@proxy nginx-1.12.2]# ./configure --help | grep -i limit
–without-http_limit_conn_module disable ngx_http_limit_conn_module
–without-http_limit_req_module disable ngx_http_limit_req_module
–without-stream_limit_conn_module disable ngx_stream_limit_conn_module

Vim /usr/local/ngix/conf/nginx.conf

http{
Limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
Server {
Limit_req zone=one burst=5;

客户机或者本机验证:ab -c 100 -n  100 http://192.168.4.5/
Complete requests: 100
Failed requests: 94

四 拒绝非法请求
常见http请求方法:http定义了很多方法,实际应用中一般仅仅需要get post

[root@proxy nginx-1.12.2]# curl -i -X HEAD http://192.168.4.5/
Vim /usr/local/nginx/conf/nginx.conf

Server {
If ( r e q u e s t m e t h o d !   ^ ( G E T ∣ P O S T ) request_method !~ ^(GET|POST) requestmethod! (GETPOST)) {
Return 444;
}
}
客户端真机验证:

Curl -i -X GET http://192.168.4.5/
Curl -i -X HEAD http://192.168.4.5/

五防止buffer溢出
防止客户端请求数据溢出
有效降低机器DOS 攻击风险

Vim /usr/local/nginx/conf/nginx.conf

http {
Client_body_buffer_size 1K;
Client_header_buffer_size 1K;
Client_max_body_size 16k;
Large_client_header_buffers 4 4K;
}


数据库服务安全

优化配置

root@Sv7] systemctl status mariadb 确保服务启动
初始化安全脚本
->Mysql_secure_installation

Remove anonymous users 删除匿名用户
DIisallow root login remotely 禁止root远程登录
Remove test database 删除测试数据库
Reload privileges 刷新权限

一 设置密码的几种方法

1 Mysqladmin -uroot -p passwoed “654321”
Enter password 123456

2 MariaDB [(none)]> set password for root@“localhost” =password(“123456”);
Query OK, 0 rows affected (0.00 sec)

3 直接修改表结构
Desc mysql.user;
Password字段
Select host,user,password form mysql.user;

MariaDB [(none)]> update mysql.user set password=password(“12345678”)
where host=“localhost” and user=“root”;

MariaDB [(none)]> flush privleges;

二 密码安全:
防止被历史命令出卖
删除历史命令;history -c
[root@proxy2 ~]# vim ~/.bash_history -记录所有命令
Rm -rf ~/.bash_history
~/.mysql_history
PS注意:管理好自己的历史,不适用明文登录,选择合适的版本
日志,行为审计
防火墙从TCP设置ACL(禁止外网接触数据库)

三备份还原
备份:
Mysqldump -uroot -p123456 mydb table > table.sql
Mysqldump -uroot -p123456 mydb > mydb.sql
Mysqldump -uroot -p123456 --all-databases > all.sql
还原:
Mysql -uroot -p123456 mydb < table.sql 还原表
Mysql -uroot -p123456 mydb < mydb.sql  还原数据库
Mysql -uroot -p123456 mydb < all.sql   还原所有

四创建可远程登录用户
Grant all on gamedb.* to “%” indentified by “123456”
五tcpdump 抓包验证数据库服务器能否被访问
Tcpdump -w log -i eth0 src or dst port 3306

六数据库中的数据在网络传输是没有加密的

&*************************************************************************
Tomcat 安全\
装包
[root@proxy ~]# yum -y install java-1.8.0-openjdk
which java
java -version
Tar -zvf apache-tomcat-8
Mv apache-tomcat-8 /usr/local/tomcat
/usr/local/tomcat/bin/startup.sh
Ss -ntulp | grep :8080
Echo 666 > /usr/local/tomcat/websapps/ROOT/a.html
Curl http://localhost:8080/a.html

看得到tomcat的版本信息
[root@proxy local]# curl -I http://192.168.4.5:8080/xx-保错界面看到版本信息
HTTP/1.1 404 Not Found
Server: Apache-Coyote/1.1

[root@proxy local]# curl -I http://192.168.4.5:8080/a.htmlk -头部信息
[root@proxy local]# curl -I http://192.168.4.5:8080
浏览器访问;http:192.168.4.5:8080

[root@proxy local]# yum -y install java-1.8.0-openjdk-devel

Cd /usr/local/tomcat/lib
很多jar 包

配置文件 Vim org/apache/catalina/util/ServerInfo.properties

Server.info =server.info=IIS^M
server.number=9.0.20.0^M
server.built=Dec 1 2015 22:30:46 UTC

配置文件 Vim +69 /usr/local/tomcat/conf/server.xml
Redirector server=”ngninx”

重启:[root@proxy lib]# /usr/local/tomcat/bin/shutdown.sh
ss -ntulp | grep :8080

Mv /dev/random /dev/randoma
Ln -s /dev/urandom /dev/random -软连接

root@proxy lib]# /usr/local/tomcat/bin/startup.sh
ss -ntulp | grep java

curl -I http://192.168.4.5:8080
Server: nginx

浏览器=访问;http://192.168.4.5:8080  发现访问首页没有了tomcat的版本信息

二 降权启动
Ps aux | grep java
/usr/local/tomcat/bin/shutdown.sh
Useradd tomcat
Chown -R tomcat:tomcat /usr./loca/tomcat
Su - -c “/usr/local/tomcat/bin/startuo.sh” tomcat

Netstat -ntulp | grep java
Ps aux | grep java

三 删除默认测试页面 -删除tom 猫页面
Rm -rf /usr/local/tomcat/webapps/*



LInux安全之打补丁


mkdir /demo
mkdir /demo/source{1,2}
ls /demo/source
ls /demo/
echo “hell world” > /demo/source1/test.sh
echo “hell the world” > /demo/source2/test.sh
which find
cp /usr/bin/find /demo/source1/
 cp /usr/bin/find /demo/source2/
echo “1” >> /demo/source2/find
echo “test” > /demo/source2/tmp.txt

Yun -y install tree
[root@proxy ~]# tree /demo/
/demo/
├── source1
│   ├── find
│   └── test.sh
└── source2
├── find
├── test.sh
└── tmp.txt
[root@proxy ~]# scp /root/soft.patch root@192.168.4.51:/tmp/

[root@proxy ~]# scp /root/soft.patch root@192.168.4.51:/tmp/

root@proxy2] 4.6 主机去打补丁; Patch -p数字  <  补丁文件
-p 数字 删除重复的目录个数
-p0

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~上善若水~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值