This commit is contained in:
Noriu 2024-10-21 22:55:00 +08:00
commit 446335c8e4

View File

@ -557,33 +557,194 @@
### 第九章 计算环境安全
-
- 账号锁定时间在账号锁定策略中
- 账户策略
- 密码必须符合复杂性要求
- 密码长度最小值
- 强制密码历史
- Linux常用权限
- **600**:只有文件所有者有读和写权限,组和其他用户没有任何权限。通常用于私人文件,如个人密码文件。
- **644**:这是文件的一个常见权限设置,表示所有者有读和写权限,组和其他用户只有读权限。适用于公共文档和配置文件。
- **664**与644类似但组用户也有写权限。适用于需要组内成员编辑的文件。
- **700**:只有文件所有者有读、写和执行权限,组和其他用户没有任何权限。通常用于个人脚本或需要保密的目录。
- **755**:通常用于可执行文件和目录,表示所有者有读、写、执行权限,组和其他用户有读和执行权限。适用于公共脚本和目录。
- **775**与755类似但组用户也有写权限。适用于需要组内成员修改的目录。
- **777**:这是一个非常开放的权限设置,表示所有用户都有读、写、执行权限,通常不推荐使用,因为它会带来安全风险。只有在特殊情况下,例如公共可写临时目录中,才可能使用。
- **555**:所有用户都有读和执行权限,但没有写权限。通常用于公共可执行文件或脚本,但不需要写入权限。
- **655**:所有者有读、写权限,组和其他用户有读和执行权限。适用于所有者需要编辑的脚本或程序,但其他人只能执行。
- **754**:所有者有读、写、执行权限,组用户有读权限,其他用户有读和执行权限。适用于所有者需要编辑,但组用户不需要写权限的可执行文件。
- 操作系统安全配置主要包括:操作系统安全策略、开启账户策略、关闭不必要的服务、关闭不必要的端口、开启审核策略、开启密码策略、开启账户策略、备份敏感文件、不显示上次登录名、禁止建立空链接和下载最新补丁。
- 利用注册表关闭隐藏共享:
- HKEY_LOCAL_MACHINE/SYSTEM/currentcontrolset/services/lanmanserver/parameters
- 新建DWORD值autoshareserver=0
- 新建DWORD值autosharewks=0
- 在命令窗口中输入命令删除C盘默认共享net share C$ /del
- 系统管理员不能剥夺超级用户的权能。
- 数据库完整性包括:
1. 实体完整性:确保每行数据都是有效的
2. 区域完整性:确保每列数据都是有效的
3. 参考完整性
4. 自定义完整性
- S/MIME是通过在RFCl847中定义的多部件媒体类型在MIME中打包安全服务的另一个技术。它提供验证、信件完整性、数字签名和加密其中没有邮件防火墙。
- Apache服务器的配置信息全部存储在主配置文件/etc/httpd/conf/httpd.conf中。
- 恶意代码隐藏通常包括本地隐藏和通信隐藏
- 本地隐藏有文件隐藏、进程隐藏、网络连接隐藏、内核模块隐藏、编译器隐藏等;
- 网络隐藏主要包括通信内部隐藏和传输通道隐藏。
- Acunetix Web Vulnerability Scanner简称AWVS它可以帮助用户自动抓取您的网站并执行黑匣子和灰色框黑客技术发现危险的漏洞可能会危及您的网站和数据该软件能够针对sql 注入、xss、xxxe、ssrf、主机头注入和4500其他web 漏洞进行测试,具有最先进的扫描技术,可产生尽可能最少的误报。
- 账户锁定策略对内置管理员账号不生效因此不能保护针对内置管理员—administrator的穷举法攻击。
- -r-s--x--x 1 root test 10704 Apr 15 2002/home/test/sh
- 第一个字符-表示这是一个普通文件。
- 接下来的三个字符r-s表示文件所有者的权限可读(r),不可写(-)并且设置了setuid位(s)。
- 接下来的三个字符--x表示与文件所有者同组的用户的权限不可读(-),不可写(-),可执行(x)。
- 最后三个字符--x表示其他用户的权限不可读(-),不可写(-),可执行(x)
当一个文件设置了setuid位并且该文件是可执行的那么当某个用户执行这个文件时该进程会以文件所有者的身份运行而不是以执行该文件的用户的身份运行文件的所有者是 root 但是setuid位被设置了。这意味着无论哪个用户执行这个文件它都会以test用户的身份运行。
- FAT32文件系统不支持EFS加密。
- EFS以公钥加密为基础并利用了Windows系统中的CryptoAPI体系结构
EFS加密过程对用户透明EFS加密的用户验证过程是在登录Windows时进行的
EFS采用加密算法实现透明的文件加密和解密任何不拥有合适密钥的个人或者程序都不能加密数据。
- 数据库安全粒度要根据实际需要进行选择,称为最适粒度安全策略。
- 恶意代码可以分为三种传播方式:网络传播、文件传播、软件部署
- NTFS文件系统不兼容EXT2。
- “强制密码历史”需要设置记住密码的数量。
- SID的内容包括用户和组的安全描述48-bit的身份特权修订版本可变的验证值。SID尾数值500内置管理员账号
- SSHSecurity Shell Port:22提供加密通讯代替telnet的明文通讯。
- 提供专用日志服务器实现远程日志备份可以有效应对攻击者获得系统权限后对日志进行修改。
- 影子口令系统把口令文件分成两部分:/etc/passwd和影子口令文件。
影子口令文件保存加密的口令;/etc/passwd中的coded-password域都被置为"X"或其他替代符号。
影子口令文件只能被root或像passwd这样的set_uid程序在需要合法访问时读取其他所有非授权用户都被拒绝访问。
- setuid设置使文件在执行阶段具有文件所有者的权限相当于临时拥有文件所有者的身份。
- root用户用户ID为0的用户也被称为超级用户root用户在系统上拥有完全权限可以修改和删除任何文件可以运行任何命令可以取消任何进程。root用户负责增加和保留其他用户、配置硬件、添加系统软件。
- passwd文件是保存Linux系统用户信息的文件
1. 用户名:它唯一的标志了一个用户,用户登录时就用户它。
2. 密码:以前用户的加密都是被保存在/etc/passwd文件中的第2个字段中并且每个用户都可以读取随着计算机性能的发展暴力破解变得相对比较容易因此现在linux采用一种“影子密码”用户的密码被保存在专门的/etc/shadow文件中其权限不允许普通用户查看root用户可以查看了解详细信息可执行man 5 shadow。
3. 用户IDUSER ID简称UID用一个整数表示。0是系统管理员账号1-499是系统保留账号500+即一般账号
4. 用户组ID简称GIDGID唯一的标识了一个用户组。
5. comment给用户账号做注释用的
6. 主目录:用户的家目录
7. 登录的shell登录shell通常是/bin/bash
- -rwxr-xr-x 3 user admin 1024 Sep 13 11:58 test
第一个字符代表文件(-、目录d链接l其余字符每3个一组rwxr、写w、执行x3表示连接的文件数User表示用户Admin表示用户所在的组1024表示文件大小Sep 13 11:58表示是最后修改时间Test表示文件名。
- iptables -A INPUT -p tcp -s 192.168.10.0/24 --dport 8080 -j ACCEPT
-A追加在当前链的最后新增一个规则
-s指定作为源地址匹配这里不能指定主机名称必须是IP
IP | IP/MASK | 0.0.0.0/0.0.0.0 而且地址可以取反,加一个“!”表示除了哪个IP之外
-d表示匹配目标地址
-p用于匹配协议的这里的协议通常有3种TCP/UDP/ICMP
- 病毒不能感染文本文件。
- SMTP是个请求/响应协议POP3采用Client/Server工作模式。
- HTTPSHyper Text Transfer Protocol over SecureSocket Layer是以安全为目标的 HTTP通道在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP的基础下加入SSLHTTPS的安全基础是SSL因此加密的详细内容就需要SSL。 HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层在HTTP与TCP之间。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯例如交易支付等方面。
- 在数据库安全性控制中,授权的数据对象粒度越小 ,授权子系统就越灵活。
- 检测未经授权的信息处理活动需要查日志并启用时钟同步以实现日志关联。
### 第十章 软件开发安全
-
- 在软件保障成熟度模型Software Assurance Maturity ModeSAMM中规定了软件开发过程中的核心业务功能
- 治理、构造、验证、部署
- 软件安全问题越早解决成本越低。
- 需求说明书属于开发文档。
- 多项安全措施并用----纵深防御。
一项工作需多人协作共同完成---职责分离。
- SA是数据库最大用户权限易违反最小特权原则。
- BSI认为软件安全有三根支柱风险管理、软件安全接触点、安全知识
- 模糊测试:通过提供非预期的输入并监视异常结果来发现软件故障的方法,强制软件程序使用畸形数据,并观察软件运行情况的一种测试方法。
- 渗透测试:是一种模拟攻击者进行攻击的测试方法,从攻击的角度来测试软件系统,并评估系统安全性的一种测试方法。
- 软件缺陷密度使用千行代码缺陷率来衡量。
- 隐私保护原则:系统收集到的用户信息都必须实施妥善和安全的保护。
- Core Impact提供专业的全方位的网络渗透测试功能。当增加或修改网络系统、发现新的漏洞或是发现新的攻击技术等常见情况出现时该功能都可以帮助企业简单有效地定期进行安全评估。
- Nessus 系统漏洞扫描与分析软件---针对类UNIX系统。
- Web Vulnerability Scanner——Web漏洞扫描工具。
- Metasploit是一款开源的安全漏洞检测工具。
- FUZZ测试就是模糊测试。
- 非预期的输入是模糊测试。
- 威胁是一种不希望发生、对资产目标有害的事件。从本质上看,它有可能是恶意的,也可能不是恶意的。因此,威胁并不等于漏洞。
- STRIDE六类威胁
![image-20241005082245408](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20241005082245408.png)
- STRIDE模型不是按严重程度排序的。
- SDL的阶段和安全活动
- <span style="color:red;">七个阶段</span>
- <span style="color:red;">十七项必需的安全活动</span>
![image-20241005073340811](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20241005073340811.png)
- “信息安全保障技术框架Information Assurance Technical FrameworkIATF属于信息安全保障模型。