网络安全与主机基本防护-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 作系统硬件变更侦测的服务,务必启动
iptables linux内建的防火墙软件
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    本章习题

 

posted @ 2014-02-21 16:03  Neuromancer  阅读(419)  评论(0编辑  收藏  举报