当前位置: 首页 > news >正文

网络安全与主机基本防护-linux鸟哥的私房菜服务器篇07(阅读笔记)

7.1    网络封包联机进入主机的流程

    7.1.1 封包进入主机的流程
              -------------------------------------------------------------------------
                                                             Internet
                                                                     |
                                             第一层防火墙:iptables(netfilter)
                                                                     |
                                            第二层防火墙:TCP_Wrapper
                                                                     |                                                        --------
                                             服务器设定值:http,ftp,samba...     ——>|     登     |
                                                                     |                                                       |      录    |
                                                权限的细部设定:SELinux               ——>|     档     |
                                                                     |                                                        --------
                                                      档案权限的设定(r, w, x)
         ----------------------------------------------------------------------------------
         1. 经过防火墙的分析
              (1). 封包过滤防火墙:IP Filtering或 Net Filter
                   软件:      iptables( netfilter)          ----分析TCP/IP的封包表头来进行过滤
                   OSI:     二、三、四
                   封包阶段:     MAC、IP、ICMP、TCP/UDP的端口与状态(SYN、ACK)
              (2). 第二层防火墙:TCP Wrappers
                   /etc/hosts.allow
                   /etc/hosts.deny
         2. 服务(daemon)的基本功能
              httpd.conf          ----通过这个配置文件规范某些IP开源不能使用httpd这个服务
         3. SELinux对网络服务的细部权限控制
              注意:比如说通过SELinux将httpd程序的权限控制在啊/var/www/html中
         4. 使用主机的文件系统资源
    7.1.2 常见的攻击手法与相关保护:猜密码,漏洞,社交工程,程序误用,rootkit,DDoS
              1. 取得账户信息后猜密码
                   应对:
                    (1)减少信息的曝光机会:Email Address不要随便用
                   (2)建立较严格的密码设定规则:chattr限制账号文档的更改
                   (3)完善权限限定
              2. 利用系统的程序漏洞主动攻击
                   应对:
                   (1)关闭不需要的网络服务:开的端口越少越好
                   (2)随时保持更新
                   (3)关闭不需要的软件:比如SSH
              3. 利用社交工程作欺骗
                   (1)追踪对谈者
                   (2)不要随意透露账号/密码信息
              4. 利用程序功能的被动攻击
                   应对:
                   (1)随时更新主机上的所有软件
                   (2)弱化软件的功能
                   (3)不要连接到不明的主机
              5. 蠕虫或木马的rootkit
                   (1)不要随意安装不明来源的档案或者不明当那数据
                   (2)不要让系统有太多危险的指令:例如SUID/SGID的程序
                   (3)可以以rkhunter之类的软件来追查:有个网站提供rootkit程序的检查,可以分析你的主机
                        http://www.rootkit.nl/projects/rootkit_hunter.html
              6. DDoS攻击法(Distributed Denial of Service: 分布式阻断服务攻击)
                   注意:比如常见的SYN Flood攻击,就是透过分散在各地的僵尸计算机发送大量SYN封包,如果client端在发送SYN的封包后,却将来子鸡server端的确认封包丢弃,这样server端就会一直空等,如果在你短时间内持续发送这样的SYN封包,那么server就会持续不断发送确认封包。
              7. 其它高大上的攻击方法   
                    (1)设定规则完善的防火墙
                   (2)核心功能
                   (3)登录文件与系统监控(使用MRTG之类的监控软件)
    7.1.3 主机能作的保护:软件更新、减少网络服务、启动SELinux
              1. 软件更新的重要性
              2. 认识系统服务的重要性
              3. 权限与SELinux的辅助
