1. 【推荐】高并发服务器建议调小TCP协议的time_wait超时时间。
说明:操作系统默认240秒后,才会关闭处于time_wait状态的连接,在高并发访问下,服务器端会因为处于time_wait的连接数太多,可能无
法建立新的连接,所以需要在服务器上调小此等待值。 正例:在linux服务器上请通过变更/etc/sysctl.conf文件去修改该缺省值(秒):
net.ipv4.tcp_fin_timeout = 30
2. 【推荐】调大服务器所支持的最大文件句柄数(File
Descriptor,简写为fd)。
说明:主流操作系统的设计是将TCP/UDP连接采用与文件一样的方式去管理,即一个连接对应于一个fd。主流的linux服务器默认所支持最大fd数量
为1024,当并发连接数很大时很容易因为fd不足而出现“open too many files”错误,导致新的连接无法建立。
建议将linux服务器所支持的最大句柄数调高数倍(与服务器的内存数量相关)。
3. 【推荐】给JVM设置-XX:+HeapDumpOnOutOfMemoryError参数,让JVM碰到OOM场景时输出dump信息。 说明:OOM的发生是有概率的,甚至有规律地相隔数月才出现一例,出现时的现场信息对查错非常有价值。
4. 【参考】服务器内部重定向使用forward;外部重定向地址使用URL拼装工具类来生成,否则会带来URL维护不一致的问题和潜在的安全风险。
1. 【强制】隶属于用户个人的页面或者功能必须进行权限控制校验。 说明:防止没有做水平权限校验就可随意访问、操作别人的数据,比如查看、修改别人的订单。
2. 【强制】用户敏感数据禁止直接展示,必须对展示数据脱敏。 说明:查看个人手机号码会显示成:158****9119,隐藏中间4位,防止隐私泄露。
3. 【强制】用户输入的SQL参数严格使用参数绑定或者METADATA字段值限定,防止SQL注入,禁止字符串拼接SQL访问数据库。
4. 【强制】用户请求传入的任何参数必须做有效性验证。 说明:忽略参数校验可能导致:
. page size过大导致内存溢出
. 恶意order by导致数据库慢查询
. 任意重定向
. SQL注入
. 反序列化注入
. 正则输入源串拒绝服务ReDoS 说明: Java JavaJava代码用 代码用 正则来验证客户端的输入,有些正则写法验证普通用户输入没有问题,但是如果攻击人员使用的是特殊构造的字符串来验证,有可能导致死循环的效果 。
5. 【强制】禁止向HTML页面输出未经安全过滤或未正确转义的用户数据。
6.
【强制】表单、AJAX提交必须执行CSRF安全过滤。 说明:CSRF(Cross-site request
forgery)跨站请求伪造是一类常见编程漏洞。对于存在CSRF漏洞的应用/网站,攻击者可以事先构造好URL,只要受害者用户一访问,后台便在用户
不知情情况下对数据库中用户参数进行相应修改。
7.
【强制】在使用平台资源,譬如短信、邮件、电话、下单、支付,必须实现正确的防重放限制,如数量限制、疲劳度控制、验证码校验,避免被滥刷、资损。
说明:如注册时发送验证码到手机,如果没有限制次数和频率,那么可以利用此功能骚扰到其它用户,并造成短信平台资源浪费。
8.
【推荐】发贴、评论、发送即时消息等用户生成内容的场景必须实现防刷、文本内容违禁词过滤等风控策略。
法律声明:本手册为阿里巴集团技术部的分享,版权归所有仅供大家 法律声明:本手册为阿里巴集团技术部的分享,版权归所有仅供大家
法律声明:本手册为阿里巴集团技术部的分享,版权归所有仅供大家 法律声明:本手册为阿里巴集团技术部的分享,版权归所有仅供大家
法律声明:本手册为阿里巴集团技术部的分享,版权归所有仅供大家 法律声明:本手册为阿里巴集团技术部的分享,版权归所有仅供大家
法律声明:本手册为阿里巴集团技术部的分享,版权归所有仅供大家 法律声明:本手册为阿里巴集团技术部的分享,版权归所有仅供大家
交流、学习及研究使用,禁止于商业途违者必。 交流、学习及研究使用,禁止于商业途违者必。 交流、学习及研究使用,禁止于商业途违者必。
交流、学习及研究使用,禁止于商业途违者必。 交流、学习及研究使用,禁止于商业途违者必。