下载链接

SEL Linux  概述

-美国NSA国家安全局主导开发,一套增强Linux系统安全的强制访问控制体系

-集成到Linux内核中

SEL Linux的运行模式

-enforcing(强制)、permissive(宽松)

-disabled(彻底禁用)

切换运行模式

        -临时切换:setenforce 1|0

-固定配置:/etc/sel inux/config 文件

操作:

        虚拟机A:

[root@svr7 ~]# getenforce       #查看当前运行模式
Enforcing
[root@svr7 ~]# setenforce 0          #修改当前运行模式
[root@svr7 ~]# getenforce
Permissive
[root@svr7 ~]# vim /etc/selinux/config
SELINUX=permissive

        虚拟机B:


[root@pc207 ~]# getenforce
Enforcing
[root@pc207 ~]# setenforce 0
[root@pc207 ~]# getenforce
Permissive
[root@pc207 ~]# vim /etc/selinux/config
SELINUX=permissive

重设root用户密码

破解root密码思路

前提:必须是服务器的管理者,涉及重启服务器

1)重启系统进入恢复模式(救援模式)

       重启后上下键停留在此界面

 按 e 键进入

 

 

ctrl + x 启动,会看到switch_root:/#

2)切换到硬盘操作系统环境

# chroot    /sysroot      #切换环境,切换到硬盘操作系统的环境

3)重新设置root的密码

sh-4.2# echo   1    |    passwd   --stdin    root

4)如果SELinux是强制模式才需要重设SELinux策略(其他模式不需要做此操作

sh-4.2# vim /etc/selinux/config #查看SELinux开机的运行模式

sh-4.2# touch   /.autorelabel    #让SELinux失忆

5)强制重启系统完成修复        

sh-4.2# reboot   -f

 

 

 然后 reboot -f 强制重启

修复完成 

构建基本服务

构建Web服务:

Web服务:提供一个页面内容的服务

提供Web服务的软件:httpd、Nginx、tomcat

http协议:超文本传输协议

1.在虚拟机svr7安装httpd软件包:

[root@svr7 ~]# yum -y install httpd
 

2.运行提供Web服务程序

]#  > /etc/resolv.conf     #清空此文件内容

]# /usr/sbin/httpd         #绝对路径运行程序

]# pgrep  -l  httpd          #查看进程信息

[root@svr7 ~]# cat /etc/resolv.conf

[root@svr7 ~]#
[root@svr7 ~]# > /etc/resolv.conf
[root@svr7 ~]# /usr/sbin/httpd
[root@svr7 ~]# pgrep -l httpd
4614 httpd
4615 httpd
4616 httpd
4617 httpd
4618 httpd
4619 httpd

4.书写一个页面文件        

[root@svr7 ~]#vim  /var/www/html/index.html

阳光明媚NSD2108

5.浏览器访问测试

 [root@svr7 ~]# curl   http://192.168.4.7

阳光明媚NSD2108

例:

[root@svr7 ~]# vim /var/www/html/index.html           #写入页面文件
[root@svr7 ~]# cat /var/www/html/index.html              #查看文件内容
程序猿在爬长城

[root@svr7 ~]# curl http://192.168.4.7         #192.168.4.7是自己主机的地址
程序猿在爬长城

如果程序无法运行:

[root@svr7 ~]# yum -y reinstall httpd   #重新安装一遍

在虚拟机浏览器中输入地址访问

 构建FTP服务

        FTP:文本传输协议

实现FTP服务功能的软件:vsftpd

默认共享数据的主目录:/var/ftp

[root@svr7 ~]# yum -y install vsftpd      #安装FTP包


[root@svr7 ~]# /usr/sbin/vsftpd       #启动程序
[root@svr7 ~]# pgrep -l vsftpd         #查看
5277 vsftp

 
[root@svr7 ~]# curl ftp://192.168.4.7     #访问

 在虚拟机A浏览器访问:

防火墙策略管理

防火墙的策略管理

作用:隔离,严格过滤入站,放行出站

硬件防火墙

软件防火墙

  • 系统服务:firewalld----》iptables(底层防火墙)
  • 管理工具:firewall-cmd、firewall-config

  • 根据所在的网络场所区分,预设区域
    • public:仅允许访问本机的ssh、dhcp、ping服务
    • trusted:允许任何访问
    • block:拒绝任何来访请求,明确拒绝客户端
    • drop:丢弃任何来访的数据包,不给任何回应

  • 防火墙判定原则:

1.查看客户端请求中来源IP地址,查看自己所有区域中规则,那个区域中有该源IP地址规则,则进入该区域

2.进入默认区域(默认情况下为public)

  1. 防火墙默认区域的修改

虚拟机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    #成功

  1. 防火墙public区域添加规则

