精华内容
下载资源
问答
  • 系统支持设置栏目管理管理员,同时还可以根据需求分配不同的权限给他们进行管理,帮助用户轻松实现网站多人维护。 6、多重安全机制和权限控制,为网站安全保驾护航 支持后台Cookie加密、验证码IP锁定、IP白名单、...
  • 飞腾ASP网站内容管理系统(Feitec ASP Content Manage System),简称FeitecCMS或FTCMS,其标识程序,属飞腾工作室版权所有。本站公开发行版FeitecCMS AC版本为ACESS免费版,你可以任意传播、修改使用。但不得...
  • 系统支持设置栏目管理管理员,同时还可以根据需求分配不同的权限给他们进行管理,帮助用户轻松实现网站多人维护。 6、多重安全机制和权限控制,为网站安全保驾护航 支持后台Cookie加密、验证码IP锁定、IP白名单...
  • 为了保证系统资源的安全,传统的Linux使用用户、文件权限的概念来限制资源的访问,通过对比进程的发起用户和文件权限以此来保证系统资源的安全,这是一种自由访问控制方式(DAC);但是随着系统资源安全性要求提高,...

    SELinux(Security Enhanced Linux)

    系统资源都是通过进程来读取更改的,为了保证系统资源的安全,传统的Linux使用用户、文件权限的概念来限制资源的访问,通过对比进程的发起用户和文件权限以此来保证系统资源的安全,这是一种自由访问控制方式(DAC);但是随着系统资源安全性要求提高,出现了在Linux下的一种安全强化机制(SELinux),该机制为进程和文件加入了除权限之外更多的限制来增强访问条件,这种方式为强制访问控制(MAC)。这两种方式最直观的对比就是,采用传统DAC,root可以访问任何文件,而在MAC下,就算是root,也只能访问设定允许的文件。

    目录

    SELinux的工作原理

    工作模式和工作类型

    安全上下文

    SELinux日志管理

    一、SELinux的工作原理

    先说下SELinux下的几个基本的概念

    主体    # SELinux管理的主体为进程

    目标    # SELinux通过管理进程,来限制进程访问的目标,指文件

    工作模式    # 决定SELinux机制的启动与否

    enforcing===>强制模式,SELinux已经启动

    permissive===>宽容模式,SELinux已经启动,但不会禁止,只是会提出警告信息

    disabled===>关闭模式,关闭SELinux

    工作类型(SELinux type)   # 表示SELinux具体的安全性策略

    strict===>每个进程都受限制(仅在CentOS5)

    targeted===>默认类型为targeted,主要限制网络服务

    minimum===>简化版的targetd,限制部分网络服务(centos7)

    mls===>多级安全限制,较为严格

    安全上下文(security context)

    这个是我们主要修改的地方,进程必须和文件的安全上下文对应(不是必须一样)才能对其进行访问。

    ls -Z 文件名    # 查看文件的安全上下文

    ps -eZ           # 查看进程的安全上下文

    sestatus# 查看SELinux的具体的工作状态

    cae97dac655a70035400f48ccac7fa45.png

    工作原理如下图:

    868ac93ae347bbf34b7b47b11b827dde.png

    二、工作模式和工作类型

    2.1 工作模式

    getenforce可以查看当前SELinux的工作模式;setenforce可以修改SELinux的工作模式,不过仅能在permissive和enforcing之间切换。

    [root@CentOS6 ~]# setenforce 0|1分别代表permissive、enforcing

    使用命令修改工作模式只在当前有效,想要开机生效,而且如果想要在disabled和其他两种模式之间切换,只有修改配置文件参数然后重启,该配置文件是/etc/selinux/config,另外也可以通过/etc/sysconfig/selinux文件修改,其实该文件是/etc/selinux/config的软链接文件

    459b37e316c12e8c3f5dcbe2da26e54d.png

    notice:SELinux从disabled切换到其他模式的时候,系统的重启会花费很长的时间,因为需要为每个受管制的进程和文件写入安全上下文,我的小伙伴以为是配置过程中出错然后直接恢复快照了。

    2.2 工作类型

    SELinux下存在不同的规则,SELinux根据不同的工作类型对这些规则打开或关闭(on|off),然后通过规则的开启与关闭具体地限制不同进程对文件的读取。

    getsebool -a 或者 sestatus -b      # 查看当前工作类型下各个规则的开启与否

    35e6f5400eca8c86d25730e304914a70.png

    setsebool -P 规则名称 [0|1]    # 修改当前工作类型下指定规则的开启关闭,-P表示同时修改文件使永久生效

    8a636b5ac4312f16b5d4576f170fdbae.png

    三、安全上下文

    3.1 security context介绍

    安全上下文存在于进程与文件中,context随进程一起存入内存中,文件的context存放在其对应的inode中,因此进程在访问文件时,要先读取inode,再判断是否能够访问该文件。

    ls -Z    # 显示文件的安全上下文

    ps -eZ   # 显示所有进程的安全上下文

    a9dbb05631e8a7f6b926565dc7b544ed.png

    context可以有5个字段,以:为分割符,分别代表的含义如下

    user

    role

    type

    sensitivity

    category

    身份识别

    unconfined_u不受限的用户或文件

    system_u受限的进程或文件

    文件、进程、用户

    object_r文件

    system_r进程和用户

    数据类型,重要

    何种类型进程���问何种文件

    安全级别

    s0最低

    只要在msl下才有意义

    划分的不同分类,当它不存在了

    context查询工具seinfo、sesearch

    seinfo -u    # 查询所有的user字段的种类

    seinfo -r    # 查询所有的role字段的种类

    seinfo -t    # 查询所有的type字段的种类

    sesearch -A 可以查询什么类型进程可以读取什么type类型的文件

    sesearch -A -s 进程type    # 查询type类型的进程能够读取的文件type

    sesearch -A -b 规则(规则的boolean值,所以为-b选项,理解为bool规则)

    # 查询指定规则下放行的进程能够读取的文件type

    70900d5a2a480edbf1b2927e7bc5acf2.png

    ec8d57d2f2d7c6c1ce1c75acff61c25a.png

    3.2 当前context和期望context

    系统中的每个文件都会有context,我们使用ls -Z查询出来的我们看到的context就是当前context;那期望context又是什么呢,系统会把每个文件的默认context记录下来并保存,这样系统记录下来的就是期望context。semanage命令可以管理每个文件的期望context,也叫期望标签。

    semanage fcontext -l                     # 查看所有的期望SELinux标签

    semanage fcontext -a -t type 目标目录    # 添加期望SELinux标签

    semanage fcontext -m -t type 目标目录    # 修改期望SELinux标签

    semanage fcontext -d -t type 目标目录    # 删除期望SELinux标签

    修改规范:

    ~]# semanage fcontext -a -t type 目录(/.*)?

    40b9d9d1b7fc3d816c70cf8c14f94671.png

    3.3 修改当前context

    使用chcon命令手动修改security context,格式chcon 选项 目标文件

    chcon        # 手动修改文件的context,-R选项可以递归修改目录,-v选项可以显示context的修改前后的结果

    chcon -t     # 修改文件的context的type字段

    chcon -u     # 修改文件的context的user字段

    chcon -r     # 修改role字段

    chcon -l    # 修改安全级别

    chcon -h     # 针对软链接文件的修改,不加-h则会修改软链接对应的原文件

    chcon --reference=file # 以file的context为模板修改

    使用restorecon命令修改context为期望context,格式restorecon 选项 目标文件,

    restorecon -R    # 递归修改目录

    restorecon -v    # 显示修改的过程

    3.3 semanage修改进程访问的端口号

    虽然听起来是修改端口号的,但是到底还是修改安全上下文的,我们用semanage工具,命令为semanage port

    查询某个服务的context type字段

    语法:semanage port -l |grep 服务名

    添加某个端口为指定服务的访问端口

    语法:semanage port -a -t type -p 协议 端口号(不要与常用端口重复)

    例如添加ssh服务的端口号,默认为22

    460bf1854f52d07e7236495103265846.png

    四、SELinux日志管理

    SELinux阻止的进程的日志记录存放在/var/log/audit/audit.log文件中,但是该文件中的内容用户阅读体验很差,可以去cat /var/log/audit/audit.log看看,因此系统为我们提供了sealert工具,帮助我们整理该日志文件,sealert工具处理日志文件的时候需要花费一点时间,请耐心等待。

    另外SELinux的日志功能需要auditd.service服务的开启。

    结合案例(apache SELinux配置)来了解sealert工具:

    1.确保本机配置了httpd服务并处于开启状态,httpd服务配置方法请参考:Apache部署httpd服务  https://www.linuxidc.com/Linux/2018-05/152278.htm

    872fed611a4e6437becb4f7c7419df41.png

    2./usr/sbin/httpd命令会开启进程去读取/var/www/html/目录下以.html结尾的文件,现在在家目录下创建文件~/index.html,随意编写内容,之后把新创建的文件移动至/var/www/html/下。

    09aee93948d7853b099ae75a22306740.png

    3.我们通过浏览器,在地址栏输入本机IP,查看成功与否,当出现如下界面的时候表示访问失败。

    765e14659b696553f1a88b24445ff080.png

    4.我们在配置服务的时候确定了没有问题,这时候我们要想到可能是SELinux阻止了我们访问。我们通过命令

    sealert -a /var/log/audit/audit.log

    查看SELinux日志,我们找到httpd的关键字,阅读内容,下图中的内容是我们主要关注的部分,其他则是/var/log/audit/audit.log的内容,我们可以忽略。最后我们优先考虑改动最小的解决方案,即修改SELinux标签。

    7eb58a766c7a49f106675bedc6425ccf.png

    5.执行命令restorecon -v /var/www/html/index.html,就是修改该文件为httpd能够访问的默认标签

    17298b4198b96913f8561b09d5b171eb.png

    6.再用浏览器访问查看结果,这次成功。

    a1d94380df613fed9ef41aa01b233e1e.png

    0b1331709591d260c1c78e86d0c51c18.png

    展开全文
  • 三、强化控制器 3.1重新部署数据 3.2配置使用Syskey保护帐户数据 3.3禁用错误报告 3.4用IPSec过滤器阻断端口 四、强化IIS服务器 4.1 Internet信息服务(IIS)6.0 4.2 创建站点及访问设置 4.3 配置DNS服务...
  • 前后推出了“YIXUNCMS标准版”、“YIXUNCMS简约版”、“YIXUNCMS时尚版”、“YIXUNCMS增强版(也称强化版)”、“YIXUNCMS企业营销版”为给企业提供更加适合的系统,我们不断对系统进行性能升级功能改进,使其能够...
  • 完善的权限设定,使管理员可控制到每个用户,每个组所在每个分论坛的各种权限。 国际化和标准化的产品架构 目前发布的版本分为简体中文,繁体中文和英文三个版本。自 Discuz! 2.0 以来,因其高效国际化内核的应用...
  • 时代商城购物系统提供了迄今最强大的 web 界面数据备份和恢复功能,具有足以应付超大数据库的分卷备份能力,使得管理员不需任何服务器权限即可轻松维护时代商城购物系统数据库.更有远程数据读取功能,两台主机之间传递...
  • 9.8 控制数据库访问管理 258 9.8.1 为登录分配访问权限和角色 258 9.8.2 为多个登录分配角色 259 9.8.3 创建标准的数据库角色 260 9.8.4 创建应用程序数据库角色 261 9.8.5 删除数据库用户的角色成员关系 ...
  • 系统所有功能实现及控制均采用api外部接口,数据输出形式以JSON为主,可接收外部GET、POST参数; 客户端支持Python、Java、C、易语言、PHP、易安卓、火山移动、部分游戏开发引擎、等所有主流开发语言。 适用环境...
  • 系统所有功能实现及控制均采用api外部接口,数据输出形式以JSON为主,可接收外部GET、POST参数; 客户端支持Python、Java、C、易语言、PHP、易安卓、火山移动、部分游戏开发引擎、等所有主流开发语言。 适用环境...
  • DTC: Distributed Transaction Coordinator(分布式事务处理协调器),用于协调多个数据库、消息队列、文件系统等等资源管理器的事务,由于内部开发中并不使用这个功能,远程数据库服务器上也并不经常使用,因此建议...
  • 一套强化linux安全的MAC扩展模块,由美国国家安全局主导开发,集成在内核中(2.6以上),操作系统提供可定制的策略,管理工具。 安全保护模型: DAC 自主访问控制 (Discretionary access control 所有者对自己...

    #一、SELinux
    一套强化linux安全的MAC扩展模块,由美国国家安全局主导开发,集成在内核中(2.6及以上),操作系统提供可定制的策略,管理工具。
    安全保护模型:
    DAC 自主访问控制 (Discretionary access control 所有者对自己的资源负责)
    典型的DAC应用:
    9位权限码(rwx); ACL 策略
    MAC 强制访问控制
    MAC 可以针对特定的进程与特定的文件资源进行权限的控制。
    Mandatory Access Control 管理员对所有的资源负责
    典型MAC应用:TCSEC 标准定义的MLS多级安全;SELinux
    1、红帽的selinux 策略集
    selinuxtype=targeted —推荐,仅保护最常见/关键的网络服务,其他不限制
    主要的软件包:selinux-policy 、selinux-policy 、libselinux-utils 、libselinux-utils 、coreutils 、policycoreutils;
    2、selinuxtype=mls --提供多层次、全面的安全防护策略--------需要的扩展软件包:selinux-policy-mls ;mcstrans;
    policycoreutils-newrole
    3、 selinux 配置文件是:/etc/selinux/config #cat /etc/selinux/config
    查看selinux的策略policy用 :sestatus;
    #sestatus 【-v b】:-v 检查列出/etc/sestatus.cof内的文件与程序的安全上下文;
    -b 将目前规则布尔值列出
    4、 selinuxenabled 检查selinux是否开启?配合echo$?,传回值位0位开启,1位关闭。
    #selinuxenabled #echo $?
    5、安全上下文(security context ,安全上下文 为文件/目录/设备标记访问控制属性)
    查看进程 #ps aux -Z #ps -aux -Z |grep -i 进程名
    查看文件安全上下文 #ls -lZ 文件
    查看目录安全上下文:#ls -ldZ 目录名
    查看用户上下文:#id -Z
    安全上下文的组成:indentify 身份识别、role 角色、type 类型
    常见的访问类型:bin_t 二进制执行文件
    etc_t 系统配置文件
    fsadm_exec_t 文件系统管理
    admin_home_t 管理员账户的宿主目录
    user_home_t 普通用户的宿主目录
    httpd_sys_content_t httpd网站的内容
    身份识别:—root :root身份;-----system_u :表示系统程序方面的标识,通常是进程;
    -----user_u :一般用户账号;
    角色role: object_r :代表的是文件或者目录等文件系统; system_r :代表进程。
    6、修改安全上下文 :
    使用chcon工具:
    ---- -t : 指定访问类型;
    ---- -u 、 -r 分别用来指定用户、角色
    ---- -R 递归修改
    一般规律:—移动的文件,原有的上下文属性不变;----复制的文件,自动继承目标位置的上下文。
    ---- 创建新文件,新文件继承父目录的安全上下文。
    重置安全上下文:使用 restorecon 工具
    -----恢复为所在位置的默认上下文属性;
    ---- -R 递归修改;
    -v :将过程显示在屏幕上;
    脚本 ./ autorelabel 文件 : 指的是下次重启后全部重置
    7、调整 selinux布尔值(功能开关)
    使用getsebool查看 -a 可列出所有布尔值;
    使用setsebool设置: -P 永久更改,重启后任然有效;=0|1 :重启/关闭 ; on | off : 重启 |关闭 ;
    例子:启用selinux 后修改网站服务使用的端口号为8090?
    #vim /etc/httpd/conf/httpd.conf
    listen 8090
    #systemctl restart httpd 重启失败
    通过selinux日志程序记录报错信息指导修改
    #semanage port -a -t http_port_t -p tcp 8090
    #systemctl restart httpd 成功
    #netstat -antulp |grep httpd
    __________________________________________________
    8、启用selinux 日志程序记录报错信息?
    日志程序:setroubleshoot
    通常情况下,系统日志程序会把没有单独日志文件的服务的日志放到/var/log/message
    #rpm -qa |grep -i shoot
    #cat /var/log/message | grep -n -i setroubleshoot | tail -1
    如何开机的时候启动就启动setroubleshoot ?
    #chkconfig --list setroubleshoot (只有是3或者5就表示已启动,centos6版本用chkconfig)
    #chkconfig setroubleshoot on 或 systemctl enabled setroubleshoot
    ]# grep setroubleshoot /var/log/messages //查看日志,会给出 run xxxxx 的提示
    _____________________________________________
    9、查看默认目录的安全上下文查询及修改
    semanage {login | user | port |interface |fcontext |translation } -l (主要用fcontext)
    semanage fcontext -{a |d |m } [-f r s t ] file_spec
    ---- -l 查询;
    fcontext :主要用在安全上下文方面;
    ----- -a 增加;
    ----- -m 修改;
    ----- -d 删除;
    例子:# semanage fcontext -l |grep -i ‘/var/www/html/’
    要求:设置/srv/sabam目录的默认安全上下文为:public_content_t
    ( #mkdir /srv/samba
    # ll -Zd /srv/samba
    #semanage fcontext -l |grep ‘/srv/samba’
    #semanage fcontext -l |grep ‘/srv’
    #semanage fcontext -a -t public_content_t ‘/srv/samba(/.)?
    #semanage fcontext -l |grep ‘/srv/samba’
    #cat /etc/selinux/targeted/contexts/files/file_contexts.local #已经写入档案,有默认值了
    #restorecon -Rv /srv/samba
    以后可以用restorecon恢复
    #ll -Zd /srv/samba)
    10、selinux 三种模式:enforcing 强制;permissive 宽松; disabled 彻底禁止
    查看当前的模式:getenfoce
    enforcing 和 permissive 临时切换 用: setenforce 1 |0 (1 为强制,0为宽松)
    永久修改,修改配置文件:/etc/selinux/config SELINUX=permissive
    二、防火墙(firewall 、 iptables)
    RHEL 7 默认使用firewalld 作为防火墙,RHEL 6默认iptables 为防火墙;
    防火墙的作用:— 切割被信任与不信任的网段; ----- 划分出可提供Internet 的服务与必须受保护的服务;
    ------- 分析出可接收与不可接收的数据包;(隔离,过滤入站、允许出站)
    2.1 服务 :firewalld
    管理工具: firewall-cmd 、firewall-config(图形工具)
    使用方法:#firewall-cmd --help
    预设安全区域:
    –public 仅允许访问本机的sssd 、DHCP、ping 少数几个服务;
    –trusted 允许任何访问
    –block 阻塞任何来访请求,明确拒绝
    –drop 丢弃任何来访的数据包,节省资源
    启动服务:# systemctl start firewalld
    停用服务:# systemctl stop firewalld
    禁用服务:# systemctl disable firewalld
    查看默认区域:# firewall-cmd --get-default-zone
    修改默认区域:# firewall-cmd --set-default-zone=trusted /public/block/drop
    查看区域规则:# firewall-cmd --zone=public --list-all
    # firewall-cmd --zone=trusted --list-all
    # firewall-cmd --zone=block --list-all
    添加服务:# firewall-cmd --zone=public --add-service=http
    # firewall-cmd --zone=public --list-all
    查看服务状态:# firewall-cmd --state
    running:运行时,仅当前有效,重载防火墙后失效;
    permanent:永久有效,静态配置,需要重新加载防火墙才能生效
    重新加载防火墙配置:# firewall-cmd --reload
    添加端口转发:(实现端口映射)
    # firewall-cmd --permanent -zone=public --add-forward-port=5423:proto=tcp:toport=80
    工作过程中读特殊IP设置防火墙:# firewall-cmd --zone=block --add-source=172.25.0.01
    严格:默认区域设为drop,把允许的IP单独放入trusted;
    宽松:默认区域设为trusted,把拒绝的IP单独放入drop;
    查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
    拒绝所有包:firewall-cmd --panic-on
    取消拒绝状态: firewall-cmd --panic-off
    查看是否拒绝: firewall-cmd --query-panic
    怎么开启一个端口呢?
    添加 #firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,没有此参数重启后失效)
    重新载入 #firewall-cmd --reload
    查看 #firewall-cmd --zone= public --query-port=80/tcp
    删除 ##firewall-cmd --zone= public --remove-port=80/tcp --permanent
    __________________________________________________________________
    2.2 iptables
    2.2.1 基础知识:
    iptables用来衡量tcp/ip报文的属性:源ip、目标ip、源端口、目标端口;
    tcp标志位: syn、syn+ack、ack、 fin、urg、psh、rst ;
    netfilter主要工作在tcp/ip协议栈上的,主要集中在tcp报文首部和udp报文首部。
    类别:单一主机型:数据包过滤型的Netfilter; 依据服务软件程序作为分析的TCP Wrappers
    网路型:数据包过滤型的Netfilter; 利用代理服务器(proxy server)
    规律:一般proxy 主机通常只开放port 80、21、20等www、ftp 的端口;
    过滤式防火墙主要分析OSI七层中的2,3,4层
    2.2.2 启用服务
    centos 7以上系统使用iptables前,禁用firewalld服务:
    # systemctl disable firewalld
    或者# systemctl stop firewalld,# systemctl mask firewalld
    # yum -y install iptables
    # yum -y install iptables-services (一定要安装这个,不然会提示无文件)
    # systemctl restart iptables.service
    # systemctl enableiptables.service
    # systemctl status iptables.service
    # ls /etc/sysconfig/iptables-config 查看配置文件已存在;
    2.2.3 iptables 表、链结构
    iptables默认有四个表:
    ----nat 地址转换表; – -- 用来管理后端主机的;
    ----filter 数据过滤表; -----管理本机进出的;
    ----raw 状态跟踪表; -----跟踪数据表规则表
    ----mangle 包标记表 -----管理特殊标志使用的mangle(将报文拆开来并修改报文标识位,最后封装起来)
    filter 过滤器(过滤本机的数据包):三条链
    INPUT: (入站规则)
    OUTPUT:(出站规则)
    FORWARD:(转发规则,与NAT的table相关性高)
    NAT 地址转换:用来进行来源与目标地址的IP或PORT转换
    (snat :源地址转换 ; dnat :目标地址转换 ; pnat :目标端口转换)
    —三条链名:
    PREROUTING :进行路由判断之前的规则
    POSTROUTING:路由判断之后的规则
    OUTPUT:与发送出去的数据包有关
    注意:—如果iptables只是用来保护主机本身,则不需要NAT规则,直接设置为开放就行;
    –如果用来管理LAN内其他主机,则要针对filter的FORWARD和NAT表中3个链进行额外的规则设置。
    -----规则匹配原则:匹配即终止;若无任何匹配,则按该链的默认策略处理。
    2.2.4 iptables基本用法
    管理程序的文件位置:/var/sbin/iptables
    iptables如何查看表和链?每一个链都有默认策略:policy ACCEPT
    iptables [-t 表] 大写选项子命令 [规则号] 链名 匹配标准 -j 目标(规则)
    (大写字母选项:可以实现某种功能,比如添加删除清空规则链;小写字母选项:用来匹配及其他)
    -t : 指定表 -t{fillter|nat|mangle|raw};
    -v : 显示详细信息 观察规则的匹配情况
    -n :数字格式显示ip和端口,不进行IP和HOSTNAME的反查,显示速度更快;
    -L: 列出目前的table的规则
    -F :清空链
    -P:设定默认策略,为指定链设置默认策略
    -N:新建自定义链;
    -p:协议名和协议号
    -X : 删除自定义空链,如果链内有”规则,则无法删除
    -Z :清空防火墙数据表统计信息
    -E :重命名自定义链
    - - line-numbers :查看规则时,显示规则的行号
    iptables管理规则:
    -A :append附加规则,将新增的规则添加到链的尾部
    - I [n] :插入为第n条规则
    -D : 删除第n条规则
    -R[n] : 替换第N条
    清空nat表中的input链,#iptables-t nat -F INPUT
    清空fllter表所有链:#iptables-F
    设置fllter表input链的默认规则为丢弃 :iptables-t fllter -P INPUT DROP
    查看规则:# iptables -L -n
    触发动作:
    DROP : 丢弃数据包
    REJECT : 拒绝数据包通过
    ACCEPT : 允许数据包通过
    RETURN : 返回主链继续匹配
    REDIRECT: 端口重定向
    MASQUERADE :地址伪装
    DNAT : 目标地址转换
    SNAT :源地址转换
    MARK :打标签
    LOG :记录日志,然后传给下一条规则
    注意事项:1–可以不指定表,默认认为filter表;
    2–可以不指定链,默认认为对应表的所有链;
    3–除非设置默认策略,否则必须指定匹配条件;
    4–选项/链名/目标操作用大写字母,其余为小写;
    5–对于数据包被分割成片段发送出去,为了匹配不同的分割数据片,加"-f’ 选项。
    6-- 防止收到大量无效数据包的攻击,限制每秒钟接收数据包的个数,用 “–limit” 扩展功能。
    7-- 通过"–string" 设置关键词限制网络连接。
    # iptables -t nat -L -n (target prot opt source destination)
    target 代表进行的操作;
    prot 代表使用的数据包协议;
    opt 代表额外的选项
    source 来源IP
    destination 目标IP
    2.2.5 针对不同的要求设置对应的规则
    1、IP、网络及接口设备对比:
    iptables [-A I 链名] 【- i o 网络接口】【-p 协议】【-s 来源IP/网络】【-d 目标IP/网络】
    -j【ACCEPT /DROP /REJECT /LOG】
    -A I 链名 : A 增加;I 插入;
    - i 、o 网络接口: i 数据包进入的那个网路接口; o 数据包出去的网络接口;
    -p 协议 :tcp udp icmp all
    -s 来源IP/网络: 不接受则用 -s !
    -d 目标IP/网络 :不接受则用 -d !
    2、TCP UDP的规则比对:针对端口设置
    iptables [-A I 链名] 【- i o 网络接口】【-p 协议】【-s 来源IP/网络】【–sport 来源端口范围】【-d 目标IP/网络】
    【–dport 目标端口范围】 -j【ACCEPT /DROP /REJECT /LOG】
    注意:必须加上-p tcp或者udp 因为只有tcp /udp数据包具有端口号;
    3、iptables 外挂模块 :mac 和 state
    用状态模块分析这个想要进入的数据包是否为刚刚发出去的响应。
    iptables -A INPUT 【-m state】【–state 状态】
    -m : state (状态模块,还有limit、string等扩展模块),
    –state :一些数据包的状态:
    (INVALID:无效数据包; ESTABLISHED:已经连接成功的连接状态;
    NEW:想要新建连接的数据包状态;RELATTE:最常用,表示这个数据包是与主机发送出去的数据包有关)
    –mac -source :就是来源主机的mac地址 mac(网卡硬件地址)
    4、ICMP 数据包规则的比对:针对是否响应ping来设计
    iptables -A INPUT 【-p icmp】【–icmp -type 类型】 -j ACCEPT
    echo -request 代表本机ping 别人
    注意:如果主机是作为局域网的路由器,建议ICMP数据包全部放行,因为客户端检测网路时,会用ping来测试。
    5、最简单的防火墙设置
    –1、规则归零 iptables -F
    –2、默认策略 :除了把INPUT设为DROP外,其他默认为ACCEPT
    –3、信任本机 (lo 必须为信任设备)
    –4、回应数据包:让本机通过主动向外发出请求而响应的数据包可以进入本机(ESTABLISHED、RELATED)
    2.2.6注意事项:
    1、IPV4的内核管理功能:/proc/sys/net/ipv4/*
    防火墙作为网关、路由的必要条件:
    —echo ‘net.ipv4.ip_forword=1’ >> /etc/sysctl.conf
    或者
    —echo 1 > /proc/sys/net/ipv4/ip_forward
    2、避免SYN Floding 的阻断式DOS攻击,启用内核SYNCookie模块
    即:#echo “1” > /proc/sys/net/ipv4/tcp_syncookies
    3、内核取消ping回应值
    # echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_broadcaste
    4、内核针对不同的网路接口有不同参数设置
    /proc/sys/net/ipv4/conf/网络接口(eth0、eth1)/


    防火墙的备份与还原
    工具:i[tables-save 备份 和iptables-restore 还原
    防火墙的默认规则存储在/etc/sysconfig/iptables 中,iptables-save将规则保存至该文件中,计算机重启后会加载该文件。
    iptables-restore 将备份文件直接导当前防火墙规则。
    ]# iptables-save > /etc/sysconfig/iptables
    ]# iptables-save > firewall.bak
    ]# iptables-restore < firewall.bak


    案例:作为路由器上的防火墙规则建立的脚本 iptables.rule 、iptables.deny 、iptables.allow(未完,待续!!)

    展开全文
  • IT安全以及iptables

    2019-11-05 17:24:58
    目录: IT运维安全 iptables概念应用 iptable NAT转发 IT运维安全 为了保障企业IT设备、门户网站、业务系统、应用软件&程序高效稳定的运行,需要通过一下一些...应用程序可读、可写、执行、控制访问权限...

    目录:

    1. IT运维安全
    2. iptables概念及应用
    3. iptable NAT转发

    IT运维安全

    为了保障企业IT设备、门户网站、业务系统、应用软件&程序高效稳定的运行,需要通过一下一些方面来强化安全

    安全从点滴做起

    • 硬件层面
      IDC机房门禁、设备静电、灭火器、管理人员权限、摄像头监控、操作权限、供电系统、空调、大风扇、服务器硬件等
    • 软件层面
      应用程序可读、可写、执行、控制访问权限、软件自身BUG、软件代码、网站程序代码、软件数据涉密、软件备份
    • 系统层面
      系统稳定性、系统补丁、系统用户、用户密码登录、密码复杂度、目录文件授权管理、开放端口、系统启动进程等
    • 网络层面
      网络流量、网络的连通性、网线、广域网链路、网络设备高可用、互备机制等


    iptables概念及应用

    • Iptables是Linux内核级别软件级防火墙,区别于硬件设备的防火墙,IPtables是开源的、免费的。
    • Netfilter/iptables看成是统一基于Linux级别防火墙,其实基于IP数据包做过滤的,有两个组成部分:Netfilter和IPtables,其中Netfilter主要是集成在Linux内核中模块,而iptables是用于管理Netfilter模块的;(类似IP_VS和ipvsadm关系)
    • Iptables防火墙由表和链构成的,其中表是存储在Linux内核中(Netfilter模块),链是存在表中的,链中由单个规则或者多个规则组成的,规则是什么呢?规则(约定)允许访问、不允许访问等
    • Netfilter主要是作用于内核空间,属于Linux内核中一个数据包过滤模块,而Iptables是用于管理Netfilter模块的(管理Netfilter中的表和链(规则)),通常称防火墙不是Netfilter/Iptables,而是直接称为Iptables(统称)

    如图所示,表示IPtables防火墙关于用户数据包的请求和流向结构图:
    在这里插入图片描述
    通常修改filter表
    在这里插入图片描述

    简单使用yum安装iptables

    yum install iptables iptables-devel iptables-utils iptables-services -y
    

    iptables 默认规则存放在/etc/sysconfig/iptables

    文件内容如下:

    # sample configuration for iptables service
    # you can edit this manually or use system-config-firewall
    # please do not ask us to add additional ports/services to this default configuration
    *filter  # 使用filter表
    :INPUT ACCEPT [0:0]  # 表示input链默认为接受数据包
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT  # -m 表示模块
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    

    查看规则

    [root@avazu ~]# iptables -L -n
    

    保存规则

    [root@avazu ~]# iptables-save >> /etc/sysconfig/iptables
    # 或者使用
    [root@avazu ~]# service iptables save
    

    线上防火墙配置示例

    # Generated by iptables-save v1.4.7 on Wed Dec 14 21:05:31 2016
    *filter
    :INPUT DROP [0:0]  # 默认丢弃
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [602:39593]
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    #########################
    -A INPUT -i lo -j ACCEPT
    ##########################
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 8801 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
    ####
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    

    将错误密码,且访问次数大于2的ip进行封禁

    for i in $(grep "Failed password" /var/log/secure|awk '{print $(NF-3)}'|sort|uniq -c|sort -nr|awk '{if($1>=2) print $2}');do sed -i "/lo/a -A INPUT -s $i -j DROP" /etc/sysconfig/iptables;done && service iptables save ; service iptables restart
    

    回到目录



    iptable NAT转发

    基于NAT表实现IP地址转发或者转化,操作案例如下:

    将192.168.1.126(本机)的8080端口转发至其他目标主机,主机IP:192.168.1.126,目标主机IP和端口:192.168.1.125:80,规则如下:

    1. 在nat表上添加规则,并保存
    iptables -t nat -A PREROUTING -p tcp -m tcp -d 192.168.1.126 --dport 8080 -j DNAT --to-destination 192.168.1.125:80
    iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.1.126:8080
    
    1. 打开内核路由转发,如果要自动打开,需要 添加到rc.local
    echo 1 > /proc/sys/net/ipv4/ip_forward
    

    回到目录

    展开全文
  • 使用安全简单 (自动增删改查、自动生成文档、自动管理版本、自动控制权限、自动校验参数、自动防SQL注入等) 灵活定制业务 (在后端编写 远程函数,可以拿到 session、version、当前 JSON 对象 等,然后自定义处理) ...
  • 网趣商城网站源文件

    2012-12-30 23:20:34
    新版旗舰版支持管理员自由权限划分,可以对后台所有管理权限独立划分给某一管理管理,建立不同管理权限管理员,更有效的方便管理商城系统,对于非本管理权限的则无权进行管理访问操作。 旗舰版支持多种排序...
  • Perl语言入门(第五版-中文版).pdf

    热门讨论 2010-11-02 09:48:06
    perl的最初目标只是为了协助unix系统管理员完成日常繁琐的文本数据处理工作。时至今日,perl已发展成为一套功能齐备的程序语言,几乎可以在任何操作系统上完成各种任务——从简单的命令行工具到web应用开发,及至...
  • 包括开放式通信模型、TCP/IP通信模型、IP网络中的命名和寻址机制、地址解析反向地址解析协议、DNS域字服务器、WINS、地址发现协议、IPv6、IP网络中的路由协议(RIP、OSPF等)、互联网打印协议、LDAP目录服务、远程...
  • TCP-IP技术大全

    2011-12-01 16:46:51
    包括开放式通信模型、TCP/IP通信模型、IP网络中的命名和寻址机制、地址解析反向地址解析协议、DNS域字服务器、WINS、地址发现协议、IPv6、IP网络中的路由协议(RIP、OSPF等)、互联网打印协议、LDAP目录服务、远程...
  • 2.2.5 在维护SQL Server事务控制时向文件系统存储非结构化数据 69 2.2.6 “就地”赋值并修改数据库值 73 2.3 DELETE 75 2.3.1 删除行 75 2.3.2 截断表 76 2.4 高级数据修改技术 77 2.4.1 使用TOP分块...
  • TCP/IP详解

    2013-07-25 11:17:06
    16.6 目录系统代理和访问协议 158 16.7 轻型目录访问协议 158 16.7.1 查询信息 159 16.7.2 存储信息 160 16.7.3 访问权限和安全 160 16.8 LDAP服务器-服务器通信 161 16.8.1 LDAP数据互换格式(LDIF) 161 16.8.2 LDAP...
  • TCP-IP协议详解

    热门讨论 2008-11-24 20:46:50
    16.6 目录系统代理和访问协议 158 16.7 轻型目录访问协议 158 16.7.1 查询信息 159 16.7.2 存储信息 160 16.7.3 访问权限和安全 160 16.8 LDAP服务器-服务器通信 161 16.8.1 LDAP数据互换格式(LDIF) 161 16.8.2 LDAP...
  • TCP/IP教程TCP/IP基础

    热门讨论 2009-11-23 20:58:46
    16.6 目录系统代理和访问协议 158 16.7 轻型目录访问协议 158 16.7.1 查询信息 159 16.7.2 存储信息 160 16.7.3 访问权限和安全 160 16.8 LDAP服务器-服务器通信 161 16.8.1 LDAP数据互换格式(LDIF) 161 16.8.2 LDAP...
  • TCP/IP技术大全

    2010-03-10 10:25:24
    16.6 目录系统代理和访问协议 158 16.7 轻型目录访问协议 158 16.7.1 查询信息 159 16.7.2 存储信息 160 16.7.3 访问权限和安全 160 16.8 LDAP服务器-服务器通信 161 16.8.1 LDAP数据互换格式(LDIF) 161 16.8.2 LDAP...
  • 16.6 目录系统代理和访问协议 158 16.7 轻型目录访问协议 158 16.7.1 查询信息 159 16.7.2 存储信息 160 16.7.3 访问权限和安全 160 16.8 LDAP服务器-服务器通信 161 16.8.1 LDAP数据互换格式(LDIF) 161 16.8.2 LDAP...
  • TCP IP教程 part1

    2008-08-26 09:18:48
    16.6 目录系统代理和访问协议 158 16.7 轻型目录访问协议 158 16.7.1 查询信息 159 16.7.2 存储信息 160 16.7.3 访问权限和安全 160 16.8 LDAP服务器-服务器通信 161 16.8.1 LDAP数据互换格式(LDIF) 161 16.8.2 LDAP...
  • watchdog:管理文件系统事件的 API 和 shell 工具。 PyFilesystem2:Python 的文件系统抽象层。 日期和时间 操作日期和时间的类库。 arrow:更好的 Python 日期时间操作类库。 Chronyk:Python 3 的类库,用于...
  • Gh0st RAT Beta 3.6 C++源码

    热门讨论 2008-08-22 18:20:15
    隐藏或者显示访问指定网址,清除系统日志 地址位置 将IP数据库文件QQWry.Dat放置程序同目录下即可显示地理位置 集群控制 可同时控制多台主机,同时打开视频监控等管理功能 备注功能 ......... <br> ...
  • 37、MSF部署阶段交付成果包括:运营支持信息系统/所有版本的文档、装载设置、配置、脚本和代码 / 项目收尾报告 38、六种MSF角色中,哪种角色不能与其他角色合并?开发 39、支持象限的主要目的是什么?整合过程、...

空空如也

空空如也

1 2
收藏数 36
精华内容 14
关键字:

强化访问控制及系统权限管理