这几个概念死记硬背真是太容易搞混了
【为了限定外部攻击影响范围的一些操作】
chroot:这个是说对某个进程来说规定它和它的子进程只能访问某个目录以下的目录,把这个目录当作它的根目录,真正的根目录无法访问
polkit:
是说传统Linux中要么root要么普通user,用suid等进行权限的赋予也很粗糙,所以就通过一个polkit规定一些规则更细粒度管理权限。在GUI环境中比较常用。
(感觉不太对,但是没太搞明白)
capability:
对一个文件的权限进行了细分,比如说【CAP_CHOWN】是更改文件gid和uid的权限,【CAP_NET_RAW】是允许raw socket和packet socket的权限,【CAP_SYS_CHROOT】是允许调用chroot的权限,而不是全部都一并赋予
【rootkit相关】
rootkit:
一种侵入系统的工具,修改系统以达到销毁证据的作用
rkhunter(rootkit hunter):
防止系统被偷偷安装rootkit的检测工具,还可以检测其他威胁
chkrootkit:
跟上面差不多,防止系统被偷偷安装rootkit,但是功能没有rkhuner丰富
既然要学会如何创建ssh ca
感觉就是以下流程
1.生成ca的公钥私钥
2.用生成的ca私钥给client公钥签名生成client的证书,给ssh主机公钥签名生成ssh主机的证书
(只要签一次就够了,和authorized_keys的机制需要client和主机一一对应不一样,信任一次=ca管理的ssh主机都能访问,除非主机的证书有一些特殊的规定)
3.修改ssh主机的ssh配置文件,允许使用 CA 签名的用户密钥,改完了之后重启sshd,重启系统
4.把ca公钥保存在client的`~/.ssh/known_hosts`里
抄袭材料:
https://juejin.cn/post/6844903571603865613
https://docs.redhat.com/zh_hans/documentation/red_hat_enterprise_linux/6/html/deployment_guide/sec-creating_ssh_ca_certificate_signing-keys#sec-Creating_SSH_CA_Certificate_Signing-Keys
感觉说话很机翻,但是关于ssh ca好像稍微懂了一点。。
https://blog.csdn.net/wouderw/article/details/132550553
感觉这个关于meltdown和spectre说得更详细点,但就有点难懂了
什么是 Meltdown/Spectre?
谢谢你cloudflare我的超人
https://www.cloudflare.com/zh-cn/learning/security/threats/meltdown-spectre/
为什么要用sysctl把SYN cookie选项打开
是因为在DoS攻击和buffer overflow攻击中一般不会发送ACK响应?
具体怎么操作:
sysctl net.ipv4.tcp_syncookies
systcl -w net.ipv4.tcp_syncookies=1
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
cat /proc/sys/net/ipv4/tcp_syncookies
systcl -w net.ipv4.tcp_syncookies=1
以上操作在重启之后就会被复位
为了重启之后还是这个设置需要进行一下操作
vi /etc/systcl.conf
----写入以下下内容-----
net.ipv4.tcp_syncookies=1
systcl -p
systcl net.ipv4.tcp_syncookies
复制粘贴ChatGPT老师关于AppArmor和Smack的内容
AppArmor(Application Armor)和 Smack(Simplified Mandatory Access Control Kernel)都是 Linux 中的强制访问控制(MAC)框架,用于增强操作系统的安全性。它们可以限制应用程序对系统资源的访问,以减少潜在的安全风险。
这两种框架的主要区别在于它们的设计和实施方式:
AppArmor:
AppArmor 是一种基于应用程序的访问控制系统,它使用名为"应用程序配置文件"的策略文件来定义哪些文件和资源可以被特定应用程序访问。
AppArmor 的策略文件通常与特定应用程序相关联,因此它的管理相对容易。这意味着你可以为每个应用程序创建独立的策略文件,从而更精确地控制每个应用程序的权限。
AppArmor 主要受到 Ubuntu 和 SUSE 等 Linux 发行版的支持,它们通常集成了 AppArmor 作为默认的应用程序安全框架。
Smack:
Smack 是一种在 Linux 内核层面实施的访问控制系统,它使用称为"标签"的策略来限制文件和进程的访问。
Smack 的策略是基于文件系统上的标签而不是应用程序名称的,这使得管理策略可能会更加复杂,因为策略适用于整个文件系统层次结构。
Smack 的目标是提供更细粒度的控制,并能够支持一些高级的安全用例。
总的来说,AppArmor 更容易配置和管理,适用于需要快速实施应用程序级别的安全策略的情况。Smack 更加灵活,可以提供更细粒度的控制,但可能需要更多的配置工作。选择哪种取决于你的具体需求和系统的配置。一些 Linux 发行版可能选择集成其中一种或两种框架,以提供多层次的安全保护。
bandwidth和throughput的区别
谢谢老师解答。。
"bandwidth" 和 "throughput" 是两个与网络性能和数据传输相关的术语,它们有以下区别:
1. Bandwidth(带宽):
- 带宽是网络连接或通信信道的最大数据传输速率或容量。它通常以位每秒(bps)或兆位每秒(Mbps)来衡量。
- 带宽表示可以在网络中传输的数据量的最大限制。它类似于道路上的车道数量,表示一段时间内可以容纳的车辆数量的上限。
2. Throughput(吞吐量):
- 吞吐量是实际传输到目的地的数据量或有效数据传输速率。它通常以与带宽相同的单位(bps 或 Mbps)来衡量。
- 吞吐量表示在实际数据传输中达到的速率,考虑了可能的网络延迟、丢包以及其他因素。因此,吞吐量通常低于带宽。
总结来说,带宽是网络连接的最大容量,而吞吐量是在实际数据传输过程中达到的速率。带宽是理论上的上限,而吞吐量考虑了实际网络条件下的性能。在网络中,吞吐量通常不会达到带宽的水平,因为网络延迟、拥塞和其他因素都可以影响数据传输速度。
问了ChatGPT老师Snort这个工具的名字来源,好好笑…… 以下为ChatGPT老师的解答:
"Snort" 这个词本身是英语中的一个动词,意思是发出类似于猪的呼噜声或者喷气声。在计算机安全领域,"Snort" 是一款用于网络入侵检测的开源软件。这个软件的名字可能是一种隐喻,将网络入侵比作猪发出的噪音,而 Snort 软件则用于检测和识别这些网络入侵的噪音。
Snort 最早由Marty Roesch于1998年创建,它是一款轻量级的网络入侵检测系统(NIDS),被广泛用于监测和分析网络流量,以识别潜在的网络攻击、漏洞和异常行为。Snort 使用规则引擎来检测并响应网络上的安全事件,当它发现与预定义规则匹配的网络流量时,可以触发警报或采取其他预定的行动。
总的来说,"Snort" 这个名称可能是一种幽默的方式,将网络入侵的检测比作猪发出的噪音,但这个软件本身在网络安全领域扮演着非常重要的角色。它已经成为许多组织和安全专家用来保护网络免受攻击的有力工具。
老色在社畜站的分身