虚拟机A:添加允许的协议

]# firewall-cmd  --set-default-zone=public

]# firewall-cmd  --zone=public    --add-service=http  

]# firewall-cmd  --zone=public   --list-all

虚拟机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    #成功

  1. 防火墙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

实操:

A:
[root@svr7 ~]# firewall-cmd --get-default-zone
public

B:
[root@pc207 ~]# curl http://192.168.4.7
curl: (7) Failed connect to 192.168.4.7:80; 没有到主机的路由
[root@pc207 ~]# curl ftp://192.168.4.7
curl: (7) Failed connect to 192.168.4.7:21; 没有到主机的路由
[root@pc207 ~]# ping -c 2 192.168.4.7
PING 192.168.4.7 (192.168.4.7) 56(84) bytes of data.
64 bytes from 192.168.4.7: icmp_seq=1 ttl=64 time=0.289 ms
64 bytes from 192.168.4.7: icmp_seq=2 ttl=64 time=0.481 ms

此时防火墙默认只支持 ssh dhcp ping 操作,其他操作全部拒绝

修改为trusted后:
A:
[root@svr7 ~]# firewall-cmd --set-default-zone=trusted
success
[root@svr7 ~]# firewall-cmd --get-default-zone
trusted


B:
[root@pc207 ~]# curl ftp://192.168.4.7
drwxr-xr-x    2 0        0               6 Aug 03  2017 pub
[root@pc207 ~]# curl http://192.168.4.7
程序猿在爬长城

 添加策略:

A
[root@svr7 ~]# firewall-cmd  --zone=public --add-service=http
success
[root@svr7 ~]# firewall-cmd --zone=public --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh dhcpv6-client http
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

B:
[root@pc207 ~]# curl http://192.168.4.7
程序猿在爬长城
curl: (7) Failed connect to 192.168.4.7:80; 没有到主机的路由
[root@pc207 ~]# curl ftp://192.168.4.7





A:
[root@svr7 ~]# firewall-cmd  --zone=public --add-service=ftp
success
[root@svr7 ~]# firewall-cmd --zone=public --list-all


B:
[root@pc207 ~]# curl ftp://192.168.4.7
drwxr-xr-x    2 0        0               6 Aug 03  2017 pub

防火墙public区域添加永久规则

-永久(-permanent)

[root@svr7 ~]# firewall-cmd --reload
[root@svr7 ~]# firewall-cmd --zone=public --list-all
[root@svr7 ~]# firewall-cmd --permanent --zone=public --add-service=http  #添加策略
[root@svr7 ~]# firewall-cmd --permanent --zone=public --add-service=ftp
[root@svr7 ~]# firewall-cmd --permanent --zone=public --list-all
[root@svr7 ~]# firewall-cmd --reload           #加载永久防火墙策略
[root@svr7 ~]# firewall-cmd --zone=public --list-all

  1. 防火墙单独拒绝PC207所有的访问

[root@svr7 ~]# firewall-cmd --zone=block           --add-source=192.168.4.207

关闭防火墙  

[root@svr7 ~]# systemctl stop firewalld        #停止防火墙
[root@svr7 ~]# systemctl disable firewalld               #禁止开机启动
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

 服务的管理

用户---》systemd---》服务

•上帝进程:systemd

•Linux系统和服务管理器

–是内核引导之后加载的第一个初始化进程(PID=1)

–负责掌控整个Linux的运行/服务资源组合

•一个更高效的系统&服务管理器

–开机服务并行启动,各系统服务间的精确依赖

–配置目录:/etc/systemd/system/

–服务目录:/lib/systemd/system/

–主要管理工具:systemctl

[root@svr7 ~]# systemctl -t service --all #列出所有的服务

•对于服务的管理(与手动启动有冲突

systemctl  restart    服务名    #重起服务

systemctl   start     服务名      #开启服务

systemctl   stop     服务名      #停止服务

systemctl   status    服务名      #查看服务当前的状态

systemctl  enable   服务名    #设置服务开机自启动

systemctl   disable   服务名   #设置服务禁止开机自启动

systemctl   is-enabled  服务名   #查看服务是否开机自启










[root@svr7 ~]# yum -y install httpd  
[root@svr7 ~]# > /etc/resolv.conf   #清除文件内容
[root@svr7 ~]# killall httpd      #杀死手动启动的httpd
[root@svr7 ~]# systemctl restart httpd   #重启hppd服务
[root@svr7 ~]# systemctl start httpd         #查看服务状态
[root@svr7 ~]# systemctl enable httpd      #设置开机自动启动
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@svr7 ~]# systemctl is-enabled httpd       #查看是否开机自动启动
enabled
[root@svr7 ~]# systemctl disable httpd          #关闭开机自动启动    
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
[root@svr7 ~]# systemctl is-enabled httpd          #查看是否开机自动启动
disabled

Logo

更多推荐