Data Center手册(2): 安全性

有个安全性有下面几种概念:

  • Threat:威胁
  • Vulnerability: 安全隐患
  • Attack: 攻击

有关Threat

常见的威胁有下面几种

DoS(Denial of Service拒绝服务攻击)

Breach of confidential information 破解机密信息

Data theft or alteration 数据盗用和篡改

Unauthorized use of compute resources 未授权访问

Identity theft 身份盗用

有关安全隐患

安全隐患常来自以下方面:

  • 软件和协议的缺陷
  • 配置问题
  • 安全设计不足

比如使用过期的软件

有些软件有一些众所周知的缺陷,一些worm蠕虫会利用这些缺陷。

这些缺陷会被后续的更新改掉,如果不及时更新,可能被感染。

比如蠕虫CodeRed, Nimda, SQL Slammer就是利用软件缺陷进行攻击。

其中CodeRed和Nimda通过攻击Windows的IIS,SQL Slammer则攻击MS SQL 2000的一个众所周知的bug

再如使用默认的软件配置

有些默认的配置包含默认的用户名密码

有关Attack

Scanning/Probing

这是在攻击之前查看系统或者网络的信息,通过一次或者多次的检测

port scan以此查看TCP各个端口是否开启,如果开启,则为以后的攻击做准备

DoS Attack

使用大量的数据,占用大量的资源如果网络带宽,CPU, Memory,使得正常用户无法访问。

SYN Flood就是产生大量的TCP连接请求,但是并不建立连接,但是服务器会因为保持连接占用资源,最终资源耗尽。

smurf即产生大量的ICMP包,是broadcast的,但是源地址是要攻击的服务器,这样所有受到ICMP包的机器都会想服务器返回ICMP包。

PoD ping of death发送一个ICMP echo packet,但是篡改了其中max size这个域,当服务器受到这个包的时候,老的TCP/IP stack并不检查package size,因而试图为整个size创建一个内存空间,最终out of memory

大多数DoS attack才有发送大量的数据到被攻击节点,从而造成网络拥塞而暂停服务。

DDoS (Distributed denial of service)

DDoS是DoS系统的特殊版本

它控制大量的机器,对攻击目标同时访问。

DDoS通常分多个层次,Clients, Handlers, agents

Client由黑客直接控制,侵入一些系统,并在上面安装一个特殊的程序,作为handler,Client可以对handler发送指令。handler侵入更多的系统,上面安装agents。所有的handler和agents可以被client控制,同时对一个目标机器进行攻击。

如Trinoo, Tribe Flood Network, Stacheldraht

Unauthorized Access

通过侵入某个账户,并利用这个账户的权限进行操作。

通过后门,也即植入的木马对资源进行操作。

如network intrusion

Eavesdropping窃听

通过监听网络上的packet,来获得用户名密码信息

Viruses and Worms

病毒需要用户触发方才复制

蠕虫完全自我复制

CodeRed, Nimda, SQL Slammer都是蠕虫

Internet Infrastructure Attachs

主要攻击互联网的关键组件,如果DNS, border router, cache cluster, access server等。

Trust Exploitation

当两个计算机系统相互信任,则攻入一个系统,就可以以它的名义访问另一个系统。

Session Hijacking

通过侵入一个正常的session,以合法的身份进行操作。

其中常见的是IP spoofing欺骗,很多情况下,认证是基于IP的,如果黑客假装使用可信任系统的IP作为source IP,向被攻击系统发包,可能被接收并回复。

TCP ISN Guessing是另一种方式,黑客捕获或是猜想TCP SYN中的initial segment exchange,然后使用ISN + 1在TCP SYN/ACK中回复,则真正的回复会被认为重复报丢弃,从而接收了非法包。

Buffer Overflow Attacks

这利用程序的bug,程序分配了缓存,但是并不检查访问边界,则黑客可以利用这一点写入过多的内容,使得系统崩溃,或者执行非法命令。

Layer 2 Attacks

ARP spoof就是arp欺骗,当网络中机器发出arp寻找gateway的地址的时候,黑客假装一个arp reply,告知自己的mac,从而自己成了gateway.

MAC Flooding利用了这个原理,当switch的mac address table满了的时候,当受到一个从未见过的mac address的时候,则采用flooding的方式转发包。黑客先生成很多假的source mac address,将switch的mac address table填满,从而此后的包都是flood的方式,则恶意的机器就能够受到所有的包了。

VLAN hopping如果在VLAN A上的机器发送一个VLAN B的包,则从二层就被forward到VLAN B,从而绕过了router上的ACL

