1、如何可以防止溢出类的骇客攻击呢?
① 尽最大的可能性将系统的漏洞补丁都打完;最好是比如Microsoft Windows Server系列的系统可以将自动更新服务打开,然后让服务器在您指定的某个时间段内自动连接到Microsoft Update网站进行补丁的更新。如果您的服务器为了安全起见 禁止了对公网外部的连接的话,可以用Microsoft WSUS服务在内网进行升级
② 停掉一切不需要的系统服务以及应用程序,最大限能的降底服务器的被攻击系数。比如前阵子的MSDTC溢出,就导致很多服务器挂掉了。其实如果WEB类服务器根本没有用到MSDTC服务时,您大可以把MSDTC服务停掉,这样MSDTC溢出就对您的服务器不构成任何威胁了。
③ 启动TCP/IP端口的过滤:仅打开常用的TCP如21、80、25、110、3389等端口;如果安全要求级别高一点可以将UDP端口关闭,当然如果这样之后缺陷就是如在服务器上连外部就不方便连接了,这里建议大家用IPSec来封UDP。在协议筛选中"只允许"TCP协议(协议号为:6)、UDP协议(协议号为:17)以及RDP协议(协议号为:27)等必需用协议即可其它无用均不开放。
2、如何在防止被骇客溢出得到Shell后对系统的而进一步入侵呢?
① 在做好1中上述的工作之后,基本上可以防目骇客在溢出之后得到shell了;因为即使Overflow溢出成功,但在调用CMDSHELL、以及对外联接时就卡了。 (为什么呢,因为:1.溢出后程序无法再调用到CMDSHLL我们已经禁止system访问CMD.exe了。2.溢出之后在进行反弹时已经无法对外部IP进行连接了。所以,基本上要能过system权限来反弹shell就较困难的了...)
② 当然世界上是不存在绝对的安全的,假设入侵者在得到了我们的shell之后,做些什么呢?一般入侵者在在得到shell之后,就会诸如利用系统命令加账号了 通过tftp、ftp、vbs等方式传文件了等等来达到进一步控制服务器。这里我们通过1上述的办法对命令进行了限制,入侵者是没有办法通过tftp、ftp来传文件了,但他们仍然可以能过echo写批处理,用批处理通过脚本BAT/VBS/VBA等从WEB上下载文件,以及修改其它盘类的文件等潜在破坏行为。所以我们需要 将echo命令也限制以及将其它盘的System写、修改文件的权限进行处理。以及将VBS/VBA类脚本以及XMLhttp等组件进行禁用或者限制system的运行权。这样的话别人得到Shell也无法对服务器上的文件进行删除以及进行步的控制系统了;以及本地提权反弹Shell了。
后记:其它服务器、系统的安全是个整体的概念;有可能你其它一小点的疏忽就可以让你的网站、甚至服务器沦陷。因此安全策略必需走防患未然的道路,任何一个小地方都不能马虎。