欢迎各位兄弟 发布技术文章
这里的技术是共享的
01) 01 网络安全分类
第8章网络安全
物理层安全 墙上的不用的网线接口连接交换机的端口关掉 (shutdown掉)
数据链路层安全 ADSL拨号账号和密码 Mac地址绑定 交换机端口连接计算机数量控制 创建VLAN
网络层安全 基于源IP地址 目标IP地址控制
传输层安全 会话攻击 LAND攻击 syn洪水攻击
应用层安全 登录密码
LAND 攻击
syn攻击
典型的网络架构-三向外围网
典型的网络架构一背靠背防火墙
02) 02 使用标准ACL配置网络安全
在路由器上
网络层安全
标准的ACL
基于源地址进行控制
扩展的ACL
基于源地址 目标地址 协议 端口号 进行控制
网络中的路由器和计算机已经配置了IP地址和路由
在Router0上定义标准ACL实现以下功能
1.只有市场部和财务部的计算机能够访问Internet
2.服务器组中的计算机拒绝访问Internet
# ping 10.0.0.2 #ftp 电脑上可以ping 通
ftp 电脑上可以打开 http://10.0.0.2
PC7 电脑上也可以打开 http://10.0.0.2
不加访问控制列表的时候,只要路由畅通,所有都能访问,换句话说,没有写访问控制列表,默认是允许的
在路由器上定义访问控制列表
在路由器上定义访问控制列表
反转掩码就是子网掩码反过来 255.255.255.0 反过来就是 0.0.0.255 (把0和1反过来)
Router>en #启用特权模式
Router #config t #进配置界面
Router (config) #access-list ? # 问号补全 看看 有哪些参数
<1-99> IP standard access list # 序号 1-99 是标准的 访问控制列表
<100-199> IP extended access list #序号 100-199 是扩展的 访问控制列表
Router (config) #access-list 10 permit 192.168.1.0 0.0.0.255 #创建访问控制列表 允许这个网段 反转掩码就是子网掩码反过来 255.255.255.0 反过来就是 0.0.0.255 (把0和1反过来)
Router (config) #access-list 10 permit 192.168.2.0 0.0.0.25 #这一条写错了
Router (config) #access-list 10 permit 192.168.2.0 0.0.0.255 #创建访问控制列表 允许这个网段 反转掩码就是子网掩码反过来 255.255.255.0 反过来就是 0.0.0.255 (把0和1反过来)
Router (config) #^Z
Router#
号SYS-5-CONFIG_ I: Configured from console by console
Router#
Router#show acc
Router#show. access-lists #显示访问控制列表
Standard IP access list 10
permit 192.168.1.0 0.0.0.255
permit 192.168.2.0 0.0.0.25 #看到这一条写错了
permit 192.168.2.0 0.0.0.255
Router#
上面写了访问控制列表之后,,,默认剩下的都拒绝 (不需要写)
Router (config) # no access-list 10 #只能全部删除 一个访问控制列表 10是访问控制列表的序号
Router (config) # access-list 10 permit 192.168.2.0 0.0.0.255 #一个一个的添加
Router (config) # access-list 10 permit 192.168.1.0 0.0.0.255 #一个一个的添加
Router (config)#^Z
Router#
%SYS-5-CONFIG I: Configured from console by console
Router#show access-lists #显示访问控制列表 下面两个允许是正常的了
Standard IP access list 10
permit 192.168.2.0 0.0.0.255
permit 192.168.1.0 0.0.0.255
Router#
路由器的接口是 serial 3/0
绑定访问控制列表的时候 有 in (进来的) 和 out(出去的)
Router#config t
Router (config)#interface serial 3/0 #到 serial 3/0 接口
Router (config-if)#ip access-group 10 ? #自动补全
in inbound packets #进来
out outbound packets #出去
Router (config-if)#ip access-group 10
Router (config-if)#ip access-group 10 out #在这个接口上我们配置出去的接口的访问列表控制
市场部的一台电脑上可以打开 http://10.0.0.2
ftp 电脑 ping 不通 10.0.0.2,,,说明访问控制列表拦截掉了
财务部一台 电脑 能 ping 通 10.0.0.2
Router (config)#access-list 10 deny host 192.168.2.2 #访问控制列表里面拒绝这个地址 deny host
PC>ping 10.0.0.2 #拒绝后 还能 ping 通
Router#show access-lists
Standard IP access list 10
permit 192.168.2.0 0.0.0.255 (9 match(es))
permit 192.168.1.0 0.0.0.255 (4 match(es) )
deny host 192.168.2.2 #这个拒绝某ip在最下面的了,,,,我们需要它在最上面
Router#
Router (config) #no access-list 10 #删掉访问控制列表
Router (config) #access-list 10 deny host 192.168.2.2 #拒绝某个ip
Router (config) #access-list 10 permit 192.168.1.0 0.0.0.255 #允许网段
Router (config) #access-list 10 permit 192.168.2.0 0.0.0.255 #允许网段
Router#show access-lists
Standard IP access list 10
deny host 192.168.2.2 #拒绝某ip跑到最上面的了
permit 192.168.1.0 0.0.0.255
permit 192.168.2.0 0.0.0.255
pc>ping 10.0.0.2 #此时ping 不通了
pc>ping 10.0.0.2 #但是 其它计算机是 ping 通的
无法调整访问控制列表的顺序,调不了,只能删,然后再添加
Router (config)#no access-list 10
Router (config) #access-list 10 deny host 192. 168.2.2
Router (config) #access-list 10 permit 192. 168. 1.0 0. 0.0.255
Router (config) #access-list 10 permit 192. 168.2.0 0. 0.0.255
可以把如下的命令 全部复制到 命令的窗口中
access-list 10 deny host 192. 168. 2.2
access-list 10 permit 192. 168. 1. 0 0.0.0.255
access-list 10 permit 192.168.2.0 0.0.0.255
Router (config)#access-list 20 deny 192.168.0.0 0.0.0.255 #拒绝这个网段
Router (config #access-list 20 permit any #其它允许
当然最后 还有隐含的默认的 拒绝所有,是用不上的
145 permit udp 10.89.200.0 0.0.7.255 object-group JAMF eq 8443 # 不加eq 表示目的地所有端口
150 permit tcp 10.89.200.0 0.0.7.255 object-group JS-ES eq www #这里 www 仅表示 80 端口 # 不加eq 表示目的地所有端口
03) 03 使用扩展的ACL实现网络安全
Router>en
Router#conf
Router#configure t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list ? #100以上是扩展的 ACL
<1-99> IP standard access list
<100-199> IP extended access list
Router(config)#access-list
% Incomplete command.
Router(config)#access-list 100 permit ip 192.168.2.0 0.0.0.255 any #扩展的ACL,, ,,100 表示ACL的序号,,,,,ip 是协议(包括 TCP UDP) 源地址 192.168.2.0 0.0.0.255 目的地址是 any
Router(config)#access-list 100 permit ?
ahp Authentication Header Protocol
eigrp Cisco's EIGRP routing protocol
esp Encapsulation Security Payload
gre Cisco's GRE tunneling
icmp Internet Control Message Protocol
ip Any Internet Protocol
ospf OSPF routing protocol
tcp Transmission Control Protocol
udp User Datagram Protocol
Router(config)#
Router(config)#access-list 100 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 #扩展的ACL,, tcp 是协议(包括 TCP UDP) 源地址 192.168.1.0 0.0.0.255 目的地址是 10.0.0.0 0.255.255.255 # 不加eq 表示目的地所有端口
Router(config)#access-list 100 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 e? #补全
eq established
Router(config)#access-list 100 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 eq ? #补全
<0-65535> Port number
ftp File Transfer Protocol (21)
pop3 Post Office Protocol v3 (110)
smtp Simple Mail Transport Protocol (25)
telnet Telnet (23)
www World Wide Web (HTTP, 80)
Router(config)#access-list 100 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 eq 80 #扩展的ACL,, tcp 是协议(包括 TCP UDP) 源地址 192.168.1.0 0.0.0.255 目的地址是 10.0.0.0 0.255.255.255 ,,,,eq 80 就是等于80 ,,,eq是equal 的意思
Router(config)#
Router(config)#access-list 100 permit icmp 192.168.0.0 0.0.0.255 any #扩展的ACL,, ,,100 表示ACL的序号,,,,,icmp 是协议(ping 的协议) 源地址 192.168.0.0 0.0.0.255 目的地址是 any
Router(config)#
Router(config)#^Z #ctrl+Z 表示退出到最外层
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#show access-lists #显示访问控制列表
Standard IP access list 10
10 deny host 192.168.2.2
20 permit 192.168.1.0 0.0.0.255
30 permit 192.168.2.0 0.0.0.255
Extended IP access list 100
10 permit ip 192.168.2.0 0.0.0.255 any
20 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255
30 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 eq www
40 permit icmp 192.168.0.0 0.0.0.255 any
Router#
#我们把 access list 10删掉吧
Router(config)# no access-list 10 # 删掉 ACL 10 吧
Router# show access-lists
Extended IP access list 100
10 permit ip 192.168.2.0 0.0.0.255 any
20 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255
30 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 eq www
40 permit icmp 192.168.0.0 0.0.0.255 any
Router#
我们删掉 20 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 这一条记录
Router(config)#no access-list 100 #只能全部删掉,下面再一个一个的添加
Router(config)#access-list 10 permit ip 192.168.2.0 0.0.0.255 any
^
% Invalid input detected at '^' marker.
Router(config)#access-list 10 permit ip 192.168.2.0 0.0.0.255 any
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#configure t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 100 permit ip 192.168.2.0 0.0.0.255 any
Router(config)#access-list 100 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 eq www
Router(config)#access-list 100 permit icmp 192.168.0.0 0.0.0.255 any
Router(config)#^Z
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#show acc
Router#show access-lists
Extended IP access list 100
10 permit ip 192.168.2.0 0.0.0.255 any
20 permit tcp 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 eq www
30 permit icmp 192.168.0.0 0.0.0.255 any
Router#
Router#configure t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#in
Router(config)#interface s
Router(config)#interface serial 2/0
Router(config-if)#ip access-group 100 out #出去时检查 ACL 100
Router(config-if)#
检查试验一下扩展的 ACL 是否起作用
ftp服务器电脑上 能 ping 通 10.0.0.2
ftp 不能访问 http://10.0.0.2
财务部的一台电脑 能访问 http://10.0.0.2
财务部的一台电脑 不能 ping 通 10.0.0.2
市场部的一台电脑 能 ping 通 10.0.0.2
市场部的一台电脑 同样能访问 http://10.0.0.2
扩展的ACL
基于源地址目标地址协议端口号进行控制
Router (config) #access-list 100 permit ip 192.168.2. 0 0. 0.0.255 any #它表示所有,后面没有eq 端口
Router (config) #access-list 100 permit tcp 192.168.1.0 0. 0.0. 255 10.0.0.0 0. 255. 255. 255 eq 80 #它是应用层协议,后面要加个 eq 端口 ,,,,,,,为什么我不加端口,任何访问(包括 ping (icmp))都阻止了呢 #假如 TCP 后面 没有eq 端口,,,那么问一下强哥吧
Router (config) #access-list 100 permit icmp 192.168.0.0 0. 0.0.255 any #icmp 协议是属于网络层的,没有端口的概念
04) 04 使用ACL保护路由器安全
Router#conf
Router#configure t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#lin
Router(config)#line vty ?
<0-15> First Line number
Router(config)#line vty 0 ?
<1-15> Last Line number
<cr>
Router(config)#line vty 0
Router(config-line)#exit
Router(config)#line vty 0 15
Router(config-line)#pa
Router(config-line)#pass
Router(config-line)#password aaa
Router(config-line)#login
Router#show access-lists
Standard IP access list 10
10 deny host 192.168.2.2
20 permit 192.168.1.0 0.0.0.255
30 permit 192.168.2.0 0.0.0.255
f
Router#configure t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#no access-list 10 #删除原来的访问控制列表
Router#configure t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# access-list 10 permit 192.168.1.2 0.0.0.0 #创建标准的ACL 10属于标准的ACL ,这里 0.0.0.0 是 255.255.255.255 的反转掩码,,这里也可以写成 access-list 10 permit host 192.168.1.2
Router(config)#line vty 0 15 # 表示支持 0-15个人同时连接配置路由器进入虚拟的终端
Router(config-line)#acc
Router(config-line)#acce
Router(config-line)#access-class 10 in #将ACL绑定到telnet接口
Router#configure t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface serial 2/0
Router(config-if)#ip access-group 10 in #将ACL绑定到telnet接口,用 access-class
Router(config-if)#
将ACL绑定到物理接口
Router (config-if)#ip access-group 10 in
将ACL绑定到telnet接口
Router (config-line)#access-class 10 in
咱 telnet 试试
#telnet 192.168.1.254 #反正 telnet 是成功的
#telnet 192.168.2.254 #反正 telnet 是不行的
05) 05 ACL的具体应用