前言

互联网世界鱼龙混杂,我们的网站放在internet上除了网站用户和会员会造访,还会有一群觊觎网站利益服务器功能的人在暗中观察,抓住机会找到漏洞就把网站一举拿下,从而盗取数据或是利用服务器资源作为矿机等等,因此服务器防御也是不可忽略不可轻视的一方面。

大部分公司在开发运维过程中并不会去刻意注意服务器安全,也不会去请专门的安全人员,直到服务器被攻破,被人勒索了以后才会意识到安全问题的重要性,虽说见兔顾犬,未为晚也,亡羊补牢,未为迟也,但是倘若我们能做到防范于未然,做好基础防御,至少让小学生级别的黑客被拒之门外,岂不善哉。

本文也仅作为基础防御手段收集,如果公司数据非常重要,还是需要请专门的安全公司来保驾护航。

常见攻击手段

1、针对网站

1.1、SQL注入

sql注入也是老生常谈了,基本上算是常识了,这种手段无非是利用后台漏洞通过URL将关键SQL语句带入程序并在数据库中执行从而造成破坏性结果。常见情况包括后台使用了的致命的字符串拼接,比如在java的jdbc中使用如下写法

String sql = "select * from t_user where username = "+username;

如果入参username在url中被换成不怀好意的sql语句或者其他,数据库也就危险了。

localhost:8080/testproj/queryUser?username=;drop%20t_user;

此外,类似的mybatis的${}写法也是同样道理,最好换成#。

1.2、后台框架、协议漏洞

利用框架协议漏洞则是针对程序和系统缺陷,比如漏洞百出的struts2框架,到今天为止也不知道放出多少漏洞了,这些漏洞基本上是针对EL表达式缺陷使得URL中的代码得以执行,针对方式也很简单,换掉struts2或者不断升级。应对这种情况就需要运维人员关注漏洞公告,及时与开发沟通配合,更新程序,代价成本也比较高。这里也推荐可以使用一些漏洞扫描工具,及时发现自己网站的后门,防范于未然。比如Acunetix Web Vulnerability Scanner还是挺好用的。

1.3、程序逻辑漏洞

这个就需要黑帽子们比较有耐心,去一点点找出来,举个例子,网站有效性校验。针对数值有效性,前端有进行过滤,但是网站后台没有做参数有效性校验,这时候恶意者使用F12或postman等拼装ajax请求,将dfa或者-1ad这种非法数字发送给后台,健壮性差的程序就很容易报错,异常暴露到页面上,瞬间就能让操作者知道后台使用何种语言何种框架。更严重的可能是利用程序逻辑漏洞做重复提交、越权操作等行为,因此需要开发人员注意。

1.4、CSRF攻击

这种手段就比较高明了,需要黑帽子会构建钓鱼网站,且对目标网站请求方式比较熟悉。原理就是利用浏览器保存的cookie,比如我登录目标会员网站(这里假设www.huiyuan.com),利用留言功能留下一个钓鱼网址,可能管理员就点了进去,跳转到我构造的网页后触发页面的请求,该请求要增加一个管理员用户

www.huiyuan.com/account/addUser?username=god&password=123456&role=1

这个时候浏览器还携带着管理员登录的cookie因此该行为得到执行,我就获得了一个管理员用户,当然这么蠢的网站一般是不存在的,这里只是打个比方。

防范手段比较常见的是url携带token进行校验,这种手段还可以防御cookie被篡改,盗用等情况,相当的万金油。

1.5、暴力破解

直接采用密码表暴力破解方式强行登录管理员账户,这个没啥技术含量,开发人员做好验证码校验以及恶意攻击校验,频繁请求IP封禁即可。

2、针对服务器

2.1、服务器登录用户、数据库登录用户爆破

黑帽子有多种手段确定后台数据库,比如1.3中直接让后台报错,很容易就发现了后台使用的什么框架,连得啥库。又或是使用nmap 等工具直接开扫,目标服务器暴露3306端口大概率就确定是mysql了。确认了数据库类型以及端口接下来就是采用密码表暴力破解了,很多安全意识差的密码居然还是root,123456之类的,分分钟被暴,而扫到后台服务器22开放端口也可以确认后台服务器使用linux开放ssl登录。所以应对方式有三种:

  • mysql限制访问IP,这个利用alter user语句就可以做到,root账户尽量只给localhost权限,慎用user@%;
  • 不要使用弱密码,尽量采用字母+数字+特殊字符的密码;
  • 服务器使用放暴力破解服务,可以针对非法访问恶意操作进行锁IP防御。

2.2、服务器端口漏洞

通过nmap很容易扫描到服务器暴露的端口,比如139端口外露,就有大量的手段可以渗透:

net use \ip\ipcContentContentContentnbsp;”” /user:administrator

所以应对手段也很简单,开启防火墙,且只开放有需要的端口,敏感端口如139,445不要外露。

2.3、操作系统漏洞

虽然大部分公司都采用linux作为服务器,相对安全得多,但是还是有不少公司(至少博主见过挺多的)还在使用windows server,大量的漏洞让服务岌岌可危,应对方式也很简单粗暴,该打的补丁就打,不要偷懒。

2.4、木马植入

