安全网络可以从两方面看,一个是准入就是对用户的认证和授权,一个是加密就是网络链路和数据的加密
EAP: Extensible Authentication Protocol可扩展验证协议

包含三个元素,客户端,认证方,认证服务器
我们自己的设备,如手机、电脑,这些属于客户端
在有线网络中,接入的认证方就是交换机
在无线网络中,接入的认证方就是AC/AP
端口初始化:
交换机探测到有一个客户端连接到一个端口后,会把这个端口置为"未授权"状态,处于未授权状态的端口除了802.1x报文不会转发其他任何流量
EAP初始化
交换机定时向二层广播EAP请求信令,开启了802.1x的客户端在连上交换机后会保持侦听这个信令,一旦捕捉到,则会回复一个包含自己的EAP应答,交换机收到应答后会通知后台的认证服务器,告诉它有一个新的客户端要进行EAP认证
EAP协商
由于EAP实现方式有多种,所以要同步一下双方都支持的EAP类型
用户身份验证
协商好EAP方式之后,客户端发送代表身份的信息,认证服务器判断结果,返回给交换机,认证成功就会开放端口
三层准入也叫web认证
不可能每个电脑都配置了802.1x策略
在802.1x策略超市或者失败之后,配置了web认证的交换机就会自动进入三层准入阶段
流程

交换机端口进入有限接入状态
如果想802.1x一样禁止转发,只可以发送802.1x报文,因为没有配置802.1x,客户端就拿不到IP地址
所以web认证不会完全屏蔽端口,会将该端口接入一个可以转发数据的VLAN
,并且该端口放上一组预先配置好的ACL,提供一些基本数据的转发服务,如DHCP,DNS,能够访问到认证网页
客户端触发认证流程
客户端接入后,会向DHCP请求IP地址,这个DHCP的广播包就是触发web认证的信号,如果IP是手动配置的,那么也会发出ARP报文,发送IP地址对应MAC地址,听到该报文也会触发web认证
用户身份验证
获得IP地址后,触发web认证,会进入认证页面,或者自己发送一个http请求的时候,交换机截取到这个http请求,将用户重定向到认证页面,输入账号密码之后会发送给认证服务器进行认证
像是VPN接入的客户端一样,这类客户端一般只干两件事情:
802.1x:
优点:
每个部分都有相应的国际标准,便于企业客户自由选择软硬件
现基本上每台接入交换机都支持802.1x,每台电脑也支持802.1x
支持单点登录,输入windows系统密码之后自动用于网络验证
web认证
优点:
无需客户端支持,和协议支持,只要能够访问web即可
缺点:
不支持单点登录
不支持机器认证
客户端认证
功能全面,但无统一标准,每个客户端都有各自的差异
VPN的两个基本特性,加密与长连接
实现方式有两种:

适用于点对点场景,解决了两地的分支机构希望安全通信时需要跟运营商租用专线链路带来的不灵活以及价格昂贵的问题
在两端设置特别的VPN硬件设备(VPN集线器)负责加密解密,实现加密传输
当少量人员的远程办公需求出现后,可以在他们的电脑上安装IPsec客户端,通过软件客户端连接到VPN网关设备上
但是有明显的缺点:
优点:
简洁的部署模式
本身是Netscape浏览器的一项特性,无需专用的客户端
精细的访问控制
提供用户级别的授权,可以依据安全策略确保只有授权的用户才能访问特定的资源
实现技术:
握手协议

记录协议
每次都会附上一个真实内容的hash值,用于验证数据是否被改动,保证数据的可靠性
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b
在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?
网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识
我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("
默认情况下:回形针gem将所有附件存储在公共(public)目录中。出于安全原因,我不想将附件存储在公共(public)目录中,所以我将它们保存在应用程序根目录的uploads目录中:classPost我没有指定url选项,因为我不希望每个图像附件都有一个url。如果指定了url:那么拥有该url的任何人都可以访问该图像。这是不安全的。在user#show页面中:我想实际显示图像。如果我使用所有回形针默认设置,那么我可以这样做,因为图像将在公共(public)目录中并且图像将具有一个url:Someimage:看来,如果我将图像附件保存在公共(public)目录之外并且不指定url(同
是否可以在不实际下载文件的情况下检查文件是否存在?我有这么大的(~40mb)文件,例如:http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm这与ruby不严格相关,但如果发件人可以设置内容长度就好了。RestClient.get"http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm",headers:{"Content-Length"=>100} 最佳答案
我在这方面尝试了很多URL,在我遇到这个特定的之前,它们似乎都很好:require'rubygems'require'nokogiri'require'open-uri'doc=Nokogiri::HTML(open("http://www.moxyst.com/fashion/men-clothing/underwear.html"))putsdoc这是结果:/Users/macbookair/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/open-uri.rb:353:in`open_http':404NotFound(OpenURI::HT
我在一个ruby文件中有一个函数可以像这样写入一个文件File.open("myfile",'a'){|f|f.puts("#{sometext}")}这个函数在不同的线程中被调用,使得像上面这样的文件写入不是线程安全的。有谁知道如何以最简单的方式使这个文件写入线程安全?更多信息:如果重要的话,我正在使用rspec框架。 最佳答案 您可以通过File#flock给锁File.open("myfile",'a'){|f|f.flock(File::LOCK_EX)f.puts("#{sometext}")}
深度学习12.CNN经典网络VGG16一、简介1.VGG来源2.VGG分类3.不同模型的参数数量4.3x3卷积核的好处5.关于学习率调度6.批归一化二、VGG16层分析1.层划分2.参数展开过程图解3.参数传递示例4.VGG16各层参数数量三、代码分析1.VGG16模型定义2.训练3.测试一、简介1.VGG来源VGG(VisualGeometryGroup)是一个视觉几何组在2014年提出的深度卷积神经网络架构。VGG在2014年ImageNet图像分类竞赛亚军,定位竞赛冠军;VGG网络采用连续的小卷积核(3x3)和池化层构建深度神经网络,网络深度可以达到16层或19层,其中VGG16和VGG