主机安全
收集主机信息
对于攻击者来说,如果想要实现对主机的攻击,必须要获取主机的一些信息,包括IP地址、端口、操作系统信息以及口令。
IP扫描
在互联网中,利用域名和IP地址都可以顺利找到主机。攻击者可以通过扫描工具对指定网段进行扫描,从而扫描出互联网中“存活”的IP地址,或者攻击者也可以通过域名来获取对应的IP地址。所以说当攻击者如果找到IP地址,就可以进一步通过IP地址进行端口扫描等。因此对应IP扫描应有以下预防措施。
1.隐藏IP地址。可以通过负载均衡来隐藏主机的IP地址。当攻击者通过域名来获取IP时,获取到的将会是负载均衡的IP地址,而并非主机IP。
2.启用防火墙IP白名单。通过防火墙安全策略,只允许指定的IP来对主机IP进行访问,这样可以大大防止其他IP对主机的IP扫描。
3.关闭外网IP。
端口扫描
攻击者通过端口扫描工具,可以扫描目标主机对外开放的端口以及监听在端口上的服务和版本信息。因此对应的端口扫描应有以下防御措施。
1.关闭无用端口或修改默认端口。可以关闭无用的端口,如135,445等端口号,对于必须使用的端口服务可以修改默认的端口号,如修改SSH的端口、FTP和telnet的端口号。
2.启用防火墙IP白名单。对于SSH、FTP等服务,只允许指定的白名单IP地址才能访问该服务。
弱口令账号扫描
攻击者通过IP扫描和端口扫描获取有漏洞的主机后,接下来就是进行弱口令主机的扫描,通过扫描工具可以根据漏洞主机的开放端口找出有弱口令账号的漏洞主机。对应的具体防御措施如下:
1.不使用弱口令,对于密码长度规定在8个或8个字符以上,并且使用字母,数字和特殊字符的结合。
2.禁止管理员权限的账号进行直接登录。对于管理员权限的账号,禁止直接使用SSH等进行直接登录,如需要管理员权限操作,可以通过普通账号登录后切换为管理员账号。
系统漏洞
对于系统层面的漏洞,应当及时查看和进行漏洞修复,防止因为系统漏洞而导致主机信息的破坏和泄露。
攻击者通过上述方法进入主机后,攻击者通常会做两件事情:清除记录和留下后门。他会更改某些系统设置、在系统中置入特洛伊木马或其他一些远程操纵程序,以便日后可以不被觉察地再次进入系统。此外,为了避免目标主机发现,清除日志、删除拷贝的文件等手段来隐藏自己的踪迹。所以应当进行定期的安全杀毒来确保主机中是否已经植入后门。
软件漏洞
对于主机方面的攻击,攻击者也可以通过对主机上的软件进行扫描,从而获取软件的版本信息等来找出有漏洞的软件。当存在有漏洞的软件是,攻击者可以直接通过该软件对主机进行攻击。最为常见的软件漏洞攻击为内存溢出攻击。
在计算机中的缓冲区是用来存储用户输入的数据的,缓冲区的长度是被事先设定好的,内存溢出是程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。如果用户输入的数据超过了缓冲区的长度并且程序未作处理,那么就会溢出,而这些溢出的数据就会覆盖在合法的数据上。当缓冲区溢出时,过剩的信息对电脑内存中原有内容进行完全替换,如未进行备份,你的内容就永远丢失了。“溢出攻击”在对缓冲区中的文件进行替换的同时,还会执行一些非法程序,从而得到命令行下的管理员权限,之后攻击者再通过命令行建立管理员账号,对电脑进行控制。
对于软件漏洞的具体防御措施如下。
1.隐藏软件的版本信息。攻击者会通过扫描攻击来获取软件的版本信息,从而判断软件是否有漏洞。如IIS至今仍存在的上传文件漏洞,攻击者如果扫描到端口有IIS,则可能会通过漏洞对主机上传后门。
2.对于服务器主机尽量减少不必要软件的安装。
3.Web项目的漏洞
攻击者可以通过Web应用程序的文件上传漏洞和SQL注入漏洞拿到webshell,从而操作主机服务器。
对于Web应用程序方面的漏洞,具体的防御一般是在应用层面进行防御。这里不对应用程序漏洞防御进行分析,只从主机安全方面进行分析。对于Web漏洞的主机防御,主要的措施为:不以administrator或root权限运行web服务器。大多数的web服务器可以配置成较低的权限,这样也无法获取主机管理员权限。
4.完整的安全系统
一个完整的安全系统,需要有以下防御:
1.需要对不同层面的安全漏洞或威胁有具体的防御措施,如:主机层面的防火墙IP白名单策略、网络层面的防火墙过滤ICMP应答消息防止IP扫描、应用层面的xss、csrf和sql注入等具体防御。
2.需要有一个入侵检测系统和入侵防御系统。通过模式匹配的方式来对网络流量中异常请求操作进行报警和防御;同时需要对主机的系统操作日志和数据库的操作日志、目录以及文件中的异常改变和程序执行中的异常行为进行分析来找出异常操作。
3.需要有一个审计系统。主要是进行日后重现,不仅是行为动作,还包括具体的细节。后期用来对攻击行为进行分析,找出系统的漏洞及后续处理。
以下为对应的网络部署图。
在网络的入口处部署防火墙,可以根据IP地址(IP-Addresses)或服务端口(Ports)过滤数据包,主要在OSI网络层次模型的第二到第四层起作用。
IDS主要以旁路部署为主,依照一定的安全策略,通过软、硬件,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果。主要分为基于标志的入侵检测和基于异常情况的入侵检测。基于标志的入侵检测主要是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。而基于异常情况的入侵检测则是对系统和用户的行为按照一定的时间间隔进行采样,样本的内容包括每个会话的登录、退出情况,CPU和内存的占用情况,之后产生行为轮廓,将每次采样后得到的行为轮廓与以后轮廓进行合并,最终得到系统和用户的正常行为轮廓。通过将当前采集到的行为轮廓与正常行为轮廓相比较,来检测是否存在网络入侵行为。
IPS基本以在线模式为主,定义N中已知的攻击模式,通过模式匹配去阻断非法访问。在遇到动态代码(ActiveX, JavaApplet,各种指令语言script languages等等)时,先把它们放在沙盘内,观察其行为动向,如果发现有可疑情况,则停止传输,禁止执行。
入侵检测系统IDS的核心价值在于通过对全网信息的收集、分析,了解信息系统的安全状况,进而指导信息系统安全建设目标以及安全策略的确立和调整。
入侵防御系统IPS的核心价值在于对数据的深度分析及安全策略的实施,对黑客行为的阻击。
审计产品都采用“并联”在网络上的方式,不影响业务的性能,对各种日志进行分析处理获取用户行为全程记录并存储,方便日后问题重现和问题定位。