这个就是黑客直接通过向服务器种植木马,开启后门,取得服务器控制权,应对方式主要以下三点:
1、不要用服务器访问乱七八糟的网站(尤其是公司服务器在国外的,不要想着借来翻墙了,别作死),下载乱七八糟的东西;
2、实体机的移动外设接入前注意杀毒;
3、服务器安装相应安全产品,定期查杀木马,定期更新漏洞补丁;
4、防火墙注意开启,相应端口注意配置。

做到以上几点,基本上中级以下的黑客是进不来了,就算是中高级的黑客也得费一番功夫。当然,如果公司服务器数据涉及资产非常高,还是建议老老实实找安全公司护镖。

服务器防御基础(常见的几种攻击手段以及应对方式)相关推荐

  1. 关于RSA的几种攻击手段

    关于RSA的几种攻击手段 1.公钥密码的简介 2.RSA介绍 2.1.基本原理 2.2.攻击手段 2.2.1.直接分解n ①.网站分解 ②.费马分解法 ③.pollard p-1分解法 2.2.2.低 ...

  2. 攻防演练中常见的8种攻击方式及应对指南

    俗话说:"讲百遍不如打一遍",网络安全实战攻防演练被视为检验组织机构安全防护和应急响应能力,提高综合防控水平最有效的手段之一.那么,对蓝队来说,如何在攻防实战进行有效防护应对呢? ...

  3. 网络安全之几种常见的hei客攻击手段

    常见的攻击手段有:ARP攻击,DoS攻击,DDoS攻击,SYN攻击,缓冲区溢出攻击,等等.下面我将对这几种攻击做个介绍. 1 ARP攻击 ARP(Address Resolution Protocol ...

  4. 渗透测试:k8s的3种攻击手段(Kubernetes、未授权漏洞,端口:8080、6443、10250)

    目录 一.概览 二.Kubernetes中的用户 三.渗透思路 1. k8s api-server 8080未授权 2. kubelet 10250端口未授权 3. Service acount 高权 ...

  5. 实现服务器负载均衡常见的四种技术

    为了提高服务器的性能和工作负载能力,企业通常会使用DNS服务器.网络地址转换等技术来实现多服务器负载均衡,特别是目前企业对外的互联网Web网站,许多都是通过几台服务器来完成服务器访问的负载均衡. 目前 ...

  6. Java基础-常见IO五种模型

    本文目录 用户空间与内核空间 阻塞IO 非阻塞IO IO多路复用 IO多路复用-select IO多路复用-poll IO多路复用-epoll IO多路复用-事件通知机制 信号驱动IO 异步IO 用户 ...

  7. 黑客最可怕的7种攻击手段,到底厉害到什么程度?

    1.漏洞扫描器 一个漏洞扫描器是用来快速检查已知弱点,网络上的计算机的工具.黑客通常也使用端口扫描仪.它们检查指定计算机上的哪些端口"打开"或可用于访问计算机,并且有时会检测该端口 ...

  8. 常见的Web攻击手段,拿捏了!

    大家好,我是小菜. 一个希望能够成为 吹着牛X谈架构 的男人!如果你也想成为我想成为的人,不然点个关注做个伴,让小菜不再孤单! 本文主要介绍 互联网中常见的 Web 攻击手段 如有需要,可以参考 如有 ...

  9. 有备无患 | 黑客的常见攻击手段有哪些?

    我们基本都能认识到黑客的危险性,但依然有为数众多的网络用户认为,黑客距离自己很遥远,没必要专门攻击自己这样的普通人,这种观念是错误的. 网络中的黑客就像现实生活中的小偷.强盗一样,多数作案基本都是随机 ...

最新文章

  1. Ubuntu 上创建常用磁盘阵列
  2. socket技术难点
  3. linux下 c语言 用write open二进制写文件,Linux下用C语言fopen、fread和fwrite函数对二进制文件的操作-Go语言中文社区...
  4. 每周工作4天半可行吗?人社部回应:不宜在企业中广泛推行
  5. 【算法总结】积性函数相关
  6. mysql结果集键值对_键值对集合DictionaryK,V根据索引提取数据
  7. 使用GDAL对静止卫星圆盘数据进行校正(以FY2为例子)
  8. [书目20110326]高素质员工的28堂必修课
  9. 黑马程序员————java中面向对象的三大特性
  10. ThreatARMOR添加零日恶意软件防御功能
  11. Linux之父炮轰 “全球最大同性恋网站” GitHub:Merge制造了毫无用处的垃圾信息!...
  12. c语言自行车租赁系统,winform 自行车租赁系统(含数据库)
  13. 华为网络篇 传输文件-08
  14. 接口测试系列之——接口安全测试
  15. win10下cygwin安装
  16. 博主自传——蒟蒻的OI之路
  17. 百度统计和谷歌统计文档
  18. 改版后的CSDN如何更换皮肤
  19. 传送门:Python 从入门到实践
  20. Vue乱搞系列之axios发起表单请求

热门文章

  1. 带通采样(欠采样)原理以及其在ADC中下变频的应用
  2. 最浅显易懂的数据库索引讲解
  3. [易飞]如何制作自定义报表
  4. iMeta | 调控肠道菌群的宿主源代谢分子概述
  5. 关卡理论(1)第一节:概念
  6. 基于Xilinx CPLD的看门狗电路设计
  7. 使用浅层神经网络识别图片中的英文字母
  8. 产业分析:抖音三农行业分析
  9. ios 结构体跟枚举变量的区别_[Swift]枚举、类与结构体的对比
  10. 区块链是如何实现隐私保护的?