7.2     网络自动升级软件
    7.2.1 如何进行软件升级
              (1)升级到较新的版本
              (2)利用tarball来字型升级核心与软件
    7.2.2 CentOS的yum软件更新、映象站使用的原理
               ---- ---------------------------------------------------------------------------------------------------
                                                                                                取得清单列表
                                YUM服务器                                        < ——————>                               Linux用户端
                容器资料清单:/path/repodata                     实际安装                                     清单记录:/var/cache/yum/
                 实际软件目录:FTP/http均可                   <——————>
               -------------------------------------------------------------------------------------------------------
         1. 先由配置文件判断yum server所在的IP地址、
         2. 连接到yum server后,先下载新的RPM档案的表头数据
         3. 分析比较使用者所欲安装/升级德尔档案,并提供使用者确认
         4. 下载用户选择的档案到系统中的/var/cache/yum,并进行实际安装                                                                                                                               
    7.2.3 yum的使用:安装,软件群组,全系统更新
         yum [option] [查询的工作项目] [相关参数]
         -----------------------------------------------------------------------------------------------------------
         | option:   
         |     -y:     当yum询问使用者的意见时,主动回答yes而不需要由键盘输入
         |查询的工作项目:
         |     install:     安装指定的软件,后面跟软件名称
         |     update:     进行整体升级的行为;也可以仅升级一个软件,后面接某个软件
         |     remove:     移除某个软件,后面跟软件名称
         |     search:     搜寻某个软件或者是重要关键字
         |     list:     列出目前yum所管理的所有软件的名称与版本,有点类似rpm -qa
         |     info:     同上,不过有点类似于rpm -qai
         |     clean:下载的档案被放到/var/cache/yum,可使用cclean将它移除,可清楚的项目:packages|headers|metadata|cache等
         |     grouplist:     列出所有可以使用的软件群组
         |     groupinfo:     后面接group_name,则可了解该group内含的所有软件名;
         |     groupinstall:     可以安装一整组软件;常与--installroot=some/path共享来安装新系统
         |     groupremove:     移除某个软件群组
       --------------------------------------------------------------------------------------------------
          1. 利用yum安装
         # yum search raid          ----查找CentOS官网提供的软件名称和RAID有关的软件
         # yum info  madam        ----查看madam功能为何
         # yum install madam          ----安装madam
         # yum list javacc*
         # vim /etc/yum.conf          ----yum预设会将下载的RPM档案安装完毕后予以删除,通过修改配置文件予以保留
              [main]
              cachedir=/var/cache/yum/$basearch/$releaserver          ----RPM下载的目录
              keepcache=1          ----默认不删除
              debuglevel=2
              logfile=/var/log/yum.log
              exactarch=1
              obsoletes=1
         # rpm -Fvh*.rpm          ----将所有下载好的RPM档案安装
2. yum安装软件群组
    # LANG=C yum grouplist        ----查询系统有的软件群组有多少个
    Installed Group:         ----已经安装的软件群组
        Additional Development
        ...
    Available Group:        --------尚可安装的软件群组
        ...
    # yum groupinfo "Desktop Platform"        ----查看Desktop Platform内含有多少个RPM软件呢
    Group:   桌面环境平台
        Description:    受支援的CentOS Linux桌面平台函式库
         Mandatory Packages:        ----主要的会被安装的软件有这些
        Optional Packages:       ----额外可选择的软件
    # yum groupindtsll "Desktop Platform"
3. 全系统更新
    # vim /etc/crontab
    40 5 * * * root yum -y update $$ yum clean packages          ----每天5:40自动更新
    7.2.4 挑选特定的映象站:修改yum配置文件与清除yum快取
         注意:网址下包含repodata目录则说明这个网址可以作为yum的容器配置文件
         1. 修改yum配置文件
         方式一:修改系统的默认配置文件(使用特定映象站)
               # vim /etc/yum.repos.d/CentOS-Base.repo          ----容器的配置文件
                   #下面仅列出base这个容器
                   [base]          ----容器的名字(一定要有中括号,名字不能重复)
                   name=CentOS-$releaseerver - Base     ----说明容器的意义
                   mirrorlist=http://mirrorlist.centos.org/release=$releasever&arch=$basearch&repo=os &repo=os            ----列出这个容器使用个的映象站台,是有yum程序自行去捉影响站台
                   #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/          ----制定一个固定的容器网址
                   gpgcheck=1          ----指定是否需要查阅RPM档案内的数字签名
                   gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6          ----数字签名的公钥文件所在位置
              # yum clean all          ----清除已有的清单
              # yum repolist all          ----列出目前yum server所使用的容器,enabled才是启动了的
         方式二:在.etc.yum.repos.d/下新建档案,扩展名为.repo(为其他软件提供容器)
         2. 清除yum缓存
              注意:如果修改指定的网址却没有修改容器名称,会造成本机的列表与yum服务器不同步,进而无法步
              # yum clean [packages|headers|all]
              -----------------------------------------------------
              |选项与参数:
              |     packages:      将已经下载的软件档案清除
              |     headers:     将下载的软件文件头删除
              |     all:     将所有容器数据删除
              -----------------------------------------------------
              # yum clean all          ----删除已经下载的所有容器的相关数据(含软件本身与列表)
              范例一:提供一个包含自由软件的网址,配置好yum容器
                   # vim /etc/yum.repos.d/drbl.repo
                   [drbl]
                   name=This is DBRL site.          ----解释
                   baseurl=http://free.nchc.org.tw/drbl-core/i386/RPMS.drbl-stable/          ---最重要
                   enable=1          ----激活这个容器
                   gpgcheck=0          ----不进行签名检验
                   # yum repolist all          ----观察所有的容器,看看有没有新增drbl
