Linux-Day10.系统安全保护web服务管理
今日目标:
- 日志管理
- 系统安全保护 SELinux(重点)
- 构建基本web服务(重点)
环境准备
还原快照网络配置完成,开启虚拟机A与虚拟机B
用真机连通虚拟机去操作,准本好Xshell
一、常用的网络工具
ip命令
1.查看IP地址
]# ip address show #查看网卡ip地址
]# ip a s #显示网卡和ip,
2.添加IP地址
]# ip address add 192.168.10.1/24 dev eth0
]# ip a s
]# ip address add 192.168.20.1/24 dev eth0
]# ip a s
3.删除添加IP地址
]# ip address del 192.168.10.1/24 dev eth0
ping 命令,测网络连接
- 选项 -c 包个数
[root@svr7 ~]# ping -c 2 192.168.4.7
[root@svr7 ~]# ping -c 3 192.168.4.207
二、日志管理
日志管理式系统和程序的“日记本”,记录系统程序运行中发生的各种事件,通过查看日志,了解及排除故障,是信息安全控制的“依据”
日志由系统服务rsyslog统一记录/管理,日志消息采用文本格式。主要记录事件发生的时间、主机、进程、内容
常见的日志文件
日志文件 | 主要用途 |
/var/log/messages | 记录内核消息、各种服务的公共消息 |
/var/log/dmesg | 记录系统启动过程的各种消息 |
/var/log/cron | 记录与cron计划任务相关的消息 |
/var/log/maillog | 记录邮件收发相关的消息 |
/var/log/secure | 记录与访问限制相关的安全消息 |
通用分析工具
- tail、less、grep 、head、 cat等文本浏览/检索命令
- tailf、
- awk、sed等格式化过滤工具
tailf:实时跟踪日志消息
[root@svr7 /]# echo 123456 > /opt/1.txt
[root@svr7 /]# tailf /opt/1.txt
users、who、w 命令
- 查看已登录的用户信息,详细度不同
last、lastb 命令
- 查看最近登录成功/失败的用户信息
[root@svr7 /]# users
[root@svr7 /]# who
pts:命令行终端
[root@svr7 /]# last #登录成功的用户
[root@svr7 /]# lastb #登录失败的用户
Linux内核定义的事件紧急程度
- 分为 0~7 共8种优先级别
- 其数值越小,表示对应事件越紧急/重要
三、系统安全保护
SELinux概述
- Security-Enhanced Linux
- 美国NSA国家安全局主导开发,一套增强Linux系统安全的强制访问控制体系
- 集成到Linux内核(2.6及以上)中运行
- RHEL7基于SELinux体系针对用户、进程、目录和文件提供了预设的保护策略,以及管理工具
- SELinux的运行模式
- enforcing(强制)、permissive(宽松)
- disabled(彻底禁用)
任何模式变成disabled模式,都要经历重启系统
- 切换运行模式
- 临时切换:setenforce 1或0
- 固定配置:/etc/selinux/config 文件
虚拟机A
[root@svr7 /]# getenforce #查看当前运行模式
Enforcing #代表强制
[root@svr7 /]# setenforce 0 #修改当前运行模式
[root@svr7 /]# getenforce
Permissive
[root@svr7 /]# vim /etc/selinux/config
SELINUX=permissive
虚拟机B:同上
四、系统故障修复
五、构建基本服务
虚拟机A:构建Web服务
Web服务:提供一个页面内容的服务
提供Web服务的软件:httpd、Nginx、tomcat
http协议:超文本传输协议
虚拟机A:
1.安装软件包
[root@svr7 ~]# yum -y install httpd
2.运行提供Web服务程序
]# > /etc/resolv.conf #清空此文件内容,(DNS服务器配置文件)
]# /usr/sbin/httpd #绝对路径运行程序
]# pgrep -l httpd #查看进程信息
3.书写一个页面文件
[root@svr7 ~]# vim /var/www/html/index.html
哈哈嘻嘻呵呵~~~~~~~
4.浏览器访问测试
[root@svr7 ~]# curl http://192.168.4.7
哈哈嘻嘻呵呵~~~~~~~
虚拟机A:构建FTP服务
FTP:文本传输协议
实现FTP服务功能的软件:vsftpd
默认共享数据的主目录:/var/ftp/
1.安装软件包
[root@svr7 ~]# yum -y install vsftpd
2.运行程序
[root@svr7 ~]# /usr/sbin/vsftpd
[root@svr7 ~]# pgrep -l vsftpd
3.访问测试
[root@svr7 ~]# curl ftp://192.168.4.7
六、防火墙的策略管理
作用:隔离,严格过滤入站,放行出站
硬件防火墙
软件防火墙
- 系统服务:firewalld---->iptables
- 管理工具:firewall-cmd、firewall-config
根据所在的网络场所区分,预设保护规则集
- public:仅允许访问本机的ssh、dhcp、ping服务
- trusted:允许任何访问
- block:拒绝任何来访请求,明确拒绝客户端
- drop:丢弃任何来访的数据包,不给任何回应
防火墙判定原则:
1.查看客户端请求中来源IP地址,查看自己所有区域中规则,那个区域中有该源IP地址规则,则进入该区域
2.进入默认区域(默认情况下为public)
防火墙默认区域的修改
虚拟机A
]# firewall-cmd --get-default-zone #查看默认区域
虚拟机B
]# curl http://192.168.4.7 #失败
]# curl ftp://192.168.4.7 #失败
]# ping -c 2 192.168.4.7 #成功
虚拟机A:修改默认区域
]# firewall-cmd --set-default-zone=trusted
虚拟机B
]# curl http://192.168.4.7 #成功
]# curl ftp://192.168.4.7 #成功
防火墙public区域添加规则
虚拟机A:添加允许的协议
]# firewall-cmd --set-default-zone=public
]# firewall-cmd --zone=public --list-all #查看我们public中的规则
]# firewall-cmd --zone=public --add-service=http #给public中添加http规则
虚拟机B
]# curl http://192.168.4.7 #成功
]# curl ftp://192.168.4.7 #失败
虚拟机A:添加允许的协议
]# firewall-cmd --zone=public --add-service=ftp
]# firewall-cmd --zone=public --list-all
虚拟机B
]# curl http://192.168.4.7 #成功
]# curl ftp://192.168.4.7 #成功
防火墙public区域添加规则(永久)
-永久(--permanent)
]# firewall-cmd --reload #加载防火墙永久策略
]# firewall-cmd --zone=public --list-all
]# firewall-cmd --permanent --zone=public --add-service=http
]# firewall-cmd --permanent --zone=public --add-service=ftp
]# firewall-cmd --zone=public --list-all
]# firewall-cmd --reload #加载防火墙永久策略
]# firewall-cmd --zone=public --list-all
防火墙public区域删除规则(永久)
]# firewall-cmd --reload #加载防火墙永久策略
]# firewall-cmd --zone=public --list-all
]# firewall-cmd --permanent --zone=public --remove-service=http
]# firewall-cmd --zone=public --list-all
]# firewall-cmd --reload #加载防火墙永久策略
]# firewall-cmd --zone=public --list-all