请教qiezi等高手

hqs7636 2012-05-01
最近可能要做一个网站,在网站安全和防攻击方面要考虑哪些方面?比如sql注入攻击,登陆防劫持等,通常主要考虑哪些方面?还有就是负载调度方面大概的思路是什么?

网站主要是实时视频方面的,视频点数还未知,可能100个以上,分布在不同旅游景点,机房服务器目前是30台,用户数大概百万级,3台做登陆负载,8台做内容负载,剩下的做视频负载。是只要在3个集群之间调度还是在每个集群里也要做调度?每个视频点怎么跟机房连起来?视频有专门的项目组做,我只要把它连起来,再加一些一般内容,网站正常运行,别阻塞瘫痪,别攻击瘫痪就可。  

以前老做管理软件的东西,对网站这些方面不太熟悉,望高手指个方向。 
qiezi 2012-05-01
范围太广了,泛泛说一下吧。

安全包括:
1、服务器安全,服务器登录权限控制、服务器软件漏洞等,尽量用新版本内核、新版本软件并关注安全事件
2、业务安全,比如你提到的sql注入、登录劫持等,还有类似csdn拖库这类
3、用户安全,比如跨站攻击等,对平台自身影响不大,但会伤害用户

安全是个大课题,我也是外行。建议还是找一些成熟框架,比如rails,按照它的最佳实践来做,可规避很多问题。

对业务的描述不详细。百万级是注册用户?影响较大的是每日活跃用户数、同时在线数。不同情况会影响设计。

内容和登录可以集中部署,使用7层调度即可。视频如果有需要可分布到各地,数据分布和负载均衡方式都与数据量、实时程度有关。视频和内容之间可通过IP授权、自定义服务接口、VPN等方式相连,视频耦合度和实现方案而定,VPN方式较通用和透明。

攻击有很多手段,未必能完全防止。网站部分做好防刷机制,特别是登录和注册,视频输出可做权限控制,并控制同时在线人数。较难控制的是流量攻击,交换机出口被塞满以后就很难处理了,这种情况只能在视频服务器分配上增加灵活性,很多视频网站是这么做的。多加出口IP并能随时切换,还可以请运营商协助。
ww21xx 2012-05-01
hqs7636 写道
最近可能要做一个网站,在网站安全和防攻击方面要考虑哪些方面?比如sql注入攻击,登陆防劫持等,通常主要考虑哪些方面?还有就是负载调度方面大概的思路是什么?

网站主要是实时视频方面的,视频点数还未知,可能100个以上,分布在不同旅游景点,机房服务器目前是30台,用户数大概百万级,3台做登陆负载,8台做内容负载,剩下的做视频负载。是只要在3个集群之间调度还是在每个集群里也要做调度?每个视频点怎么跟机房连起来?视频有专门的项目组做,我只要把它连起来,再加一些一般内容,网站正常运行,别阻塞瘫痪,别攻击瘫痪就可。  

以前老做管理软件的东西,对网站这些方面不太熟悉,望高手指个方向。 




1、sql注入攻击,登陆防劫持等
这个是在写WEB程序端加数据类型验证,并踢掉关键字,另外数据库的存储过程也有效的防止SQL注入。

2、通常主要考虑哪些方面?还有就是负载调度方面大概的思路是什么?
将程序最大可能静态化,静态页面速度那不是程序所比的,还有考虑到网通、电信的问题最好弄CDN。
hqs7636 2012-05-01
感谢qiezi!

百万级应该是注册用户,现在还不清楚,每日活跃用户数、同时在线数跟注册用户大概是什么比例?

总结一下关键字:
跨站攻击,7层调度, VPN连接,去研究一下,有现成的资料或链接吗?

业务安全方面还有哪些在写代码时要考虑的?
hqs7636 2012-05-01
ww21xx 写道


1、sql注入攻击,登陆防劫持等
这个是在写WEB程序端加数据类型验证,并踢掉关键字,另外数据库的存储过程也有效的防止SQL注入。

2、通常主要考虑哪些方面?还有就是负载调度方面大概的思路是什么?
将程序最大可能静态化,静态页面速度那不是程序所比的,还有考虑到网通、电信的问题最好弄CDN。


感谢指教,还有哪些?
hqs7636 2012-05-01
to qiezi:大致看了一下,7层调度 就是 Apache + Tomcat 模式吧

系统要求用.net实现,在调度方面有什么好用的库?Colorful等高手该出场了
只看到一些配置方面的内容
hqs7636 2012-05-02
qiezi 写道
范围太广了,泛泛说一下吧。

安全包括:
1、服务器安全,服务器登录权限控制、服务器软件漏洞等,尽量用新版本内核、新版本软件并关注安全事件
2、业务安全,比如你提到的sql注入、登录劫持等,还有类似csdn拖库这类
3、用户安全,比如跨站攻击等,对平台自身影响不大,但会伤害用户

安全是个大课题,我也是外行。建议还是找一些成熟框架,比如rails,按照它的最佳实践来做,可规避很多问题。

对业务的描述不详细。百万级是注册用户?影响较大的是每日活跃用户数、同时在线数。不同情况会影响设计。

内容和登录可以集中部署,使用7层调度即可。视频如果有需要可分布到各地,数据分布和负载均衡方式都与数据量、实时程度有关。视频和内容之间可通过IP授权、自定义服务接口、VPN等方式相连,视频耦合度和实现方案而定,VPN方式较通用和透明。

攻击有很多手段,未必能完全防止。网站部分做好防刷机制,特别是登录和注册,视频输出可做权限控制,并控制同时在线人数。较难控制的是流量攻击,交换机出口被塞满以后就很难处理了,这种情况只能在视频服务器分配上增加灵活性,很多视频网站是这么做的。多加出口IP并能随时切换,还可以请运营商协助。

昨晚看了一大圈,调度方面不需要写专门的代码吗?现有方案配置一下就行?
代码方面只看到一些注意事项,比如单例模式的影响等
qiezi 2012-05-02
hqs7636 写道
to qiezi:大致看了一下,7层调度 就是 Apache + Tomcat 模式吧

系统要求用.net实现,在调度方面有什么好用的库?Colorful等高手该出场了
只看到一些配置方面的内容

.net不熟,7层指的是应用层协议的调度,基于http,用apache(或nginx、haproxy等) + iis应该是相同的,配置都很简单。

为了高可用,负载均衡本身还需要备份,可采用LVS。

怕麻烦也可以直接买设备。。
qiezi 2012-05-02
hqs7636 写道

昨晚看了一大圈,调度方面不需要写专门的代码吗?现有方案配置一下就行?
代码方面只看到一些注意事项,比如单例模式的影响等


通用的负载均衡方案本来就是为了透明部署,单例模式。。你是要写跨机器的单例模式吗?如果不了解,可以先部署起来。
hqs7636 2012-05-02
qiezi 写道


通用的负载均衡方案本来就是为了透明部署,单例模式。。你是要写跨机器的单例模式吗?如果不了解,可以先部署起来。

谢谢指教!

看来不是太复杂,我还以为像并发库一样会有个调度库,要写一堆调度代码

是想写跨机器的单例模式。能给个思路吗?其实也不用我写,我只要了解一下就行,知道别人没写错就行。

去研究一下vpn。。。

请大家再补充罗列一下业务方面要注意的安全事项
Global site tag (gtag.js) - Google Analytics