7.3     限制联机端口
    7.3.1 什么是port
         1. 服务器启动的监听端口所对应的服务是固定的
         2. 客户端启动端口时,随机启动一个大于1024以上的端口
         3. 一部服务器可以同时提供多种服务
         4. 共65536(2^16)个端口
              只有root才能启动保留的端口;
              大于1024用于clent端的端口;
         5. 是否需要三次握手
         6. 通讯协议可以启动在非正规的端口
         7. 所谓端口的安全性
    7.3.2 端口的观察:netstat,nmap
         1. netstat     在本机上面以自己的程序检测自己的端口
              # netstat -tunl          ----列出在监听的网络服务
              # netstat -tun          ----列出已联机的网络联机状态
              # netstat -tunp          ----观察联机服务的PID并删除之
              # kill -9 1342          ----建设监理的联机的PID为1342
         2. nmap     透过网络侦测软件辅助,可侦测非本机上的其它网络主机,担忧违法之虞
              nmap [扫描类型] [扫描参数] [hosts地址与范围]
              ------------------------------------------------------------------------------------
              |扫描类型:
              |     -sT:     扫描TCP封包已建立的联机
              |     -sS:     扫描TCP封包带有SYN卷标的数据
              |     -sP:     以ping的方式进行扫描
              |     -sU:     以UDP的封包格式进行扫描
              |     -sO:     以IP的协议进行主机的扫描
              |扫描参数:
              |     -PT:      使用TCP里头的ping的方式进行扫描,可以获知目前有几部计算机存活(较常用)
              |     -Pl:     使用实际的ping(带有ICMP封包)来进行扫描
              |     -p:     这个port range,例如1024-,80-1023,30000-60000等等的使用方式
              |Hosts地址与范围:
              |     192.168.1.100          ----直接写入HOST IP而已,仅检查一部
              |     192.168.1.0/24          ----为C Class的形态
              |     192.168.*.*          ----B Class的形态,扫描的范围变广了
              |     192.168.1.0-50,60-100,103,200          ----这种事变形的主机范围
              ---------------------------------------------------------------------------------------------------   
              范例一:使用预设参数扫描本机所启用的port(只会扫描TCP)
                   # yum install nmap                  ----安装nmap
                   # nmap localhost          ----扫描本机所有端口,预设仅扫描TCP协议
              范例二:同事扫描本机的TCP/UDP端口
                   # namp -sTU localhost     
              范例三:透过ICMP封包的检测,分析区网内有几部主机是启动的
                   # namp -sP 192.168.1.0/24     ----启动的主机的IP对应的MAC也会被记录下来
              范例四:将各个主机的启动的端口都作一番侦测
                   # nmap 192.168.1.0/24
         3. 预设启动的服务
              
