1、重点回顾
- 要管制登入服务器的来源主机,得要了解网络封包的特性,这主要包括 TCP/IP 的封包协议, 以及重要的 Socket Pair ,亦即来源与目标的 IP 与 port 等。在 TCP 封包方面,则还得了解 SYN/ACK 等封包状态;
- 网络封包要进入我们 Linux 本机,至少需要通过 (1)防火墙 (2)服务本身的管理 (3)SELinux (4)取得档案的 rwx 权限等步骤;
- 主机的基本保护之一,就是拥有正确的权限设定。而复杂的权限设定可以利用 ACL 或者是 SELinux 来辅助;
- 关闭 SELinux 可在 /etc/selinux/config 档案内设定,亦可在核心功能中加入 selinux=0 的项目;
- rootkit 为一种取得 root 的工具组,你可以利用 rkhunter 来查询你主机是否被植入 rootkit;
- 网管人员应该注意在员工的教育训练还有主机的完善备份方案上面;
- 一些所谓的黑客软件,几乎都是透过你的 Linux 上面的软件漏洞来攻击 Linux 主机的;
- 软件升级是预防被入侵的最有效方法之一;
- 良好的登录档分析习惯可以在短时间内发现系统的漏洞,并加以修复。
2、课后练习
- 我老是发现我的系统怪怪的,似乎有点停顿的模样,怀疑可能是 CPU 负荷太大,所以要去检查一下系统相关的信息。请问,我该以什么指令去检查我的系统相关的信息?[jzsjiale_fold=答案]可以使用 top, sar, free, ps -aux, uptime, last 等功能去查询系统的相关信息喔!然后再以 kill 之类的指令删除;[/jzsjiale_fold]
- 我怀疑我的系统上面有过多的具有 SUID 的档案存在,导致一般使用者可以随意的取得 root 的权限,请问,我要如何找出这些具有 SUID 权限的档案?[jzsjiale_fold=答案]因为 SUID 是 4000 这个权限的模样,所以我可以这样做:
find / -perm +4000[/jzsjiale_fold] - 我由国内一些 ftp 网站上下载了 Red Hat 公司释出的软件,我想安装他,但又不知道该软件档案是否被修改过! 请问我该如何确定这个软件的可用性?[jzsjiale_fold=答案]利用最简易的 MD5 编码来测试一下,例如『 md5sum 软件名称』,再比对与原始软件释出的 MD5 数据是否相同!?[/jzsjiale_fold]
- 如果我发现使用『 setfacl -m u:dmtsai:rwx /path/to/file 』时,系统却显示『setfacl: Operation not supported』, 你认为是哪里出问题?[jzsjiale_fold=答案]这是由于你的 filesystem 没有启用 ACL 支持,或者是系统的核心不支持。 请先使用 mount -o remount,acl /mount_point 测试看能否支持 ACL ,若不支持时,则可能是由于核心版本太旧了。[/jzsjiale_fold]
- 如果要设定 dmtsai 可以使用 /home/project 这个目录 (假设 /home 已经支持 ACL),在该目录内 dmtsai 可以拥有完整的权限。请问该如何设定该目录?[jzsjiale_fold=答案]除了使用 setfacl -m u:dmtsai:rwx /home/project 之外,还需要设定 setfacl -m m:rwx /home/project , 因为 ACL 在目录方面,必须透过用户权力及 mask 的逻辑运算后才能生效![/jzsjiale_fold]
- SELinux 是否为防火墙?[jzsjiale_fold=答案]SELinux 并非防火墙,他是用来作为更细部权限设定的一个核心模块。[/jzsjiale_fold]
- 良好的密码规划是防备主机的第一要务,请问 Linux 系统当中,关于密码相关的档案与规则设定在哪些档案里面?[jzsjiale_fold=答案]密码的设定规则在 /etc/login.defs 里面!至于密码档案在 /etc/shadow 内![/jzsjiale_fold]
- 简易说明,当一部主机被入侵之后,应该如何处理?[jzsjiale_fold=答案]找出问题、重新安装、漏洞修补、数据还原!请参考本章最后一节的说明。[/jzsjiale_fold]
3、参考数据与延伸阅读
|