服务器安全基础知识

       这里我说一下服务器安全知识吧,虽然我很早之前想过要搞黑客技术,但是因为种种原因我最终也没有搞黑客技术,不过我还是很关心安全领域的。

       很早之前我搭建服务器只是为了测试我所学的知识,安全没有怎么关注,服务器一直被各种攻击,我当时也没怎么注意,后来我还是真正去使用服务器去搭建正式的网站了,才感到安全问题的紧迫性。

       我最开始的服务器用的是phpstudy,一开始会有默认的界面,提示你配置成功了,其实这些只是一个测试界面,有很多敏感的数据和很多可以注入的漏洞,不管是iis还是tomcat这些都要第一时间把默认界面删除掉。

       当我们配置mysql的时候,端口不要设置成3306的默认端口,要写一个不容易猜到的端口。密码也不要默认要尽量复杂(我有个同学,数据库直接没密码,然后有一次就被当成肉鸡了,他一个月的服务器流量就这样没了…),还要把数据库的远程连接功能关闭

       用户账户要经常关注,不必要的帐号要及时清除,有时攻击者有可能会留下一个账户,如果是日常开发维护尽量不要用超级管理员帐号,密码要尽量复杂且经常改密。

       如果你是刚刚接触服务器,还是建议安装一个安全软件,好多注册表规则和系统权限都不用自己去配置,安全软件有很多,我就不做广告了,我用的软件也不多,说不出什么好的。

       服务器的配置我也不是一下子配置好的,现在想起来这些先写一下,下面就是对用户访问的控制了,具体的访问控制我前面写apache配置的时候也说了很多了,总之就要写尽量严格的访问规则。其实有些比如:防止暴力破解,预防DDOS这些配置,一般的服务器安全软件都可以给你自动设置的。数据库密码不要使用超级管理员web服务需要什么权限就分配什么权限隐藏后台的错误信息

       光运维也不行,还要研发的事情(一般安全问题被曝光,首先骂运维…其实研发也要背锅的,不过得看是什么类型的安全问题了)

对于用户传参的限制不要只在前端,真正想攻击网站的人肯定不会再网页去填写一些代码的,要在后台加一严格的限制上传文件的可以设置文件夹目录的执行权限。我一般都对用户传参加以严格限制,比如后台接口所需要的参数都是一些字母或者数字,那么我就用正则匹配只匹配我需要的字母或者数字就行了。这里还要了解一些常见的黑客攻击手段,比如XSS,CSRF,sql注入等。平时威胁最大的数据库注入,一般使用PDO的绑定查询就可以解决注入问题,当然自己也可以去正则限定数据,转义或者编码储存。对于用户隐私数据要有业界良心加密储存,对于密码就直接使用改进型hash加密(php内置password_hash函数),不要使用不安全的md5和sha1.

记住,永远不要相信用户输入的数据

       其实我说的只是一小部分,也是最最初级的,这些也是我之前开发+运维的时候总结的一些知识,都是琐碎东西,记得不是很全,想起来我再添加吧~

你可能感兴趣的:(服务器)