Network Security Infrastructure

ACLs

ACL是一种基于包头信息的过滤策略,包含一个列表的规则,每一个包会对这些规则一一匹配,匹配上的则执行相应的允许或者拒绝操作,最后一个规则往往是deny all.

ACL往往存在于border router和AZ的aggregation router上。

Standard ACL是ACL最基本的类型,仅仅基于source IP,用于控制那些机器可以访问。

Extended ACL可以基于source IP和destination IP,L4 protocal, L4 port,ICMP type, code, ToS等进行过滤

Router ACLs (RACLs)的ACL应用于某个router interface,可以使一个物理接口,也可以是一个VLAN接口,只有通过ACL的包,才会根据routing table进行转发。

VLAN ACLs (VACLs)应用于L2,没有in/out方向的概念,而是对于所有的包都进行检测。

Dynamic ACLs (Lock and Key)

当配置了lock and key后,用户首先需要打开一个telnet session进行authentication,如果城管,则一个动态的ACL entry加入了,允许这个用户暂时访问这个router. 这个动态ACL entry是基于某个模板,包含了用户的IP作为source IP。

Lock and key可以同强大的authentication方法TACACA+一起使用。

Reflexive ACLs

允许基于session来进行IP包的过滤。

Reflexive ACLs仅仅允许来自安全网段发起的session,而拒绝不安全网段发起的session

每当一个TCP/UDP连接建立的时候,会基于这个session建立一些暂时的entries.

上面的ACL对从内网到外网的TCP连接进行过滤,通过outboundfilters

reflect tcptraffic语句表明:当有从内网连到外网的TCP连接的时候,ACL inboundfilters 会增加一些access list entries.

从外网到内网的连接被inboundfilters阻拦,除非它是BGP,或者它属于某个TCP连接。

evaluate tcptraffic语句允许从内网发起的TCP连接通过。

Firewalls

Firewall用于各类不同的LAN的,往往放在重要的位置,来防止非法访问关键资源。

作为一个好的firewall,既要有好的性能,每秒处理更多的包,也要支持更多的应用程序,如果Telnet, FTP, HTTP

Packet Filtering Firewalls

根据包头过滤包,router with ACLs就是这种 Firewall,它的功能比较基础。Access rules是静态的,如果protocal动态商讨port,则不能处理。

这种firewall不保存连接的状态,因而不能block属于某个连接的包,不能检测到包的顺序的变化,不能检测是否一个protocal被侵犯了。

这种firewall不能进入payload去查看更详细的信息,不能修改其中的信息,从而不能做NAT

Proxy Firewalls

是application层次的proxy,用于保护如SMTP, HTTP, Telnet, FTP等已知的端口。可以检测是否包符合协议的标准。

Client需要配置,当对外发起连接的时候,首先连接proxy。

当client同外网建立连接的时候,连接时使用proxy的public ip而非用client真实的private IP进行。

这种firewall的优点是它的层次更高,更加智能,可以动态识别连接,可以修改payload,可以NAT,可以authentication, content filtering, caching and accounting

缺点是performance较差,需要对client进行配置。

Stateful Firewalls

这种firewall保持连接的状态,在一个connection table中,并动态更新。TCP/UDP都会保存状态。包含protocal, source and destination ip address, source and destination UDP/TCP ports, TCP sequence numbers, TCP flags, Connection Duration

由于保存了连接的状态,因而更多概率的避免了spoofing attack

这种firewall可以做application level检测,因而可以查看payload是否被篡改。

这种firewall可以保护不被DoS attack如TCP SYN floods。这种攻击试图建立很多连接,但是又不到达established状态,由于知道这种状态,firewall可以限定每个server建立这种连接的数目,除非前面的连接被ACK了,成为established状态。

也可以使用TCP SYN cookies来避免DoS attack.

SYN cookies的原理是:当进行TCP连接的时候,client发起一个SYN给server,server返回给client一个SYN+ACK,然后在queue中等待client的的ACK。然而DoS的策略是,不再发给server ACK,使得这个TCP连接始终在queue中等待,时间一长,client发起多次,queue就满了。SYN cookies的方法是,生成一个cookies,用于生成一个特殊的initial sequence number,并将这个number放在SYN+ACK发给client,这个时候马上从queue中将SYN queue entry删除。这样无论有多少这种连接,都不会放满queue,当真正的TCP连接返回ACK的时候,里面还有sequence number,根据这个number,从SYN cookies中将SYN queue entry重新创建出来,放在queue中,就可以了。

