项目-安全架构

    网站安全至关重要,项目越大越应该注重安全问题,以下通过六个方面进行项目安全性方面的控制.

一:权限控制

     1)将用户分权限,不同权限的用户具有不同的功能,不可以进行跨权限进行非正常操作。

     2)将不可被直接访问的页面隐藏,使其只能通过页面内部跳转进行访问。

     3)实现:对于1)可以使用安全性框架进行权限管理,例如:shiro、spring security等。

                     对于2)可以将需要隐藏的页面放在eclipse中的WEB-INF下等。

二:信息加密以及密匙管理

     1)用户的一些敏感信息,比如用户的登陆密码等,在数据库中不可以用明文存储,需要进行加密存储。这样即使玩意被黑客入侵,得到的数据也是加密后的数据,不会造成大的损失。

     2)信息的加密和解密与密匙密不可分,那么密匙的安全管理也极为重要。信息的安全是靠密匙保证的。

     3)实现:对于1)的实现,可以使用单向散列加密、对称加密、非对称加密其中一个算法进行加密后存储在数据库中。

                     对于2)的实现,在1)中使用的加密算法,都需要依靠安全的密匙才可以进行安全的加密。一种方案是把密匙和算法放在一个独立的服务器上,甚至做成一个专门的硬件设施,但是成本较高,系统开销也大.另一种方案是将加解密算法放在应用系统中,密匙则放在独立服务器中,为了提高安全性,可以将密匙分片存储。

三:设置登录和服务器访问日志

     1)设置日志,记录来访者的 IP ,传递参数,对后台操作用户建立日志,记录其操作内容。完善的日志记录可以帮助你发现潜在的危险,找到已经发生的问题。

四:具体安全问题防护 

    1)sql注入,XSS攻击,CSRF攻击,文件上传漏洞,弱口令漏洞,自定义抛出异常信息,后退键缓存信息泄漏,注释漏洞等。

    2)实现:架构中安全性系列笔记

五:设置web应用防火墙

    1)使用一款能够统一拦截请求,过滤恶意参数,自动消毒(转换恶意字符),自动添加token,并且能根据最新攻击和漏洞自动升级,处理掉大部分的网络攻击的产品 ——ModSecurity

    2)NodSecurity,一款开源的Web应用防火墙。 可在项目中使用。

六:网站安全漏洞测试

    1)当我们将项目的安全性设置完毕后,要进行安全测试。

    2)网站安全漏洞扫描:使用扫描工具,对网站模拟各种黑客攻击手段,检测网站安全性。市场上有许多安全扫描平台。

    3)已知安全漏洞测试

你可能感兴趣的:(项目)