服务器安全常识 教你如何防止网站服务器不被黑客攻击
在这里我跟大家分享一下关于服务器安全的知识点经验,虽说我很早以前想过要搞黑客技术,然而由于种种原因我最后都没有搞黑客技术,但是我一直都在很留意服务器安全领域的。
很早以前我搭建服务器只是为了测验我所学的知识点,安全没有怎么留意,服务器一直以来被各种攻击,我那时候也没怎么留意,之后我一直都在真真正正去使用服务器去搭建正式的网站了,才觉得安全性问题的紧迫性。当时服务器买的比较早,web环境用的study是相信大家对此环境都不陌生,相对比较便捷都是一键智能化的搭建,一开始会有默认设置的界面,提示你配置成功了,事实上这种只是一个测验界面,有许多比较敏感的数据信息和许多可以注入的漏洞,不管是iis还是tomcat这种一定要短时间内把默认设置界面删除掉。
在配置mysql数据库查询时,切记不可把端口设置为3306,由于默认设置的端口号会导致被入侵。我必须写一个无法猜测的端口号。登陆密码也不能默认的登陆密码如123456,要尽可能复杂多样化(我有个朋友,数据库查询当时没登陆密码,随后有一次就被当做肉鸡了,他一个月的服务器数据流量就这样没了…),还需把数据库查询的远程登陆功能关掉。管理员账户要经常留意,多余的帐号要立即清理,有时候攻击者有可能会留有一个隐藏的账户,如果是平常开发维护尽量不要用超级管理员帐号,登陆密码要尽可能复杂且经常改密码。
如果你是刚刚学会使用网站服务器,还是建议安装一个防护软件,好多注册表规则和系统权限都不用自身去配置,防护软件有许多,最好是手动做安全部署和加固,如果对此不明白的话可以去专业的网站安全公司请求帮助,国内做的比较专业的安全企业如SINE安全,鹰盾安全,启明星辰,绿盟等等。服务器的环境配置我也不是马上配置的。现在就这样先记录下来吧。以下是控制对用户的访问权限。具体的访问控制在写apache部署时也说了很多。总之,尽量写下严格的访问规则。事实上有些例如:防止暴力破解,预防DDOS这种配置,最好是靠机房的硬防去处理。数据库查询登陆用户不要使用超级管理员权限,web服务必须哪些权限就分派哪些权限,隐藏管理后台的错误信息。
仅仅知道服务器的运维维护是不行的,需要研究开发(一般的安全性问题被发现,首先骂服务器运维人员…事实上研究开发的也存在疏忽,但是必须看到是什么类型的安全性问题)。
针对用户get提交的参数限制不要只在web前端,真真正正想攻击网站的人毫无疑问不会再网页去填写一些代码的,要在后台管理加一严格的限制,文件上传的可以设定文件夹目录的执行权限。我通常都是对前端用户传递的参数加以严格限制,例如后台管理接口所用的参数都是一些英文字母或者数字,那样我就用正则匹配只匹配我必须的英文字母或者数字就行了。在这里还需了解一些比较常见的黑客攻击方式,例如XSS,CSRF,sql注入等。平常危害较大的数据库查询注入,一般使用PDO的关联查询就可以处理注入问题,当然自身也可以去正则限制数据信息,转义或者编码存储。对于用户的登录密码采用md5加密以及变向多个模式的加密算法.
记住,一定不要相信用户输入的数据信息。
事实上我说的只是一小部分安全常识,也是最最基础的,这种也是我之前开发+运维的那时候总结的一些知识点,都是零碎东西,记得不是很全,想起来我再添加吧~