Firewall的缺点是:首先不同的攻击事件之间的联系,不容易建立。比如CodeRed通过HTTP协议侵入IIS中的buffer overflow Bug,然而HTTP请求是合法的,一旦侵入某个系统,这个被侵入的系统会生成一个蠕虫扫描其它的系统,firewall无法将这两者联系起来。

其次,firewall的配置不能根据攻击主动反应,而需要根据既定的规则。

IDSs

IDS是一个实时系统,检测intrusion入侵,以及syspicious可疑操作,并report给monitoring system,从而达到缓和,阻止攻击的作用。

包含两个组件:

Sensors感测器:appliance或者agents来分析流量和资源使用,来识别哪些是侵入或者可疑操作。分为network based和host based.

IDS management: 用于管理sensors,收集所有的alarm info

Network-Based IDS 往往连在某个LAN上,检测入侵和可疑行为。可以部署在router上,firewarll上,也可以是单独的appliance。

Host-Based IDS作为agent运行在系统上,可疑识别可疑行为,保护一些应用程序,更新系统

IDS系统有两种方式检测入侵和可疑行为:

Anomaly-based是基于异常的系统,通过一段周期的学习,根据某些参数定义了每种协议正常的流量分布,比如对于某种协议每秒应该有多少个连接,如果巨大的偏离统计值,则警告异常。

Signature-based是基于特征的系统,首先定义了一些有关流量和资源使用特征,满足了这些特征,就被认为可疑。每个package都会和特征进行比较,有可能特征分布于同一个session的多个package当中。

signature分以下几类:

Embedded signature对于已知的攻击特征的定义,IDS系统本身内置,不许修改

Connection signature用户定义的基于协议的特征

String matching signatures基于payload中某部分的值,用正则表达式进行匹配。

ACL signature每当ACL被侵犯的时候,都会log下来,会解析log来识别侵入行为。

Layer 2 Security

Port Security

你可以配置一个switch port仅仅接收来自某些可信任的mac address的包,如果不在这个集合里面,则丢掉。

也可以配置switch port的最大可识别的mac address的数量,如果在这个数量之内,则自我学习,如果超出数量,则丢弃。

ARP Inspection

你可以指定一个mapping,从default gateway到它的mac address,如果switch发现有个ARP包中的映射关系不对,则丢弃,从而解决ARP spoofing攻击

set security acl ip arp-inspection

set security acl arp-inspection match-mac enable

set security acl arp-inspection address-validation enable

set port arp-inspection mod/port drop-threshold rate shutdown-threshold rate

当一个port收到的arp太频繁,则报错

Private VLANs

意图在同一个VLAN中也进行端口隔离。

有三种端口:

Promiscuous ports,可以同任何port通信

Isolated ports,仅仅能和Promiscuous port通信,互相不能通信

Communitry ports,可以同Promiscuous port通信,也可以和相同community的port进行通信

有三种VLAN

Primary VLAN,将Promiscuous port的包转发给其他的isolated, community, promiscuous port

Isolated VLAN,仅能从isolated port将包转发给promiscuous port,这个VLAN种的机器不能相互访问,只能出去到gateway

Community VLAN,同一个community的可以相互访问,可以访问promiscuous ports

802.1Q Tag All

Ethernet interfaces can be configured either as access ports or a trunk ports, as follows:

?An access port can have only one VLAN configured on the interface; it can carry traffic for only one VLAN.

?A trunk port can have two or more VLANs configured on the interface; it can carry traffic for several VLANs simultaneously.

A trunk port can carry untagged packets simultaneously with the 802.1Q tagged packets. When you assign a default port VLAN ID to the trunk port, all untagged traffic travels on the default port VLAN ID for the trunk port, and all untagged traffic is assumed to belong to this VLAN. This VLAN is referred to as the native VLAN ID for a trunk port. The native VLAN ID is the VLAN that carries untagged traffic on trunk ports.

如果允许untagged包出现,并且可以设置为native vlan id,则会造成下面的现象:有一个access port,它本身是带tag 10的,它认为从这个port进来的包本身应该是不带tag的,但是都属于VLAN 10,结果进来一个tag 20的包,access port认为这个包是属于VLAN 10的,所以找VLAN 10的端口转发,这时候有一个trunk端口,它的native vlan是10,所以转发给了它,结果出了这个trunk端口,到达机器的时候却发现是VLAN 20,这就产生了VLAN hopping

