考试规则
题型:单选,多选,判断,简答
理论考试与技能考试任一超过60分即可通过
考试内容
1. 常见的攻击手段及其特征
针对主机服务漏洞攻击
包括CVE漏洞(如Eternal blue),以及针对SSH、Telnet等具有登录功能的服务进行口令爆破
Eternal blue实验
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。
Eternal blue(永恒之蓝)会扫描开放445文件共享端口的Windows机器,利用Windows系统的SMB漏洞获取系统最高权限,实施恶意行为。
msfconsole #进入metasploit framework
search ms17_010 #漏洞编号
use auxiliary/scanner/smb/smb_ms17_010 #扫描模块
show options
set RHOST [目标主机IP或网段]
run
...
back #退出模块
use exploit/windows/smb/ms17_010_eternalblue #攻击模块
show options
set RHOST [目标主机IP或网段]
run
SSH爆破实验
Hydra是一款非常强大的暴力破解工具,支持多种服务协议的账号和密码进行爆破,包括Web登录、数据库、SSH、FTP等服务,支持Linux、Windows、Mac平台安装。它是由著名的黑客组织THC开发的一款开源暴力破解、验证性质的工具。
hydra -l [用户名] -p [密码字典] -v -t 4 ssh://[IP地址]
-v:显示细节
特征分析
攻击过程中会调用相应服务,留下记录(例如口令爆破会留下大量登陆记录)
针对Web服务漏洞攻击
OWASP(Open Web Application Security Project,开放式Web应用程序安全项目)是一个非营利组织,不附属于任何企业或财团,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。其目的是协助个人、企业和机构来发现和使用可信赖软件。
OWASP TOP 10
A01: 2021-Broken Access Control 失效的访问控制
失效的访问控制,也叫越权,指未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这一漏洞访问未经授权的功能或数据。例如访问其他用户的账户、查看敏感文件、修改其他用户的数据,更改访问权限等。
典型漏洞:pypmyadmin CVE-2020-5504
A02: 2021-Cryptographic Failures 加密失败
加密失败,前称敏感数据泄露,根本原因是对数据加密存在有机可乘的漏洞(例如md5可被解密)。
A03: 2021-Injection 注入:例如SQL注入
A04:2021-不安全设计
不安全设计的关注点是设计缺陷的风险,代表一类漏洞
A05:2021-安全配置错误
因定制性高度配置的软件增多而上升,例如XXE(XML External Entity Injection,XML外部实体漏洞)
A06:2021-Vulnerable and Outdated Compents 易受攻击和过时的组件
A07:2021-Identification and Authentication Failures 认证和授权失败
A08:2021-软件和数据完整性故障
A09:2021-安全日志记录和监控失败
A10:2021-Server-Side Request Forgery 服务器请求伪造
利用社会工程学进行攻击
尝试使用远控木马结合钓鱼进行,常会有相关程序或服务落地
2. 端口/应用扫描
通过端口扫描可以判断出网站开启的服务,从而通过爆破枚举或漏洞利用进行突破,进一步提升网站权限。
扫描到的端口也许是网站的一个旁站,可以尝试对旁站进行漏洞检测;部分服务端口可能被管理员修改,需手工判断分析。
常见服务对应端口
21-ftp
22-ssh
23-telnet
110-POP3
1433-sqlserver
3306-mysql
3389-mstsc
8080-tomcat/jboss
9090-WebSphere
3. 弱口令检测
常用工具
Hydra:在线各种服务账户猜解
Medusa:类似Hydra
Patator:Python多协议破解工具
John the ripper:离线破解哈希
Burp Suite:在线密码枚举
Rcracki:离线彩虹表哈希破解
Ophcrack:离线LMHash/NTHash破解
Hashid/HashTag:哈希算法分析
Fcrackzip/Truecrack:特定文件密码破解工具
Metasploit:各类辅助测试脚本
Cupp.py:社工字典生成
4. 安全漏洞扫描及其工具使用
AWVS
AppScan
5. 安全网络事件应急处置流程
应急响应服务背景
1988年Morris蠕虫时间直接导致了CERT/CC(计算机应急响应协调中心)的诞生,下设三个部门:事件处理、脆弱性处理、计算机应急响应组(CSIRT)
CSIRT(Computer Security Incident Response Team,计算机应急响应组)也称IRT、CERT,是对一个固定范围的客户群内的安全事件进行处理、协调或提供支持的一个团队,一般由有丰富经验的安全技术人员组成。
CERT/CC服务内容
1)安全事件响应
2)安全事件分析和软件安全缺陷研究
3)缺陷知识库开发
4)信息发布:缺陷、公告、总结、统计、补丁、工具
5)教育与培训:CSIRT管理、CSIRT技术培训、系统和网络管理员安全培训
6)知道指导其他CSIRT组织建设
事件响应
事件响应:对发生在计算机系统或网络上的威胁安全的事件进行响应
信息安全生命周期包括对策、检测和响应
网络安全的发展日新月异,无法实现一劳永逸的安全服务
应急响应
应急响应:又称紧急响应,是安全事件发生后迅速采取的措施和行动。它是安全事件响应的一种快速实现方式。
客户的主机或网络正遭受到攻击或发现入侵成功的痕迹,而又无法当时解决和追查来源时,安全服务商根据客户的要求以最快的速度赶到现场,协助客户解决问题、查找后门、保存证据和追查来源。
应急响应服务是解决网络系统安全问题的有效安全服务手段之一。
应急响应的目的
最快速度恢复系统的保密性、完整性和可用性,组织和减小安全事件带来的影响
在信息安全等级保护工作中,根据信息系统的机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)来划分信息系统的安全等级,三个性质简称CIA。
应急响应服务的特点
1)技术复杂性和专业性:各种硬件平台、操作系统、应用软件
2)知识经验的依赖:由IRT中的人提供服务,而不是一个硬件或软件产品
3)突发性强
4)需要广泛的协调与合作
应急响应体系
1)应急预案:确定安全风险,统一应急操作,发布标准模板,有效技术支撑
2)应急演练:检验预案实用性、可用性、可靠性,避免事故,提高能力,适应要求
3)应急处置:事件通报,事件分类与分级,应急启动,应急处置,后期处置
4)管理措施:机构设置,技术支撑,评估体系,综合协调,统一指挥,分类管理,分级负责
事件分级
特别重大突发事件(Ⅰ级)
会使特别重要信息系统遭受特别严重的系统损失
产生特别重大的社会影响
重大突发事件(Ⅱ级)
会使特别重要信息系统遭受严重的系统损失,或使重要信息系统遭受特别严重的系统损失
产生重大的社会影响
较大突发事件(Ⅲ级)
会使特别重要信息系统遭受较大的系统损失,或使重要信息系统遭受严重的系统损失,一般信息系统遭受特别严重的系统损失
产生较大的社会影响
一般突发事件(Ⅳ级)
会使特别重要信息系统遭受较小的系统损失,或使重要信息系统遭受较大的系统损失,一般信息系统遭受严重或严重以下级别的系统损失
产生一般的社会影响
应急演练
模拟攻击--演练开始阶段
组织对某单位发起攻击;采用应急演练方案、用例
处置流程--响应及报告流程阶段
某单位对故障进行预警、响应、报告流程;
查看事态发展情况;
对故障及风险告知应急办寻求专家进行研判;
汇报故障及风险情况;
请求组织开展联合检查;
安全事件汇总
联动处置--应急决策、指挥、处置及信息发布
某单位网络应急办对地方安全事件进行研判启动处置预案;
发布事件公告;
成立处置专家组进行协同处置;
汇报处置结果及后续工作安排内容;
演练完毕--报告整理及储存
告知上级处置情况;
对发生的安全事件进行总结、概括、保存及形成知识库
应急响应流程(PDCERF)
准备阶段→检测阶段→遏制阶段→根除阶段→恢复阶段→总结阶段
应急响应服务是指针对已经发生或可能发生的安全事件进行检测、分析、协调、处理、保护资产安全属性的活动。良好的安全事件响应遵循事先制定的流程和技术规范。
应急响应目标:采取紧急措施,恢复业务到正常服务状态;调查安全事件发生的原因,避免同类安全事件再次发生
应急处置闭环
发现风险--发现攻击手段
通过安全设备、主机设备、网络设备等日志发现入侵痕迹等
响应策略
根据系统受影响程度、受威胁或被窃取信息的敏感性、攻击手法、总体损失等制定
处置风险
分析过程(不局限于日志分析)
不同类的攻击采取不同点处置方式
汇总报告--报告解决方案
在报告中体现此次安全事件详细的发生过程以及解决方案
数据类型
系统原始日志:Windows/Linux主机日志等
终端数据:进程日志、杀毒日志等
流量数据:网络设备日志
SIEM数据:主机日志、Web应用日志、安全设备日志
应用安全日志:
DNS、HTTP、FTP、SNMP、SMTP/POP3/IMAP、SMB、LDAP、SSH、Oracle/MySQL/SQLServer
第三方数据:威胁情报数据
应急工具
信息收集:端口扫描工具、流量抓包工具
异常检测:漏洞扫描工具、漏洞利用工具、木马病毒检测工具
安全加固:配置核查工具、软件分析工具
数据操作:文件恢复工具、数据擦除工具、操作系统恢复工具
电子取证:内存分析工具、流量取证工具、日志提取工具、BIOS信息提取工具
6. Web常见漏洞攻击--日志分析
IIS 日志(Internet Information Services)是 Microsoft IIS Web 服务器上发生的事件的记录。这些日志文件提供有关网站、访问网站的用户、IP、错误等的信息。它们是对性能和操作问题进行故障排除的关键证据。
IIS日志文件格式
IIS格式是固定的ASCII格式,包括一些基本项目(如IP、用户名、请求日期和时间、服务状态码和接受的字节数)和详细项目(例如GET命令执行的下载)
项目用逗号分开,相较于其他格式更易于阅读;时间记录为本地时间
IIS日志类型
NCSA公用日志文件格式
NCSA(美国国家超级计算技术应用中心)公用格式是一种固定的ASCII格式,记录了用户请求的基本信息(如IP、用户名、日期、时间、请求类型、HTTP状态码和服务器发送的字节数)
项目用空格分开;时间记录为本地时间
ODBC日志记录
ODBC(开放式数据库连接)日志记录格式是对符合开放式数据库连接的数据库(Microsoft Access 或 Microsoft SQL Server)中一组固定的数据属性的记录,包含IP\用户名、请求日期和时间、HTTP状态码、接收字节、发送字节、执行的操作和目标
对于ODBC日志记录,必须指定要登录的数据库并设置其接收数据
W3C扩展日志文件格式
W3C扩展格式是一个包含多个不同属性、可自定义的ASCII格式,可以在记录重要属性的同时通过省略不必要的属性字段来限制日志文件大小
属性以空格分开;时间以UTC形式记录
集中的二进制日志记录
日志文件名使用前几位字母来代表日志记录格式,其余数字则代表时间范围或日志顺序。
保存位置:C:/WINDOWS/system32/LogFiles
HTTP错误信息
1XX:继续
2XX:正常
3XX:重定向
4XX:客户端错误
400:无法解析此请求
401:未经授权
403:禁止访问
404:文件或目录无法找到
405:用于访问该页的HTTP动作未被许可
406:客户端浏览器不接受所有请求页面的MIME类型
407:Web服务器需要初始的代理验证
410:文件已删除
412:客户端设置的前提条件
414:请求URL太大,Web服务器不接受
5XX:服务器错误
500:服务器内部错误
501:标题值指定的配置没有执行
502:Web服务器作为网关或代理服务器时收到无效的响应
常见的Web类攻击特征
SQL注入
SQL注入语句中可以看到大量SQL查询语句
一旦注入成功会有大量连续定向注入(除sqlmap)
文件上传
攻击点之前有大量尝试上传的记录
服务器端会存在大量测试文件
文件包含
日志中以有参数访问为重点
有敏感路径访问点
通过“../”返回上级
命令执行
提交对应参数
有关系统执行(如Ping命令)
XSS(Cross Site Scripting,跨站脚本攻击)
常见函数
提交对应文本或参数
CSRF(Cross-Site Request Forgery,跨站请求伪造)
提交对应网站地址
SSRF(Server-Side Request Forgery,服务器端请求伪造)
常出现127.0.0.1端口
XXE(XML External Entity Injection,XML外部实体攻击)
加载.xml文件
越权访问
日志不明显
直接访问其他页面
口令破解
登陆失败
Web日志分析思路
确定时间范围→快速搜索→IP地址过滤+类型过滤+状态过滤→确定攻击→分析攻击
确定特征文件→特征过滤→IP地址搜索+时间搜索+状态搜索→确定时间范围→分析攻击
Web日志分析方法手段
手工分析:人工查看日志,查找可疑的日志信息
统计分析:使用各类日志分析工具统计包括URL数量、成功失败请求、客户端分布等
大日志文件分析:分割日志,按某类特征过滤同类信息
搜索的快速匹配:利用正则表达式快速匹配具有特定数据的日志
7. 终端攻击事件识别
针对终端常见的攻击
挖矿病毒、勒索病毒、远控木马、ARP攻击
可通过查看CPU占用率和网络连接判断是否被挖矿病毒攻击。被挖矿时,会出现网络堵塞、系统资源占用过多、影响业务使用、内存占用率过高、操作卡顿等症状。
8.操作系统恶意进程检测与处置
常见病毒类处置整体思路
1)了解安全事件情况
发现时间、发现经过、发现人员;服务器异常、具体特征;系统类型、中间件类型、开发语言、业务架构、网络拓扑
2)事件初步判定
根据客户所描述的信息对事件形成初步判断,建立排查方向与应急思路
判断自己能否处理,若不能处理是否有同事可以处理
应急响应注意事项
1)不执行更改文件属性的命令及操作
保持样本的原始属性、权限及用户,以方便溯源
利用cp命令后可能更改文件属性,业务很可能在恢复阶段宕掉,应该用mv指令取代
2)Linux不执行“rm -rf”命令
可以用-f,-rf代表递归删除应慎用,可用mv代替以移除样本
3)取样本建议使用mv命令移动到文件夹
4)Linux的bash默认只记录1000条,超过则被覆盖
建议备份$HOME/.bash_history或对history进行加固
5)未经甲方允许不要(即时)重启/关闭机器
病毒处理完需重启或关闭服务器前一定要与甲方沟通再执行
处理勒索病毒时告知客户,在未进行取证时不随意重启服务器
6)执行find命令需注意路径,若路径为根目录且运行的服务较大,机器极有可能宕机
执行find命令前询问客户数据库的所在目录
一般代码不大,数据则很大甚至达到几百个G
7)抓包时要检查当前存储是否可以容纳数据包的大小
du -sh #查看当前目录下已用存储大小
df -h #查看当前剩余磁盘容量
8)tar命令打包隐藏文件需注意参数的使用
默认tar直接打包是不会打包压缩文件的
tar -czvf [包名].tar.gz [源文件] #以tar.gz方式打包并gz方式压缩
9)对甲方有关安全事件的表述持怀疑态度,仅供参考
10)注意任何细节,重视所有步骤
netstat、/etc/passwd、/etc/shadow该查必须查
11)积极主动跟进最新安全技术以及分析复现最新漏洞
许多病毒类事件中被用于边界突破的关键点即为0day或nday
应急过程中不了解此类漏洞,溯源程度便会降低
12)持续跟进微步威胁社区以及国内外优秀的威胁情报社区
每个家族手法不同,例如:seasame家族使用confluence漏洞,Minner为redis未授权漏洞,WannaMinner使用ms-17-010漏洞
在某些特定情况下无法打开文件进行溯源,只能打开Windows事件管理器
事件管理器打开方式:
Win+x
我的电脑-管理-事件管理器
Win+r输入"control",控制面板-事件管理器
Win+r输入"eventvwr.msc"
常用安全事件ID——详见windows安全事件查看及安全事件id汇总
4624--登陆成功
4625--登陆失败
4627--用户使用超级用户权限登录
4634/4647--注销成功
4648--使用explicit(显示)凭证登录
4688--已创建一个新的进程
4689--一个进程已退出
4720--账户创建
4722--账户启用
4724--尝试重置账户密码
4738--账户已更改
在线漏洞扫描
VirusTotal:https://www.virustotal.com/
Jotti:https://virusscan.jotti.org/
virSCAN:https://www.virscan.org/
病毒查杀及清除工具
360杀毒:https://sd.360.cn/
火绒安全软件:https://www.huorong.cn/
ClamAV:http://www.clamav.net/
卡巴斯基:https://www.kaspersky.com.cn/
Rootkit后门检测工具
Ichkrootkit:https://www.chkrootkit.org/
Irkhunter:https://rkhunter.sourceforge.net/
勒索病毒搜索引擎
启明VenusEye:https://lesuo.venuseye.com.cn/
腾讯:https://guanjia.qq.com/pr/ls/
360:https://lesuobingdu.360.cn/
奇安信:https://lesuobingdu.qianxin.com/
深信服:https://edr.sangfor.com.cn/
在线沙箱
微步云沙箱:https://s.threatbook.com/
VirusTotal:https://www.virustotal.com/
腾讯哈勃分析系统:https://habo.qq.com/
360云沙箱:https://ata.360.net/
奇安信沙箱:https://sandbox.ti.qianxin.com/
Joe Sandbox:http://www.joesandbox.com/(不可访问)
大圣云沙箱:https://mac-cloud.riskivy.com/
Any:https://app.any.run/ (卡顿)
安全分析工具
SysinternalsSuite:包含一系列免费系统分析工具,如ProcessExplorer、AutoRuns等
https://learn.microsoft.com/zh-cn/sysinternals/
PCHunter:手工杀毒工具
https://down.52pojie.cn/?query=PCHunter
Process Hacker:https://processhacker.sourceforge.io/
流量分析工具和反汇编工具
Wireshark:https://www.wireshark.org/
TCPView:一个查看端口和线程的小程序
https://learn.microsoft.com/zh-cn/sysinternals/downloads/tcpview
IDA Pro
OllyDbg:http://www.ollydbg.de/
WinDbg:https://learn.microsoft.com/zh-cn/windows-hardware/drivers/debugger/#small-windbg-logo-install-windbg
日志分析工具
Log Parser:https://www.microsoft.com/en-us/download/details.aspx?id=24659
ELK:https://www.elastic.co/cn/elastic-stack
splunk:https://www.splunk.com/(卡顿)
安全加固与安全配置
1. 操作系统的安全配置管理
操作系统(Operating System,OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事物。操作系统也提供一个让用户与系统交互的操作页面。
常见的操作系统:Windows、Linux、Unix、Mac
Linux操作系统安全防护:用户管理、文件管理、启动项管理
root账号保护措施
1)非必要避免以超级用户登录
2)不随意把root shell留在终端上
3)限制知道root口令的人数
4)使用su和sudo工具
5)不以root运行其他用户的或不可靠的程序
6)使用全路径执行命令
7)确保root目录下没有普通用户可写的文件或目录
8)禁止root用户远程登陆系统
Linux系统下,编辑/etc/ssh/sshd_config,将“PermitRootLogin no”行取消注释,并重启SSH服务。
使用su命令
su [OPTIONS] [USER [ARGUMENT...]]
su,替换或切换用户指令,用于允许用户使用其他用户权限运行命令。
su的默认行为是以root身份运行交互式shell。
su - #(或-,-l,--login)使得shell成为登录shell,其环境与真实登录非常相似,并且会更改当前目录
su -c [command] #切换为其他用户并执行指令,执行完毕再返回原来的用户身份
限制仅有Wheel组成员可使用su命令
修改/etc/pam.d/su文件,取消“auth required pam_wheel.so use_uid”行注释
Wheel组,可信用户组,该组成员被允许使用root权限进行操作。
创建系统内后门账户
1)修改内置账号:shell一般为/sbin/nologin(特权用户),修改为/bin/bash并设置口令
2)创建第二个UID为0的账户
Useradd -o -u 0 -d / hacker
-o:指定用户UID
-d:指定家目录
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是终极用户。
查看Linux系统中的账号异常
awk -F: '$3==0 && $1!="root" {print $1} /etc/passwd #查询第二个UID为0的账号
AWK是一种优良的文本处理工具。它是现有的功能最强大的数据处理引擎之一。
命令语法:awk '{pattern + action}' 或者 awk 'pattern {action}'
禁用或删除账号
最简洁的方法是在/etc/shadow的password域中最前端插入“!!”字符
userdel [username] #删除账号
passwd -l [username] #锁定账户
passwd -u [username] #解锁账户
文件隐藏模式位
除RWX外的三个隐藏模式位:
SetUID:程序以所有者而非执行者的身份执行;该类程序是本地缓冲溢出攻击的主要攻击对象
SetGID:类似SUID,程序以所有组的权限运行
Sticky Bit(目录黏着位):即时对目录有写权限,用户不能删除该目录下没有写权限的文件
SUID表述“设置用户ID”;SGID表述“设置组ID”。
程序执行时会创建具有四个ID编号的进程:
ruid(真正的用户ID)和euid(有效的用户ID),rgid(真正的组ID)和egid(有效的组ID)通常这些ID对完全相同,设置SUID和SGUID后,运行可执行文件的任何用户都采用该可执行文件属主ID
当用户执行一个SUID文件,用户ID在程序运行过程中被设置为属主ID;若文件属于root,用户将成为超级用户
Sticky Bit是保护目录中文件的权限位。
如果对目录设置Sticky Bit,则只有文件属主、目录属主或特权用户(root和admin)才可以删除文件。
Sticky Bit禁止用户从公共目录(如/tmp)中删除其他用户文件。
ls -l [文件] #查看文件权限
chmod 4XXX [文件] #设置SUID
ls -ld [文件夹] #查看文件夹权限
chmod 1XXX [文件夹] #设置Sticky Bit
find / -type f -perm -4000 -ls #查找SetUID
find / -type f -perm -2000 -ls #查找SetGID
find / -type f -perm -6000 -ls #同时SetUID与SetGID
启动项管理
chkconfig命令主要用来更新(启动或停止)和查询系统服务的命令运行级信息。
chkconfig -list #列出所有的系统服务的启动情况
chkconfig -addhttpd #添加httpd服务
chkconfig -delhttpd #删除httpd服务
chlconfig -level httpd 2345 on #设置httpd在运行级别为2、3、4、5的情况下都是开启状态
chlconfig -list mysqld #列出mysqld服务的设置情况
chlconfig -level 35 mysqld on #设定mysql在等级3和5为开机启动项
chlconfig mysqld on #设定mysqld在各等级为on(包括2、3、4、5)
2. 数据库的安全配置管理
操作系统级别安全配置
操作系统上有明确的系统分区和非系统分区。
如果数据文件在系统分区会占用磁盘空间导致卡顿。
show variables where variable_name='datadir' #查询数据文件存储位置
df -h [文件路径] #查看文件分区大小
查询结果中存在“/”、“/var" "、“/usr”说明数据文件在系统分区,建议换区
迁移数据文件:
1)service MySQL stop #停止数据库服务
2)cp -rp [旧路径] [新路径] #拷贝数据文件到非系统分区,也可使用mv命令
3)将MySQL配置文件中datadir的值改为新路径
4)servic mysql start #启动MySQL数据库
确保MySQL不能操作系统账号
MySQL在操作系统账号权限最小化有助于减小MySQL数据库漏洞造成的影响,防止黑客利用MySQL漏洞入侵操作系统,造成更大损失。
ps -ef | egrap "^MySQL.*$" #没有回显说明权限有问题
创建一个仅用于运行MySQL和直接相关进程的用户
以MySQL权限启动服务
修改配置文件/etc/my.cnf,添加user=mysql
再次检查,确保没有以root身份启动程序
确保没有用户使用空密码
如果设置密码为空密码,入侵者只需获知密码和主机允许列表,就可以绕过身份验证随意登录数据库,进行非法操作。
SELECT User, host FROM mysql.user WHERE authentication_string=' ';
没有行数返回说明安全,否则需进行配置
update user set authentication_string=PASSWORD("root") where user='root';
flush privileges;
确保default_password_lifetimes小于等于90天
密码需定期更换才有意义,能有效防止黑客破解。
SHOW VARIABLES LIKE 'default_password_lifetime';
返回值大于90则进行修改
SET GLOBAL default_password_lifetime=90;
确保无匿名帐户存在
匿名用户为空且无密码,安全极差,任何人可以登录
SELECT user, host FROM MySQL.user WHERE user=' ';
结果集不为空则需删除匿名用户
检查弱口令
SELECT user, host FROM MySQL.user;
将密码hash导入cain软件破解,修改弱口令密码
update user set password=PASSWORD("[新密码]") where user='test';
update user set host='localhost/127.0.0.1' where user='root';
flush privileges;
删除无关账号
UPDATE FROM MySQL.user WHERE user='[账号]';
flush privileges;
文件安全
合理设置数据库文件权限,防止未授权访问或篡改
ls -al .mysql_history .bash_history #检查不当授权的文件,应为600权限
ls -al /etc/my.cnf #应为644权限
chmod [选项] [权限文件] #授权操作命令
.mysql_history和.bash_history文件在~文件夹中
日志审核
合理设置日志审核,保证安全事件发生时可查看日志记录
查看my.cnf或my.ini的日志设置
mysql的日志类型:
-log-err 错误日志
-log 查询日志(可选)
-log-slow-queries 慢查询日志(可选)
-log-update 更新日志
-log-bin 二进制日志
运行账号
连接数据库时以低权限用户身份登录,防止数据库高权限被恶意利用
show grants for test@'localhost'; #查询MySQL的运行用户
监听端口
ps -ef | grep mysqld #查看进程
grep -i bind-address /etc/my.cnf #查看配置文件
修改my.cnf配置,制定服务工作IP地址和端口
[mysqld]
bind-address=127.0.0.1
port=3306 #MySQL默认端口
禁止读取主机上的文件
为防止利用”LOCAL INFILE“读取主机上的文件,在my.cnf文件中添加local-infile=0
创建表pet
creat pet (name varchar(255), owner varchar(255), species varchar(255))
load data local infile '/etc/passwd' into table pet #读取/etc/passwd写入表pet
限制连接用户数量
修改my.cnf配置,防止过多用户连接数据库
[mysqld]
max_user_connections=2
禁止远程连接数据库
禁止远程连接操纵数据库,去掉my.cnf文件skip-networking行注释
若业务依赖TCP/IP连接数据库,不完成此项加固将影响业务的正常运行
连接数设置
show variables like 'max_connections'; #查看MySQL最大连接数
修改my.cnf配置,防止过多用户连接数据库
[mysqld]
max_connections=1000
3. 中间件的安全配置管理
中间件(Middleware)是连接系统软件和用户应用软件的软件,便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,是一种独立的系统软件或应用服务。
常见中间件:Apache,IIS,Tomcat,Jboss,Weblogic,Websphere
Apache安全概述
Apache HTTP Server(简称Apache),由Apache HTTP Server Commitee管理
Apache解析漏洞
Apache解析文件的规则为从右至左判断解析,若后缀名不可识别,则向左继续判断。攻击者可以在.php文件后添加不可解析的后缀以绕开过滤条件,例如test.php.123。
修改httpd.conf或httpd-vhosts.conf以禁止*.php.*格式文件的访问权限
<FilesMatch ".(php.|php3.|php4.|php5.)">
Order Deny, Allow
Deny from all
</FilesMatch>
补丁安装
获取最新版本软件包安装升级
删除无用文件
删除默认安装的HTML文件(apache2/htdocs/文件夹下)
rm-rf /usr/local/apache2/cgi-bin/* #删除缺省(系统默认状态)的CGI脚本
rm-rf /usr/local/apache2/manual #删除默认安装的Apache手册
禁止目录浏览
修改http.conf,在”Indexs“前添加”-“,禁止列出目录下文件
<Directory "/var/www/html">
Options Index FollowSymLinks
AllowOverride None
Order allow, deny
Allow from all
</Directory>
日志审核
修改http.conf,正确设置错误日志、记录内容、记录格式,重启Apache
LogLevel 设置等级(建议为notice)
ErrorLog 设置错误日志文件名和位置
LogFormat 日志格式
自定义错误信息
修改http.conf,可设置返回指定字符串、文件或重定向地址
ErrorDocument [状态码] [字符串/文件/地址]
关键文件权限
httpd.conf配置文件与.log日志文件属主可读写,其他用户只可读
禁用非法HTTP方法
修改http.conf,只允许GET和POST方法
<LimitExcept GET POST>
Deny form all
</LimitExcept>
SESSION时间设置
修改http.conf(建议值)
Timeout 10 #客户端与服务器建立连接前的时间间隔
KeepAlive On
KeepAliveTimeout 15 #限制每个session保持时间为15s
限制IP访问
修改http.conf,allow form all改为allow from [允许访问的网段]
隐藏版本信息
修改http.conf
ServerSignature Off
ServerTokens Prod
账户安全
创建专门的用户和组用于运行Apache
修改http.conf
User [用户名]
Group [用户组名]
LimitRequestBody 5120000
Listen [IP地址]:[端口号] #监听固定地址及端口
4. 网络设备的安全配置管理
路由器(Router)是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。
路由器的作用
1)连接具有不同介质的链路
2)连接网络和子网,隔离广播
3)对数据报文进行寻路和转发
4)交换和维护路由信息
路由器的特点
1)主要工作在OSI模型的物理层、数据链路层和网络层
2)根据网络层信息进行路由转发
3)提供丰富的接口类型
4)支持丰富的链路层协议
5)支持多种路由协议
Cisco路由器检测配置
showrunning-config #检查配置文件
设备访问控制
用户认证方式:启用本地或AAA认证,查看登录认证方式(如本地账户口令、认证服务器等)
定义会话超时时间:配置定时账户自动登出,会话空闲一定时间后自动登出(建议为5min)
远程安全管理方式访问设备:启用SSH,建议禁用TELNET,且远程管理(VTY)的登录源地址必须采用ACL进行限制或制定固定的管理IP;针对不支持的设备说明品牌、型号、软件版本
账户管理&密码管理
检查无用账号和权限分配:删除或锁定与设备运行、维护等工作无关的账号;不同等级管理维护人员分配不同账号,避免账号混用
口令加密并定期更换:开启密码加密服务并定期更新
日志管理
log服务:指定日志服务器
系统设置日志时间戳
系统设置日志配置:LOG应定义级别
服务管理
1)修改SNMP只读字串或可写字串
2)指定NTP服务器或校对本地时间
3)关闭http、FTP、TFTP服务
4)用DNS解析服务
5)禁用Small TCP/UDP、finger、bootp、arp-proxy服务
6)关闭IP源路由协议与IP直接广播(IP Directed Broadcast)
端口管理
关闭未使用的网络接口:明确关闭不适用的网络接口(如路由器的AUX口),但不包含管理口等特殊接口
交换机(Switch)是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。
交换机的作用
1)连接多个以太网物理段,隔离冲突区
2)对以太网帧进行高速而透明的交换转发
3)自行学习和维护MAC地址信息
H3C交换机安全配置
账号管理、认证授权安全要求
账号:配置默认级别
口令:密码认证登录;设置访问级密码;加密口令
日志安全要求:配置远程日志服务器
IP协议安全要求:使用SSH加密管理;系统远程管理服务只允许特定地址访问
SNMP安全要求:修改SNMP默认通行字;使用SVMPⅤ或以上本版;SNMP访问控制
其他安全要求:关闭未使用的端口;账号登录超时;关闭不需要的服务
5. 网络安全设备的安全配置管理
传统的防火墙用于控制实际的火灾,使火灾被限制在建筑物的某部分,不会蔓延到其他区域
IT领域中的防火墙用于保护网络免受恶意行为的侵害,并阻止实施非法行为的网络设备或系统,是一个安全网络的边界的,在不同网络区域之间进行流量的访问控制
防火墙(Firewall)是一种高级访问控制设备,是置于不同网络安全领域之间的一系列部件的组合。它是不同网络安全域间通信流的唯一通道,能根据企业有关的安全政策允许/拒绝/监视/记录进出网络的访问行为。
防火墙的作用
1)过滤进出网络的数据包
2)管理进出网络的访问行为,封堵某些禁止的网络行为
3)记录通过防火墙的信息内容和活动
4)对网络攻击进行检检测和警告
5)能过滤大部分危险端口
6)设置严格的向外向内的状态过滤规则
7)抵挡大部分DoS攻击
8)加强访问控制能力
防火墙设计标准
1)所有在内外网之间传输的数据都必须通过防火墙
2)只有被授权的合法数据(防火墙系统安全策略允许的)可以通过防火墙
3)防火墙本身可经受住各种攻击
4)使用目前最新的信息安全技术(如现代密码,一次一密系统)
5)人机界面良好,用户配置使用方便,易管理
防火墙执行标准
GB/T 18019-1999 信息技术包过滤防火墙安全技术要求
GB/T 18020-1999 信息技术应用级防火墙安全技术要求
GB/T 18336-2001 信息技术安全性评估标准
GB/T 17900-1999 网络代理服务器的安全技术要求
GB/T 18018-1999 路由器安全技术要求
防火墙的分类
按照操作对象:主机防火墙、网络防火墙
按照实现方式:软件防火墙、硬件防火墙
按照过滤和检测方式:包过滤防火墙、状态防火墙、应用网关防火墙、地址转换防火墙、透明防火墙、混合防火墙
Web攻击的危害
1)篡改Web系统数据:攻击者通过SQL注入等Web应用程序漏洞获得Web系统权限后,可以进行网页挂马、网页篡改、修改数据等活动
2)窃取数据:攻击者利用Web应用程序漏洞构造特殊网页或链接引诱Web管理员、普通用户点击,达到窃取用户数据的目的
Web安全问题产生原因
1)只关注应用,不关注代码安全
2)不能及时发现黑客入侵
3)防御措施滞后
WAF(Web Application Firewall,Web应用防火墙)是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品
WAF=安全防护+应用加速+可扩展性,可解决服务类、代码类、配置类安全问题
WAF的作用
1)Web攻击防护:SQL注入防护;XSS攻击防护;Web恶意扫描防护;应用层DoS防护
2)Web应用交付:网页防篡改;基于URL的流量控制;Web应用加速;多服务器负载均衡
3)Web应用合规:访问控制;HTTP协议合规;敏感信息泄露防护;文件上传下载控制;Web表单关键字过滤
4)Web非授权访问防护:CSRF攻击防护;Cookie防篡改;网站盗链防护
5)Web恶意代码防护:网页挂马防护;WebShell防护
https://virusscan.jotti.org/https://virusscan.jotti.org/