一、操作系统安全概述
1.1 操作系统安全概念
是指满足安全策略要求,具有相应的安全机制及安全功能,符合特定的安全标准,在一定约束条件下,能够抵御常见的网络安全威胁,保障自身的安全运行及资源安全
根据安全功能和安全保障要求,将操作系统分成五个安全等级
- 用户自主保护级
- 系统审计保护级
- 安全标记保护级
- 结构化保护级
- 访问验证保护级
**操作系统的安全可控:**是指用户可以按照预期的安全要求,实现对操作系统的操作和控制,以满足用户的业务需求
- 狭义上来说,操作系统的安全可控侧重于产品安全
- 广义上来说,操作系统的安全可控侧重于产业可控
操作系统的安全可控目标分为两个层面
- 第一个层面,是指给定一个操作系统,用户能够实现对操作系统的可理解、可修改、可检测、可修复、可保护
- 第二个层面,商业用户能够自己主导操作系统的产品化,不受恶意的商业利益绑架或遭受知识产权专利陷阱,操作系统不能被利用危及国家安全
1.2 操作系统安全需求
**操作系统的安全目标是:**能够防范网络安全威胁,保障操作系统的安全运行及计算机系统资源的安全性
操作系统的安全需求****包括
- **标识和鉴别:**能够唯一标识系统中的用户,并进行身份真实性鉴别
- **访问控制:**按照系统安全策略,对用户的操作进行资源访问控制,防止用户对计算机资源的非法访问(窃取、篡改和破坏)
- **系统资源安全:**能够保护系统中信息及数据的完整性、保密性、可用性
- **网络安全:**能够进行网络访问控制,保证网络通信数据安全及网络服务的可用性
- **抗攻击:**具有系统运行监督机制,防御恶意代码攻击
- **自身安全:**操作系统具有自身安全保护机制,确保系统安全和完整性,具有可信恢复能力
1.3 操作系统安全机制
操作系统的安全保障集成多种安全机制,主要包括:
- **硬件安全:**是操作系统安全的基础保障机制,包括硬件安全可靠性、存储保护、I/O保护、CPU安全、物理环境保护等
- 标识与鉴别:又称为认证机制,用于操作系统的用户及相关活动主体的身份标识,并给用户和相应的活动主体分配唯一的标识符
- **标识符:**具有唯一性,能够防止伪造
- **鉴别:**则指证实用户或活动主体的真实身份的过程
- **访问控制:**用于操作系统的资源管理控制,防止资源滥用。常见的访问控制有自主访问控制和强制访问控制
- **最小特权管理:**就是操作系统不分配用户超过执行任务所需的权限,防止权限滥用,减少系统的安全风险
- **可信路径:**是指操作系统的本地用户和远程用户进行初始登录或鉴别时,操作系统安全系统与用户之间建立的安全通信路径。可信路径保护通信数据免遭修改、泄露,防止特洛伊木马模仿登录过程,窃取用户的口令
- 安全审计:就是操作系统对系统中有关安全的活动进行记录、检查及审核,其主要目的就是核实系统安全策略执行的合规性,以追踪违反安全策略的用户及活动主体,确认系统安全故障
- 系统安全增强:又称为安全加固,通过优化操作系统的配置或增加安全组件,以提升操作系统的抗攻击能力
二、Windows操作系统安全分析与防护
2.1 Windows系统架构
Windows XP的结构:是层次结构和客户机/服务器结构的混合体,系统划分为三层
- 最底层:硬件抽象层,它为上面的一层提供硬件结构的接口,有了这一层就可以使系统方便地移植
- 第二层:内核层,它为低层提供执行、中断、异常处理和同步的支持
- 第三层:由一系列实现基本系统服务的模块组成的,例如虚拟内存管理、对象管理、进程和线程管理、I/O管理、进程间通信和安全参考监督器
Windows 2000系统在安全设计上有专门的安全子系统
安全子系统组成
- **本地安全授权(LSA):**提供了许多服务程序,保障用户获得存取系统的许可权。它产生令牌、执行本地安全管理、提供交互式登录认证服务、控制安全审查策略和由SRM产生的审查记录信息
- 安全账户管理(SAM):对SAM数据库进行维护,该数据库包含所有组和用户的信息。SAM提供用户登录认证,负责对用户在WeIcome对话框中输入的信息与SAM数据库中的信息比对,并为用户赋予一个安全标识符(SID)。根据网络配置的不同,SAM数据库可能存在于一个或多个Windows NT系统中
- 安全参考监视器(SRM):负责访问控制和审查策略。SRM提供客体(文件、目录等)的存取权限,检查主体(用户账户等)的权限,产生必要的审查信息
- 客体的安全属性由访问控制项(ACE)来描述,全部客体的ACE组成访问控制列表(ACL)
- 没有ACL 的客体意味着任何主体都可访问
- 有ACL的客体则由SRM检查其中的每一项ACE,从而决定主体的访问是否被允许
2.2 Windows安全机制
1. Windows认证机制
以Windows 2000为例,系统提供两种基本认证类型
- 本地认证:是根据用户的本地计算机或Active Directory账户确认用户的身份
- 网络认证:则根据此用户试图访问的任何网络服务确认用户的身份
为提供这种类型的身份验证,Windows 2000安全**系统集成三种不同的身份验证技术:**Kerberos V5、公钥证书和NTLM
2. Windows访问控制机制
Windows NT/XP的安全性达到了橘皮书C2级,实现了用户级自主访问控制
为了实现进程间的安全访问,Windows NT/XP中的对象采用了安全性描述符(Security Descriptor)
安全性描述符组成:**用户SID (Owner)、 工作组SID** (Group)、 自由访问控制列表(DACL)和系统访问控制列表(SACL)
3. Windows审计/日志机制
日志文件:是Windows系统中一个比较特殊的文件,它记录Windows系统的运行状况,如各种系统服务的启动、运行、关闭等信息
Windows 日志有三种类型:****系统日志、应用程序日志和安全日志,它们对应的文件名为SysEvent.evt、AppEvent.evt和SecEvent.evt
日志文件****存放位置:通常存放在操作系统安装的区域“system32\config” 目录下
4. Windows协议过滤和防火墙
针对来自网络上的威胁
- Windows NT 4.0、Windows 2000:提供了包过滤机制,通过过滤机制可以限制网络包进入用户计算机
- **Windows XP:**自带了防火墙,该防火墙能够监控和限制用户计算机的网络通信
5. Windows文件加密系统
为了防范入侵者通过物理途径读取磁盘信息,绕过Windows 系统文件访问控制机制
微软公司研究开发了加密的文件系统EFS,文件中的数据利用EFS在磁盘上加密,用户如果访问加密的文件,则必须拥有这个文件的密钥,才能够打开这个文件
6. 抗攻击机制
针对常见的缓冲区溢出、恶意代码等攻击,微软公司的新版本操作系统Windows 7、Windows10****增加抗攻击安全机制,集成了内存保护机制,**主要包括:**堆栈保护、安全结构例外处理SafeSEH、数据执行保护DEP、地址随机化ASLR、补丁保护PatchGuard、驱动程序签名等保护机制
**Windows 10提供减少攻击面规则配置,**具体如下:
|
|
2.3 Windows系统安全分析
windows系统可能遭遇以下安全威胁
- **Windows口令:**账号和口令是进入 Windows 系统的重要凭证,获取账号和口令信息是入侵者攻击 Windows 系统的重要途径
- **Windows恶意代码:**由于 Windows 系统自身的安全隐患,许多计算机病毒、网络蠕虫、特洛伊木马等安全事件都与 Windows 系统相关,例如“冲击波“网络蠕虫、“永恒之蓝"勒索网络蠕虫
- Windows **应用软件漏洞:**运行在 Windows 平台的应用软件的安全隐患日益暴露,这些安全隐患常常导致 Windows 系统被非授权访问、非法滥用等
- Windows **系统程序的漏洞:**Windows 系统程序的设计、实现过程中的安全隐患通常带来不少安全问题,例如 RPC 序的漏洞导致缓冲区溢出攻击
- Windows**注册表安全:**由于所有配置和控制系统的数据都存在于注册表中,而且 Registry 的缺省权限设置是”所有人” (Everyone) “完全控制” (FullControl) 和“创建“ (Create) ,这种设置可能会被恶意用户利用来删除或者替换掉注册表 (Registry) 文件
- **注册表 (Registry) :**是有关 Windows 系统配置的重要文件,存储在系统安装目录 “system32\config” 下
- Windows**文件共享安全:**Windows 98以后的系统都提供文件共享安全,但是共享会带来信息泄露的问题
- Windows**物理临近攻击:**一些攻击者利用物理接近 Windows 系统的条件,借用安全工具强行进入 Windows 系统
2.4 Windows 系统安全增强技术方法与流程
Windows 系统的安全增强是指通过一些安全措施来提高系统的安全防护能力
常见的系统安全增强方法
- 安全漏洞打补丁(Patch)
- 停止服务和卸载软件
- 升级或更换程序
- 修改配置或权限
- 去除特洛伊等恶意程序
- 安装专用的安全工具软件,针对Windows漏洞修补问题,用户可以安装自动补丁管理程序
Windows 系统安全增强基本步骤
- 确认系统安全增强的安全目标和系统的业务用途:****系统安全目标实际上就是用户所期望系统的安全要求,例如防止信息泄露、抗拒绝服务攻击、限制非法访问等。系统的业务用途是后续安全增强的依据,根据系统的业务用途,系统在安装时或设置策略时进行合适的选择
- 安装最小化的操作系统:****最小化操作系统的目的是减少系统安全隐患数目,系统越大,可能的安全风险就越大,而且管理上也难以顾及。安装最小化的操作系统要求:
- 尽量使用英文版Windows操作系统
- 不要安装不需要的网络协议
- 使用NTFS分区
- 删除不必要的服务和组件
- **安装最新系统补丁:**系统的漏洞通常成为入侵者进入的途径,因而漏洞的修补是系统安全增强的必要步骤
- **配置安装的系统服务:**根据系统的业务运行的基本要求,做到以下几点:
- 不要安装与系统业务运行无关的网络/系统服务和应用程序
- 安装最新的应用程序和服务软件,并定期更新服务的安全补丁
- **配置安全策略:**安全策略是有关系统的安全设置规则,在Windows系统中需要配置的安全策略主要有账户策略、审计策略、远程访问、文件共享等。其中,策略中又要涉及多个参数,以配置账户策略为例,策略包含:
- 密码复杂度要求
- 账户锁定阂值
- 账户锁定时间
- 账户锁定记数器
- 禁用NetBIOS: NetBIOS提供名称服务和会话服务,这些服务通常会给攻击者提供入侵切入点。为了系统的安全,一般建议禁用NetBIOS,其方法如下:
- 在防火墙上过滤外部网络访问135~139、445端口
- 修改注册表,禁用NetBIOS
- 禁用NetBIOS over TCP/IP
- 禁用Microsoft网络的文件和打印共享
- **账户安全配置:**账户权限设置不当往往会导致安全问题,在Windows系统中,设置账卢权限应做到:
- 禁用默认账号
- 定期检查账户,尽早发现可疑账户
- 锁定Guest账户
- **文件系统安全配置:**文件系统安全是Windows系统重要的保护对象,特别是向外提供网络服务的主机系统。文件系统安全的措施通常如下:
- 删除不必要的帮助文件和“%System%\Driver cache” 目录下的文件
- 删除不必要的应用程序,例如cmd.exe
- 启用加密文件系统
- 设置文件共享口令
- 修改系统默认安装目录名
- **配置TCP/IP筛选:**安全配置一般考虑:
- 过滤不需要使用的端口
- 过滤不需要的应用层网络服务
- 过滤ICMP数据包
- **禁用光盘或软盘启动:**禁用光盘或软盘启动可以防止入侵者进行物理临近攻击,阻止入侵者进入系统
- **使用屏幕保护口令:**使用屏幕保护口令防止工作主机被他人滥用
- **设置应用软件安全:**应用软件安全不仅会影响到自身的安全,也会给系统带来安全隐患。应用软件安全的设置应做到:
1. 及时安装应用软件安全的补丁,特别是IE、Outlook、Office办公套件等
2. 修改应用软件安全的默认设置
3. 限制应用软件的使用范围 - **安装第三方防护软件:**针对Windows系统的特定安全问题,安装第三方防护软件,如杀毒软件、个人防火墙、入侵检测系统和系统安全增强工具
2.5 Windows 2000系统安全增强实例
1.系统启动安全增强
用户必须关闭软盘及光盘的启动功能
**设置方法:**启动计算机,在系统自检时进入系统的CMOS设置功能,然后将系统的启动选项设置为“C only”(即仅允许从C盘启动),同时为COMS设置必要的密码
2.账号与口令管理安全增强
加强用户账号与口令的安全管理,具体安全增强措施如下
- 停掉guest账号
- 限制不必要的用户数量
- 把系统Administrator账号改名
- 创建一个陷阱账号
- 设置安全复杂的口令
- 设置屏幕保护口令
- 不让系统显示上次登录的用户名
- 开启口令安全策略
- 开启账号策略
开启口令安全策略 | 开启账号策略 | |||
策略 | 设置 | 策略 | 设置 | |
口令复杂性要求 | 启用 | 复位账号锁定 | 计数器20分钟 | |
口令长度 | 最小值6位 | 账号锁定时间 | 20分钟 | |
强制口令 | 历史5次 | 账号锁定阈值 | 3次 | |
强制口令 | 历史42天 |
3.安装最新系统补丁
攻击者常利用系统的漏洞来进行入侵。因此,必须密切关注微软或其他网站发布的漏洞和补丁信息,及时为系统安装上最新的补丁,这样有助于保护操作系统免受新出现的攻击方法和新漏洞的危害
4.网络安全增强
Windows 2000 一般从以下方面进行安全增强
- **禁止建立空连接:**默认情况下,任何用户都可以通过空连接连上服务器,进而枚举出账号,猜测口令,方法是修改注册表LSA-RestrictAnonymous的键值为1,具体操作为: Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成 “1" 即可
- **关闭默认共享:**Windows 2000安装好以后,系统会创建一些隐藏的共享,用户可以在命令窗口下用NET SHARE查看。要禁止这些共享,**操作的方法:**打开管理工具-计算机管理-共享文件夹-共享,在相应的共享文件夹上右击停止共享即可
- 关闭不必要的网络服务和网络端口:可以启用Windows 2000的 “TCP/IP筛选”机制关闭服务和端口
5.安装第三方防护软件
使用第三方防护软件,例如个人PC防火墙、个人PC入侵检测IDS、反间谍软件、杀病毒软件以及漏洞扫描工具等,都能有效地提高 Windows 系统的安全性
2.6 Windows 系统典型安全工具与参考规范
Windows 典型安全工具如下
- 远程安全登录管理工具OpenSSH (开源)
- 系统身份认证增强工具Kerberos (开源)等
- 恶意代码查杀工具CIamAV (开源)、360杀毒、火绒剑等
- 系统安全检查工具Nmap (开源)、Fport、Sysintemals (工具集成)等
- 系统安全监测工具Netstat (系统自带)、WinDump (开源)等
针对Windows系统进行安全管理问题,国内外安全组织制定了安全标准规范,以作为Windows操作系统配置的安全基线
接下来我将给各位同学划分一张学习计划表!
学习计划
那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:
阶段一:初级网络安全工程师
接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。
综合薪资区间6k~15k
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?
阶段二:中级or高级网络安全工程师(看自己能力)
综合薪资区间15k~30k
7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。
零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完
用Python编写漏洞的exp,然后写一个简单的网络爬虫
PHP基本语法学习并书写一个简单的博客系统
熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)
了解Bootstrap的布局或者CSS。
阶段三:顶级网络安全工程师
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉【整整282G!】网络安全&黑客技术小白到大神全套资料,免费分享!
学习资料分享
当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。