服务器如何防攻击,高防服务器是怎么防止DDoS攻击的?
广大的网站用户应该采纳怎样的办法进行有效的防护呢?下面我就介绍一下防护DDoS的根本方法。
1保证服务器体系的安全
首先要保证服务器软件没有任何漏洞,避免进犯者侵略。保证服务器采用最新体系,并打上安全补丁。在服务器上删去未运用的服务,封闭未运用的端口。对于服务器上运转的网站,保证其打了最新的补丁,没有安全漏洞。
2隐藏服务器实在IP
服务器前端加CDN中转(免费的有百度云加快、360网站卫士、加快乐、安全宝等),假如资金富余的话,能够购买高防的盾机,用于隐藏服务器实在IP,域名解析运用CDN的IP,一切解析的子域名都运用CDN的IP地址。
此外,服务器上布置的其他域名也不能运用实在IP解析,全部都运用CDN来解析。另外,避免服务器对外传送信息走漏IP,最常见的是,服务器不运用发送邮件功能,假如非要发送邮件,能够通过第三方代理(例如sendcloud)发送,这样对外显示的IP是代理的IP。
原文:http://www.9dahe.com
服务器经常被ddos攻击怎么办?
DDOS攻击全称分布式拒绝服务(Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。
通常,攻击者将攻击程序通过代理程序安装在网络上的各个“肉鸡”上,代理程序收到指令时就发动攻击。
随着网络技术发展,DDOS攻击也在不断进化,攻击成本越来越低,而攻击力度却成倍加大,使得DDOS更加难以防范。
一般来说,会根据不同的协议类型和攻击模式,将DDOS分为SYN Flood、ACK Flood、UDP Flood、NTP Flood、SSDP Flood、DNS Flood、HTTP Flood、ICMP Flood、CC等攻击类型。
每种类型的攻击都有其自身的特点,例如反射型DDoS攻击就是一种相对高阶的攻击方式。攻击者并不直接攻击目标服务IP,而是通过伪造被攻击者的IP向全球特殊的服务器发请求报文,这些特殊的服务器会将数倍于请求报文的数据包发送到那个被攻击的IP。DDoS攻击是间接形成的。实际上,攻击者使用更多的木偶机器进行攻击。他们不直接将攻击包发送给受害者,而是假装是受害者,然后将包发送给放大器,放大器随后通过放大器反射回受害者。
DDOS攻击让人望而生畏,它可以直接导致网站宕机、服务器瘫痪,对网站乃至企业造成严重损失。而且DDOS很难防范,可以说目前没有根治之法,只能尽量提升自身“抗压能力”来缓解攻击,比如购买高防服务。
面对DDOS攻击,应该从网络设施、防御方案、预防手段三个方面进行抵御一.网络设备设施用足够的机器、容量去承受攻击,充分利用网络设备保护网络资源是一种较为理想的应对策略,说到底攻防也是双方资源的比拼。
实际上,攻击者会不断访问用户、夺取用户资源,我们自己的能量也在逐渐耗失。如果完全的硬拼设施,投入资金也不小。
网络设施是一切防御的基础,所以需要根据自身情况做出平衡的选择。
1. 扩充带宽硬抗
网络带宽直接决定了承受攻击的能力,国内大部分网站带宽规模在10M到100M,知名企业带宽能超过1G,超过100G的基本是专门做带宽服务和抗攻击服务的网站,数量屈指可数。
DDoS攻击者可以通过控制一些服务器、个人电脑等成为肉鸡。如果控制1000台机器,每台带宽为10M,那么攻击者就有了10G的流量。当它们同时向某个网站发动攻击,带宽瞬间就被占满了。
增加带宽硬防护是理论最优解,只要带宽大于攻击流量就不怕了。但带宽成本也是难以承受之痛,所以很少有人愿意花高价买大带宽做防御。
2. 使用硬件防火墙
针对DDoS攻击和黑客入侵而设计的专业级防火墙通过对异常流量的清洗过滤,可对抗SYN/ACK攻击、TCP全连接攻击、刷脚本攻击等流量型DDoS攻击。
如果网站饱受流量攻击的困扰,可以考虑将网站放到DDoS硬件防火墙机房。但如果网站流量攻击超出了硬防的防护范围(如:200G的硬防,但攻击流量有300G),硬件防火墙同样抵挡不住。部分硬件防火墙基于包过滤型防火墙修改为主,只在网络层检查数据包,若是DDoS攻击上升到应用层,防御能力就比较弱了。
3. 选用高性能设备
除了防火墙,服务器、路由器、交换机等网络设备的性能也需要跟上,若是设备性能成为瓶颈,即使带宽充足也无能为力。在有网络带宽保证的前提下,应该尽量提升硬件配置。
二、有效的对抗DDOS思维及方案通过架构布局、整合资源等方式提高网络的负载能力来分摊局部过载的流量,通过接入第三方服务识别并拦截恶意流量等对抗效果较好(相对比与提升带宽和使用硬件防火墙,当然组合效果更佳)。
1. 负载均衡
普通级别服务器处理数据的能力最多只能答复每秒数十万个链接请求,网络处理能力很受限制。负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性,对DDoS流量攻击和CC攻击都很见效。在加上负载均衡方案后,链接请求被均衡分配到各个服务器上,减少单个服务器的负担,整个服务器系统可以处理每秒上千万甚至更多的服务请求,用户访问速度也会加快。
2. CDN流量清洗
CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,因此CDN加速也用到了负载均衡技术。相比高防硬件防火墙不可能扛下无限流量的限制,CDN则更加理智,多节点分担渗透流量,目前大部分的CDN节点都有200G的流量防护功能,再加上硬防的防护,可以说能应付目绝大多数的DDoS攻击了。
3. 分布式集群防御
分布式集群防御的特点是在每个节点服务器配置多个IP地址,并且每个节点能承受不低于10G的DDoS攻击,如一个节点受攻击无法提供服务,系统将会根据优先级设置自动切换另一个节点,并将攻击者的数据包全部返回发送点,使攻击源成为瘫痪状态,从更为深度的安全防护角度去影响企业的安全执行决策。
三.预防为主DDoS的发生可能永远都无法预知,而一来就凶猛如洪水决堤,因此预防措施和应急预案就显得尤为重要。通过日常习惯性的运维操作让系统健壮稳固,没有漏洞可钻,降低脆弱服务被攻陷的可能,将攻击带来的损失降低到最小。
1. 筛查系统漏洞
及早发现系统存在的攻击漏洞,及时安装系统补丁,对重要信息(如系统配置信息)建立和完善备份机制,对一些特权账号(如管理员账号)的密码谨慎设置,通过一系列的举措可以把攻击者的可乘之机降低到最小。
2. 系统资源优化
合理优化系统,避免系统资源的浪费,尽可能减少计算机执行少的进程,更改工作模式,删除不必要的中断让机器运行更有效,优化文件位置使数据读写更快,空出更多的系统资源供用户支配,以及减少不必要的系统加载项及自启动项,提高web服务器的负载能力。
3. 过滤不必要的服务和端口
禁止未用的服务,将开放端口的数量最小化十分重要。端口过滤模块通过开放或关闭一些端口,允许用户使用或禁止使用部分服务,对数据包进行过滤,分析端口,判断是否为允许数据通信的端口,然后做相应的处理。
4. 限制特定的流量
检查访问来源并做适当的限制,以防止异常、恶意的流量来袭,限制特定的流量,主动保护网站安全。
目前,DDOS攻击并没有最好的根治之法,做不到彻底防御,只能采取各种手段在一定程度上减缓攻击伤害。所以平时服务器的运维工作还是要做好基本的保障,并借鉴上述方案,将DDOS攻击带来的损失尽量降低到最小。以上个人浅见,欢迎批评指正。喜欢的可以关注我,谢谢!
认同我的看法的请点个赞再走,再次感谢!
有什么办法解决吗?
大规模DDos流量清洗
关于服务器被人攻击的处理,当然先要分两种情况,如果是大规模DDos抢注攻击的话,一般对付办法不多,根本办法是通过运营商做流量清洗,分布式部署系统分流。用一些基于公有云的防护手段(费钱,效果一般般),一些安全公司昂贵的设备(作用也不大,有钱就可以多买)。
一般性防护手段一般性防护手段,通过硬防或者软防火墙比如iptables,主要要限制服务器端口访问,除了必须的80,443以外其他端口一律不对外开放。
关于对外开放端口限制和检测的访问,我的原创文章都提过几篇介绍过:
「安全扫描」看好你的大门,企业安全端口扫描实践
基本上就是在外面扫描你服务器ip,看都开了那些端口,对不该开放端口开放的话就封禁掉。主要对外开放的危险端口有 所有udp端口(比如最近大规模针对github的攻击,就用对外开放的memcache udp 11211 udp端口进行的反射式攻击),tcp重点关注端口: 21(ftp),22(ssh) 23(telnet),2181(zookeeper),3306(mysql),6379(redis),8161和61616(mq),11211(memcache),27017/27018(mongodb),9200(elasticsearch)还有其他的根据企业部署情况来增加。
在服务上查看开放的监听端口情况使用命令:
netstat -ntualp
Local地址 类似于 0.0.0.0:3306和 :::22的监听的服务器就要重点关注,一般除了web都不应该对外开放。
对web服务:
1、注意升级所用程序的版本,有漏洞的要及时升级(比如dedecms,struts2的漏洞等),部署的时候注意权限设置,不给多余的权限。
2、部署必要的waf系统,安利下笔者有个开源免费的waf,有需要的可以联系我。
3、部署时候精良先通过CDN或者自己用nginx返乡代理来对用户,不直接把php 应用、tomcat应用服务器对外,这样即可以提高访问效率,增加访问并发,还可以低于短期大流量访问的冲击。
如果服务器被人攻击,挂马了,怎么排除和解决常见异常情况:异常的流量、异常tcp链接(来源端口,往外发的端口)、异常的访问日志(大量的ip频繁的访问个别文件)。
如果部署了监控系统的话(强烈建议部署zabbix,并增加对系统添加专门安全items),可以方便通过zabbix监控图和趋势对比了解这些信息:
利用last,lastb发现异常的用户登录情况,ip来源。
利用lastlog,/var/log/message,/var/log/secure,日志等,是否权限已经被攻陷。
用history 发现shell执行情况信息。
用top,ps,pstree等发现异常进程和服务器负载等情况。
用netstat -natlp发现异常进程情况。用w命令发现当前系统登录用户的情况。
如果发现异常用户,立即修改用户密码,pkill -kill -t tty 剔除异常用户。然后进行进一步处理。
发现异常进程,立即禁止,冻结禁止。
发现一个恶意进程后通过 ls -al /proc/Pid (Pid为具体的进程号),发现进程的启动路径,启动的文件所在目录等信息。
如果发现异常连接数,通过iptables封禁相关端口或者ip
iptables -I INPUT -s ip -j DROP
iptables -I OUTPUT -p tcp --dport 25 -j DROP
iptables -I INPUT -p tcp --dport 25 -j DROP
对清理移动木马,杀掉进程
首先清理掉木马创建的cron 计划项和启动项。
ls -al /etc/proc/Pid/ 找的恶意木马文件。
恶意进程的执行目录和文件
最后用一条命令 kill -9 所有的进程ID && rm -rf 所有涉及的文件和目录。
更多信息可以关注笔者的文章或者咨询笔者:
「系统安全」当网站发生异常,出现安全事故,如何进行排查处置?
「WEB安全」单行命令查杀Webshell(php为例)
服务器和内网之间如何防护?
服务器和内网之间防护措施有:
1.修改口令:当内网被击穿后原有的所有口令,无论是是 web 服务还是 ftp 服务,建议全部更换当前口令,最好使用强口令;
2.关闭 ip 直接广播:服务器是无法分辨指令的来源的,不管是谁发出的指令他都可以执行,这就要求关闭 IP 直接广播这样攻击者就无法使用假冒的源地址向你的网络广播发送指令;
3.关闭路由器的 HTTP 设置:这一条是在有可能的前提下实现,关闭这个可以减少攻击者远程操作路由器来减少内网被攻击,如果不能关闭则要使用 SNMPv3 以上的版本协议;
4.封锁 ICMP ping 请求:关闭 ping 请求就可以更容易避开攻击者的扫描活动或者防御哪些寻找攻击目标的脚本攻击;
5.关闭 ip 源路由:这个功能的合法应用是用于诊断连接故障的,但是该功能应用场景叫啥除非必要使用否则应该关闭这个功能;
6.建立准许进入和外出的地址过滤政策:在你的边界路由器上建立政策以便根据 ip 地址过滤进出网络的违反安全规定行为。
云服务器需要开放SQL的1433端口?
一:保证客户端密码安全
1. 通过dll/so/dylib对密码加密也就是说客户链接1433端口的密码并不是实际密码,提升破解成本;
2. 增大密码复杂度防止猜解;
3. 增加密码错误次数,如超过则锁定ip;
4. 使用动态密码通过一定算法获取;
二:服务(器)层防御
5. 修改默认端口,增加入侵成本;
6. 防火墙策略白名单限制防止其他ip攻击;
7. 服务器口令与数据库口令不要设置一样,增加侵入者入侵服务器的成本;
三:保证数据安全
8. 给内网客户使用的数据库用户权限尽可能小;
9. 数据库做好日志记录以及定期备份,被删等意外情况下紧急恢复
10. 对数据操作进行审计,发现异常操作进行告警,及早干预防止损失扩大
以措施基本是用来增加入侵成本的。最佳方式就是实时风控和审计,发现异常请求立即终止,但此类成本较高。
对于内网用户从成本和难度方面考虑除了审计/风控外其他都可以