服务名称服务内容
acpid新版的电源管理模块地,通常仓建议开启,不过某系而笔记本如果不支持就得关闭
std在管理单一预约命令执行的服务,需要启动
crond管理工作排程的重要服务
haldaemon作系统硬件变更侦测的服务,务必启动
iptableslinux内建的防火墙软件
network网络服务
postfix系统内部邮件传递服务
rsyslog系统的登录文件服务
sshd远程以文字终端登陆
xinetd就是super daemon,要启动
    7.3.3 端口与服务的启动/关闭及开机时状态设定:服务类型,开机启动
              7.3.3.1 服务类型
                   1. Stand alone
                   2. Super daemon
              7.3.3.2 范例
                   范例一:找到系统上面开启111端口的程序并将其关闭
                        # netstat -tnlp | grep 111          ----找到程序名
                        # which rpcbind          ----利用程序名找到实际对应的档案
                        # rpm -qf /sbin/rpcbind          ----找到这个档案对应的程序的完整名称
                        # rpm -qc rpcbind | grep init          ----找到启动这支程序的执行文件
                        # /etc/init.d/rpcbind stop          ----关掉它
                   范例二:启动telnet(super daemon控管)
                        # rpm -qa | grep telnet-server          ----看看有没有安装telnet
                        # yum install telnet-server          ----安装telnet
                        # vim /etc/xinetd/telnet               ----编辑telnet在super daemon,控管下的配置文件
                             disable=no
                        # /etc/init.d/xinetd restart          ----重新启动super daemon
                        # netstat -tnlp          ----观察23端口是否启动
    7.3.4 安全性考虑-关闭网络断端口
         范例一:找出目前系统上面正在运作中的服务,并找到相对应的启动脚本(/etc/init.d/)
              # netstat -tlunp
              # vim rpc.stated          ----在这个脚本中写入想要关闭的服务
              # rpm -qc $(rpm -qf $(which rpc.stated)) | grep init          ----查找对应的启动脚本
              # vim /bin/closedaemon.sh          ----编写关闭一系列服务的脚本
              for daemon in nfslock rpcgssd rpcidmapd rpcsvcgssd xinetd rpcbind
              do 
                   chkconfig $daemon off
                   /etc/init.d/$daemon stop
              done
              # sh /bin/closedaemon.sh          ----启动关闭服务的脚本
              # netstat -tlunp          ----看看还剩下哪些服务在开启
