免密码登录的处理是用户对用户的,切换其他用户后,仍然需要输入密码
远程机器的.ssh目录需要700权限,authorized_keys文件需要600权限
否则配置是不成功的(每次登录都得重新去输入密码的)
4. ~/.ssh/known_hosts
1. 基于口令认证,出现在第一次登录远程主机时,对Server的公钥进行认证
2. ~/.ssh/known_hosts 文件是 SSH 客户端用于存储已知主机的文件。当用户首次连接到一个
SSH 服务器时,该服务器的公钥会被保存到这个文件中。随后,当用户再次连接到相同的服
务器时,SSH 客户端会检查服务器的公钥是否与 known_hosts 文件中保存的相匹配。如果
匹配,连接会被建立,否则,SSH 客户端会发出警告,表明连接可能不安全。
3. 第一次登录远程主机流程:第一次ssh到远程主机时远程主机会发送它的公钥到客户端主机,
客户机确认继续连接后会把远程主机的公钥保存到.ssh/known_hosts文件,下次再连接此远
程主机时会去.ssh/known_hosts查看,如果是已经保存的公钥证明是信任主机,即不会告警
并直接提示输入用户名密码登录。
4. 远程主机收到客户端请求后会把自己的公钥发送给客户端,客户端通过公钥加密之后将密码发
送给远程主机,远程主机用密钥解密,密码如果正确则登录成功。
5. 需要Known_host是因为:这个文件主要是通过Client和Server的双向认证,从而避免中间人
(man-in-the-middle attack)攻击,每次Client向Server发起连接的时候,不仅仅Server要
验证Client的合法性,Client同样也需要验证Server的身份,SSH client就是通过
known_hosts中的host key来验证Server的身份的。
5. ACL(Access Control List)
访问控制列表
首先是windows的 ACL、ACE、DACL、SACL
1. ACL:Access Control List,用来表示用户(组)权限的列表,包括DACL和SACL
2. ACE:Access Control Entry,ACL中的元素
可以理解 当前安全对象的限制,一个用户/用户组对该安全对象的 是否可读 是否可写,
那么此时ACE就是可读 可写这两个东西
3. DACL:Discretionary Access Control List,用来表示安全对象权限的列表
可以理解对 当前安全对象的限制,比如 a用户/用户组对该安全对象的XXX权限 b用户/用
户组对该安全对象的XXX权限,那么此时DACL则为两条数目
4. SACL:System Access Control List,用来记录对安全对象访问的日志
Windows访问控制模型中会用到ACL,比如文件、注册表的权限都包括ACL,用来表示哪些用户
(组)具有操作权限
然后是Unix的POSIX ACL
ACL就是可以设置特定用户或者用户组对于一个文件/文件夹的操作权限。
可用于解决Linux基本文件权限系统中权限分配空白问题
可以独立设置除了所有者和所属组以外的某个特定组或特定用户的访问权限
6. APT(advanced persistent threat)
1. 高级持续性威胁(Advanced Persistent Threat,APT),又叫高级长期威胁,是一种复杂
的、持续的网络攻击,不仅包括传统的 网络攻击技术,也会结合一些社会工程学手段,通过
人的弱点结合漏洞进行尝试攻击。
2. 包含三个要素:高级、长期、威胁。
1. 高级是指执行APT攻击需要比传统攻击更高的定制程度和复杂程度,需要花费大量时间
和资源来研究确定系统内部的漏洞;
2. 长期是为了达到特定目的,过程中“放长线”,持续监控目标,对目标保有长期的访问
权;
3. 威胁强调的是人为参与策划的攻击,攻击目标是高价值的组织,攻击一旦得手,往往会
给攻击目标造成巨大的经济损失或政治影响,乃至于毁灭性打击。