网络安全管理【Linux-shell】

网络安全管理:



    操作系统安全主要基于:控制和隔离。
    访问控制涉及3方面:主体、客体、控制机制。

    SELinux:是Linux中的一个内核安全模块,它提供了另外一种被称为强制访问控制(MAC)的安全机制,目的是为了消除因单一使用自主访问控制(DAC)而导致的潜在系统安全隐患。

    cat /proc/l/attr/current  #查看init进程的安全上下文
    ps -Z #查看进程的安全上下文

    cat /etc/selinux/config  #SELinux的基本配置文件

    sestatus [选项】:查看SELinux当前的状态信息
        -v:检查"/etc/sestatus.conf"中所列的文件及进程的安全上下文
        -b:列出当前策略下的布尔值启动状态(on或off)

    getenforce #查看当前SELinux所处工作模式
    setenforce 0 #切换为宽容模式
    setenforce 1 #切换为强制模式

    chkconfig --list auditd #查看auditd服务是否已启用
    #审计日志信息在/var/log/audit/audit.log

    sealert 【选项】:查阅利用SELinux日志的辅助服务setroubleshoot,守护进程setroubleshootd监听SELinux发出的审计事件记录在日志文件/var/log/message;sealrt---setroubleshoot服务向用户提供的具有图形化用户界面以及命令行形式的日志分析工具。
        -a:扫描日志文件并分析其中的AVC类型事件。对于SELinux,后加日志文件路径参数。
        -l:根据id查阅事件的详细信息。

    yum install setools #安装查阅设置SELinux策略及其规则服务
    seinfo 【选项】 【策略文件】:查询指定策略文件的组成信息
        -u:列出SELinux的所有用户
        -r:列出SELinux的所有角色
        -t:列出SELinux的所有类型
        -b:列出策略中所包括的规则
    seinfo

    sesearch 【规则类型】 【选项】 【SELinux策略】:在SELinux策略中搜索规则。
        -t:根据客体的类型参数查找规则
        -s:根据主体的类型参数查找规则
        -b:根据布尔值参数查找规则
    getsebool 【选项】 【SELinux布尔值】:获取SELinux的布尔值
        -a:列出SELinux布尔值的设置情况
    setsebool 【选项】 SELinux布尔值on/off:设置SELinux布尔值
        -P:默认不使用该选项,将不会把布尔值写入策略文件

    chcon 【选项】 【文件路径】:修改文件安全上下文
        -t:后加参数用于设定文件安全上下文中的类型
        -r:后加参数用于设定文件安全上下文的角色
        -u:后加参数用于设定文件安全上下文的用户
        --reference=FILE:将按照FILE的安全上下文设置
    ----------------------------------------------------------------------------------------------
    linux包过滤防火墙系统:
        netfilter和iptables。
    netfilter:由Linux内核模块提供,负责包过滤、网络地址转换和端口转换等功能。
    iptables:一个用户程序,负责提供界面接口让系统管理员配置来自于netfilter的表及其存储的链和规则。

    Linux防火墙需要启动iptables系统服务来完成。
    sudo service iptables start


    iptables 【表格指定】 命令选项 【匹配条件】 【目标】:防火墙的管理
        1)表格指定:使用-t选项并给出filter,nat或mangle等参数来指定当前所要操作的表。
        2)匹配条件表示
            -s:源地址
            -d:目标地址
            -p:协议名
            --sport:源端口
            --dport:目标端口
        3)目标表示
        4)命令选项:
            -L:后加数据链名称参数,查看指定数据链的所有规则。
                配合参数-line-numbers显示结果中的规则编号
            -I:在指定链路中的某个位置插入一条或多条规则
            -R:重置指定链路中的某条规则
            -D:在指定链路中删除删除指定的一条或多条规则
            -A:在指定链路末尾附加一条规则
            -P:在指定链路中设置默认策略
    ------------------------------------------------------------------------------------------------
    利用SELinux控制访问vsftpd(very secure ftp)服务:
    sudo yum install vsftpd #安装ftp服务器软件
    sudo service vsftpd start  #开启服务ftp
    iptables -L INPUT
    iptables -I INPUT 1 -p tcp --dport 21 -j ACCEPT #增加开放FTP服务的规则
    getenforce #是否设置为强制模式
    setenforce 1  #若没有,则设置强制模式
    ftp ip地址 # ftp 192.168.126.128
        ------>匿名身份登录anonymous  #  /var/ftp/---作为根/
    setsebool ftp_home_dir  on #设置FTP服务器,用户可登陆到用户的家目录
    getsebool ftp_home_dir
    tail /var/log/messages #查看日志信息新记录。前提已安装setroubleshoot软件
    grep AVC  /var/log/audit/audit.log #查看相关日志记录,审计
    -------------------------------------------------------------------------------------------------------
    利用nmap软件检查防火墙设置:
    nmap -sS  [被扫描的主机IP地址】 #扫描主机的所有开放端口,被扫描的主机已开启防火墙。前提nmap已安装并开启服务

    iptables -I INPUT 1 -s 192.168.126.128 -j DROP # 被扫描的主机增加防火墙规则屏蔽攻击方的访问。攻击方IP地址192.168.126.128
    ping 【被扫描的主机IP地址】
    nmap -sS  [被扫描的主机IP地址】
    nmap -p21   [被扫描的主机IP地址】  #针对FTP服务扫描端口21
    nmap -sS  [被扫描的主机IP地址】 -S  【伪造的源地址IP】 -e eth0
    ifconfig eth0   【伪造的源地址IP】   netmask  255.255.255.0
    ping   【被扫描的主机IP地址】



你可能感兴趣的:(Linux)