7.4     SELinux管理原则
    7.4.1 SELinux的运作模式:安全性文本,domain/type
         范例一:httpd和/var/www/html的安全性本文
              # ll -Zd /usr/sbin/httpd /var/www/html
              -rwxr-xr-x. root root system_u:object_r:httpd_exec_t:s0 /usr/sbin/httpd
              drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html
              SELinux工作流程:
              1. 首先,触发/usr/sbin/httpd这个档案,档案类型为httpd_exec_t;
              2. 这个档案产生的主体程序具有httpd这个领域(domain),我们的政策针对这个领域已经制定了许多规则,其中包括这个领域可以读取的目标资源类型;
              3. 由于httpd domain被设定为可以读取httpd_sys_content_t这个类型的目标档案(Object),因此你的网页放置到/var/www/html目录下,就能够被htttpd那支程序所读取了;
              4. 但最终能不能读到正确地资料,还要看rwx是否符合Linux权限的规范!
    7.4.2 SELinux的启动、关闭与观察:gentenforce, setenforce
         1. SELinux的观察
              # getenforce          ----显示目前SELinux所处在的模式
              Enforcing          ----强制模式,表示已经在运作中,且已经正确地开始限制domain/type
              # vim /etc/selinux/config
              SELINUX=enforcing          ----调整enforcing|disabled|permissive
              SELINUXTYPE=targeted          ----目前仅有targeted与mls
         2. SELinux的启动与关闭
              注意:从disabled转到启动SELinux模式时,由于系统必须要针对档案写入安全性文本的信息,因此开机过程会花不少时间等待写入,而且完成之后还要再次重启。
                   Enforcing     
                             ^          <--------->            
            不需要    |             需要重启                  Disabled
                               v          <--------->
                    Permissive
              setenforce [0|1]  在Enforcing与permition之间进行模式的转换,无法在Disabled模式下进行模式的切换
              ------------------------------------
              |     0:转成permissive宽容模式
              |     1:转成Enforcing强制模式
              -------------------------------------
              范例一:将SELinux在Enforcing与permission之间切换与观察
                   # setenfoerce 0          ----Enforcing-->permission
                   # getenforce          ----查看状态改变了没有
                   # setenforce 1
              范例二:Disabled切换为Enforcing之后,一堆服务无法启动,但切换为permision后正常
                   # setenforcing 0          ----可能是因为重新写入SELinux type出错,先切换为permission
                   # restorecon -Rv /          ----重新还原所有SELinux的类型
                   # setenforcing 1          ----再转为Enforcing,然后启动执勤啊出错的服务试试
    7.4.3 SELinux type的修改:chcon,restorecon,semanage
         注意:复制时,SELinux的type字段会继承目标目录的,移动时SELinux的类型也会被移动过去
         范例一:复制,并观察相关的SELinux类型变化
              # cp /etc/hosts /root
              # ls -dZ /etc/hosts /root/host   /root       ----发现/root/host继承了/root的类型
         范例二:移动,并观察SElinux的类型
              # mv /root/hosts /tmp
              # ls -dZ /tmp /tmp/hosts          ----/tmp和/tmp/hosts类型不相同,也就是说/tmp/hosts保持了原来的类型没
         chcon     [-R] [-t type] [-u user] [-r role] 档案
         chcon     [-R] --reference=范例文件 档案
              ------------------------------------------------------------
              |选项与参数:
              |     -R:     联通该目录下的次目录也同时修改
              |     -t:     后面接安全性本文的类型字段,比如https_sys_content_t
              |     -u:     后面接身份识别,例如system_u
              |     -r:     后面接角色,例如system_r
              |     --reference=范例文件:     拿某个档案当范例来修改后面接的档案的类型
              -------------------------------------------------------------
              范例一:将刚刚的/tmp/hosts类型改为net_conf_t的类型
                   # chcon -t net_conf_t /tmp/hosts         
                   # ll -dZ /tmp/hosts        ----观察类型是否改变
              范例二:以/var/spool/mail为依据,将/tmp/hosts修改成为该类型
                   # ll -dZ /var/sspool/mail          ----看看它一开始的类型
                   # chcon --reference=/var/spool/mail /tmp/hosts          ----修改类型
                   # ll -Z /tmp/hosts
         restorecon     [-Rv] 档案或目录     恢复为预设的设定
              -----------------------------------------------
              |选项与参数:
              |     -R:     连同次目录一起修改
              |     -v:     将过程显示到屏幕上
               -----------------------------------------------
              范例一:将刚刚的/tmp/hosts移动至/root并以预设的安全性本文改正过来
                   # mv /tmp/hosts /root
                   # ll -Z /root/hosts
                   # restorecon -Rv /root
         semanage [login|user|port|interface|fcontext|translation]     默认目录的安全性本文查询与修改
         semanage fcontext -[a|d|m] [-first] file_spec     主要用在安全性本文方面的用途 (/etc/selinux/targeted/context)
              -------------------------------------------------
              |选项与参数:
              |     fontext:     主要用在安全性本文方面的用途
              |     -l:     查询的意思
              |     -a:     增加一些目录的默认安全性本文类型设定
              |     -m:     修改的意思
              |     -d:     删除的意思
              ---------------------------------------------------
              范例一:查询一下/var/www/的预设安全性本文设定为何
                   # yum install policycoreutils-python
                   # semanage  fcontext -l | grep '/var/www'
              范例二:利用semanage设定/srv/vbird目录的默认安全性本文为public_content_t
                   # mkdir /srv/vbird
                   # ll -Zd /srv/vbird          ----预设的情况为var_t
                   # semanage fcontext -a -t public_content_t "/srv/vbird(/.*)?"          ----将/srv/vbird/底下所有的目录递归地修改为public_content_t
                   # semanaeg fcontext -l | grep '/srv'          ----查看/src目录的安全性本文
                   # semanage fontext -a -t public_content_t '/ssrv/vbird(/.*)?'          ----增加安全性本文类型
                   # semanage fcontext -l | grep '/src/vbird' /srv/vbird(/.*)?          ----再次查看/srv/vbird及其子文件夹的安全性文本类型
                   # cat /etc/selinux/targeted/contexts/files/file_context.local          ----看看增加新的安全性文本类型对这个文本造成的更改
                   /srv/vbird(/.*)?     system_u:object_r:public_content_t:s0          ----前面的动作就是写入这个内容
                   # restorecon -Rv /srv/vbird*          ----尝试恢复默认值
                   # ll -Zd /srv/vbird          ----看看新的默认值有没有生效
    7.4.4 SELinux政策内的规则布尔值修订:seinfo,sesearch,getsebool,setsebool
         1. 政策查询
         # yum install setools-console
         seinfo [-Atrub]      查询政策提供的相关规则
              ---------------------------------------------------------------------
              |     -A:     列出SELinux的状态、规则布尔值、身份识别、角色、类别等所有信息
              |     -t:     列出SELinux的所有类型(type)种类
              |     -r:     列出SELinux的所有角色(role)种类
              |     -u:     列出SELinux的所有身份识别
              |     -b:     列出所有规则的种类(boolean)
              ------------------------------------------------------------------------
              范例一:列出SELinux在此政策下的统计状态(targeted的type有3076中,针对网络服务的Booleans有73个)
                   # seinfo
              范例二:列出与httpd有关的规则
                   # seinfo -b | grep httpd           ----没有规则的详细信息
         sesearch [--all] [-s 主体类别] [-t 目标类别] [-b 布尔值]
              -------------------------------------------------------------------------------
              |选项与参数:
              |     --all:     列出该类别或布尔值的所有相关信息
              |     -t:     后面接类别,例如-t httpd_t
              |     -b:     后面还要接布尔值的规则例如-b httpd_enable_ftp_server
              -------------------------------------------------------------------------------
              范例一:找出目标档案资源类别为httpd_sys_content_t的有关信息
                   # sesearch --all -t httpd_sya_content_t               ----【allow 主题程序安全性本文类别     目标资源安全性本文类别 】,这样可以查看某个主体程序可以读取的目标资源档案
              范例二:我知道有个布尔值为httpd_enable_homedirs,请问该布尔值规范多少规则?
                   # sesearch -b httpd_enable_homedirs --all
         2. 布尔值的查询与修改
              注意:布尔值决定了一系列的规则的启动与关闭
              getsebool     [-a]     [布尔值条款]     查询布尔值状态
                   -----------------------------------------------------------------------------
                   |     -a:     列出目前系统上面所有的布尔值条款设定为开启或关闭状态
                   -----------------------------------------------------------------------------
                   范例一:查询本系统内所有的布尔值设定状况
                        # getsebool -a
              setsebool     [-P]      布尔值=[0|1]     关闭或启动布尔值
                   -----------------------------------------------------------------
                   |选项与参数:
                   |     -P:     直接将设定值写入配置文件,该设定数据未来会生效
                   -----------------------------------------------------------------
                   范例一:查询httpd_enable_homedirs是否为on,若不为on请启动他
                        # getsebool http_enable_hoomedirs               ----未开启
                        # setsebool -P httpd_enable_homedirs=1          ----启动这个布尔值,记得一定要加-P选项
                          # getsebool http_enable_hoomedirs            ----已开启
    7.4.5 SELinux登记文件记录所需服务-以httpd为范例:setroubleshoot, sealert
         1.setroubleshoot     将错误信息写入/var/log/messages和/var/log/setroubleshoot/*
              注意:setroubleshoot需要安装两个软件 setroubleshoot和 setroubleshoot-server
              # yum install  setroubleshoot  setroubleshoot-server          ----安装两套软件
              # /etc/init.d/auditd restart          ----整合到auditd当中
              (1)先由auditd去呼叫audispd服务
              (2)然后audispd服务去启动sedispatch程序
              (3)sedispatch再将原来的auditd讯息转成 setroubleshoot的讯息,进一步储存下来
              范例一:使用httpd这支程序产生的错误来说明。WWW是由htttpd这支服务提供的,因此你必须要安装且启动它才行
                   # /et/init.d/httpd start          ----     开启WWW服务
                   # netstat -tlnp | grep  http           ----看看80端口是否已经启动
                   tcp     0    0    :::80    :::*    LISTEN    2218/httpd
                   # echo "My first selinux check" > index.html          ----写一个简单的网页
                   # ll index.html          ----看看权限有没有什么问题
                   # mv index.html /var/www/html          ----将其复制到WWW服务器的文件夹中
                   # links http://localhost/index.html          ----文字接口打开网页试试,权限不对劲
                   # cat /var/log/messages | grep setroubleshoot          ----看看有说呢么错误记录信息,有的话会看到错误代码
                   # sealert -l 6c927892-2469-4fcc-8568-949da0b4cf8d          ----查阅完整的数据
          2. 用email或在指令列上面直接提供setroubleshoot错误讯息
               # vim /etc/setroublrshoot/setroubleshoot.cfg          ----修改setroubleshoot的配置文件让setroubleshoot主动发送信息到自己的email
              recipients_filepath=/var/lib/setroubleshoot/email_alert_recipients          (81)----这行必须要存在
              console=True          (147)----将原来的False修改成True
              # vim /var/lib/setroubleshoot/email_alert_recipients          ----填写邮件地址
              root@localhost
            your@email.adderss
              # /etc/init.d/auditd restart          ----重启 auditd
         3. SELinux错误克服的总结
              1. 在服务与rwx权限都没有问题,却无法成功的使用网络服务时;
              2. # setenforce 0          ----先设定为宽容模式
              3. 再次使用该网络服务, 如果这样能用表示确实是SELinux的问题
              4. 分析/var/log/messages内的信息,然后用sealert -l处理
              5. 找到AlloowAccess的关键词。照里面的动作进行SELinux的错误克服
              6. # setenforce 1          ----再次测试网络服务  
7.5     被攻击后的主机修复工作
    7.5.1 网管人员应该具备的技能
         1. 了解什么是需要保护的内容
         2. 预防黑客的入侵
         3. 主机环境安全化
         4. 防火墙规则的设定
         5. 实时维护你的主机:log file、portsentry
         6. 良好的教育训练课程
         7. 完善的备份计划:   rsync工具
    7.5.2 主机受攻击或复原工作流程
         1. 立即拔出网络线
         2. 分析登陆文件信息,搜寻可能的入侵途径
              分析登录档;
              检查主机开放的服务;
              查询Internet上面的安全通报。
         3.  重要数据备份
         4. 重新全新安装
         5. 软件的漏洞修补
         6. 关闭或 移除不需要的服务
         7. 数据恢复与恢复服务设定
         8. 连上Internet
7.6     重点回顾
7.7     本章习题

 

转载于:https://www.cnblogs.com/eli01/p/3559621.html

相关文章:

  • Andrew Ng经典机器学习课程的Python实现(第1部分)
  • TCP/IP 笔记三
  • R中绘制聚类的离散图
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 如何在电脑上测试手机网站(补充)和phonegap
  • Qt之在QGraphicsView中绘图
  • 与众不同 windows phone (28) - Feature(特性)之手机方向, 本地化, 应用程序的试用体验, 系统主题资源, 本地数据的加密解密...
  • springBoot 整合 Hazelcast 作为缓存中间件
  • 初识python:格式化输出
  • 算法起步之Kruskal算法
  • 回文自动机学习笔记
  • 深入理解Java类加载器(ClassLoader)
  • @我的前任是个极品 微博分析
  • DOS操作系统
  • Linux基础学习(14)--日志管理
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 分享的文章《人生如棋》
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • Effective Java 笔记(一)
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • JAVA并发编程--1.基础概念
  • java正则表式的使用
  • Laravel Mix运行时关于es2015报错解决方案
  • Laravel5.4 Queues队列学习
  • Lucene解析 - 基本概念
  • MySQL数据库运维之数据恢复
  • python_bomb----数据类型总结
  • Rancher-k8s加速安装文档
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 大快搜索数据爬虫技术实例安装教学篇
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 让你的分享飞起来——极光推出社会化分享组件
  • 微信小程序设置上一页数据
  • 函数计算新功能-----支持C#函数
  • #define 用法
  • #FPGA(基础知识)
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (13):Silverlight 2 数据与通信之WebRequest
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (南京观海微电子)——I3C协议介绍
  • (四)汇编语言——简单程序
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转载)Linux 多线程条件变量同步
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET 使用配置文件
  • /3GB和/USERVA开关
  • /run/containerd/containerd.sock connect: connection refused
  • @ConfigurationProperties注解对数据的自动封装