我们可以通过vlan dot1q tag native设置,所有的trunk口出现的vlan都必须带tag,如果认为是不带tag的,就强行打上native tag

Data Center Security Framework

制定严格的security policies,组织和流程

Security Life Cycle

Assess找出弱点

Design设计解决方案

Deployment部署

Maintenance维护

将management network物理上或者逻辑上隔离

加密一切控制数据

使用动态密码,和数字证书

Data Center手册(2): 安全性

时间: 2024-10-28 23:46:56

Data Center手册(2): 安全性的相关文章

Data Center手册(4):设计

基础架构 拓扑图 Switching Path L3 routing at aggregation layer L2 switching at access layer L3 switch融合了三种功能: RP, router processor, 处理路由协议 SP, switch processor, 处理L2协议 ASIC, Application-specific integrated circuit专用集成电路,用于重写header的 对于traffic forwarding有几种方法

Data Center手册(1):架构

如图是数据中心的一个基本架构 最上层是Internet Edge,也叫Edge Router,也叫Border Router,它提供数据中心与Internet的连接. 连接多个网络供应商来提供冗余可靠的连接 对外通过BGP提供路由服务,使得外部可以访问内部的IP 对内通过iBGP提供路由服务,使得内部可以访问外部IP 提供边界安全控制,使得外部不能随意访问内部 控制内部对外部的访问 为了HA的需要,往往会有两个Border Router Typical enterprise Internet c

Data Center Group

Data Center Group||----Sr. Admin Assistant|----Technical Assistant|----Executive Assistant||--Enterprise & HPC platform Group--Cloud Platforms Group--Network Platform Group--Health& Life Sciences--Silicon Photonics Solutions Group--Storage Group||

Codeforces Gym 100513D D. Data Center 前缀和 排序

D. Data Center Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/560/problem/B Description The startup "Booble" has shown explosive growth and now it needs a new data center with the capacity of m petabytes. Booble can b

Data Center Manager Leveraging OpenStack

这是去年的一个基于OpenStack的数据中心管理软件的想法. Abstract OpenStack facilates users to provision and manage cloud services in a convenient way, including compute instances, storage and network. Meanwhile, data center requires a converged, uniformed management solutio

Hot Topics on Data Center (HotDC) 2018

Keynote Session Accelerate Machine Intelligence: An Edge to Cloud Continuum Hadi Esmaeilzadeh - UCSD Background open source: http://act-lab.org/artifacts Data grows at an unprecedented rate new landscape of computing: personalize and targeted experie

CodeForces-528C Data Center Drama

题目链接:CodeForces-528C Data Center Drama 题意 给出一个无向图(连通,可能有重边和自环),要求加尽量少的边,并给每条边定向,使每个结点的入度和出度都是偶数. 思路 对于度数为奇数的结点,加边依次连接,例如结点$1,2,3,4$的度数为奇数,则连接$(1,2)$,$(3, 4)$,使所有结点度数都为偶数,则为欧拉图. 如果此时边数为奇数,则对任一结点加个自环,这样可以构造出偶数长度的欧拉回路.沿着欧拉回路每隔一条边反向一次,可令结点每一条入边和出边变成两条入边或

Codeforces 527E Data Center Drama(欧拉回路)

题意: 给定一个无向图连通图,把这个的无向边变成有向边,并添加最少的有向边使这个图每个结点的出度为偶数. Solution: 题目很长,并且很多条件说的不太直接,确实不太好懂. 首先先看得到的无向图,是不是可以不加边就满足题目要求. 可以想到对于一个无向图,当所有点的度数为偶数时,图中存在欧拉回路.那么对于一个存在欧拉路的无向图似乎可以以某种方式构造出满足条件的有向边.假设图中有欧拉回路1 2 3 4 1, 可以构造边2->1,2->3,4->3,4->1满足条件. 而对于不存在欧

#296 (div.2) E. Data Center Drama

1.题目描述:点击打开链接 2.解题思路:本题要求每个点发出的两条路的方向都要相同,如果这样的路径不完整,需要添加尽量少的一些边使得满足该条件.实际上本题考查的就是欧拉回路,而且欧拉回路必须是偶数条路径.而欧拉回路存在的一个条件是度数为奇数的结点不能超过两个,但本题肯定不能存在度数为奇数的点,否则不可能满足题意. 因此所有结点的度数必须为偶数,如果发现有两个点的度数均为奇数,那么就把他们连起来.如果所有点的度数均为偶数但总的边数为奇数,那么就要加一条自环,使得路径总数为偶数. 接下来,就从起点出