1、检测root用户最后修改密码的时间:
last=$(grep root /etc/shadow | awk -F ":" '{print $3}')
date -u -d "1970-01-01 $last days" "+%Y-%m-%d"
2、安全基线检查:
自己配置一个符合安全基线的系统然后将这个系统打包成镜像,应用到后续的系统安装过程中:
https://www.cisecurity.org/cis-benchmarks/
3、CIA 三元组,也就是机密性、完整性和可用性。它们分别代表了数据的“不可见”“不可改”和“可读”。简单来说,机密性就是未付费不能进行任何操作,完整性就是内容不会变成别的方向的内容,可用性就是你作为付费用户,能够随时进行操作。
4、黄金法则:主要包含三部分:认证(Authentication)、授权(Authorization)、审计(Audit)。为什么称它为“黄金”呢?一方面是因为,它包含的这三部分重要且通用;另一方面是因为,这三个单词的前两个字母都是 Au,而 Au 在元素周期表中代表着“金”。
5、渗透练习和比赛:
练习攻击渗透的教程和平台:https://owasp.org/www-project-webgoat/
CTF 比赛:https://www.xctf.org.cn/
6、开源漏洞扫描:https://www.openvas.org/
7、蜜罐:
蜜罐评测:https://www.freebuf.com/articles/paper/207739.html
蜜罐列表:https://github.com/paralax/awesome-honeypots/blob/master/README_CN.md
8、linux系统安全:
Linux中,通过文件属性来对文件设置更多的保护,命令就是chattr:https://en.wikipedia.org/wiki/Chattr
Linux 防止用户随意操作其他用户的文件,提供了“粘滞位”的功能。比如chmod +t /tmp可以阻止删除 /tmp 目录下其他用户的文件。
强制 Test 用户在 60 天内必须对密码进行修改:chage -M 60 test
弱密码检测工具:https://github.com/magnumripper/JohnTheRipper
检测弱密码:
unshadow /etc/passwd /etc/shadow > mypasswd
john mypasswd
john --show mypassw
系统日志主要分为3类,用户登录日志、特殊事件日志和进程日志。用户登录日志主要是/var/log/wtmp和/var/run/utmp,用来保存用户登录相关的信息。用户登录日志本身为二进制文件,我们无法直接通过文本方式查看,但是可以配合who/users/ac/last/lastlog这样的命令来获取。特殊事件日志主要包括/var/log/secure和/var/log/message。其中,/var/log/secure主要记录认证和授权相关的记录,如果有人试图爆破 SSH,我们就可以从这个日志中观察出来。/var/log/message由 syslogd 来维护,syslogd 这个守护进程提供了一个记录特殊事件和消息的标准机制,其他应用可以通过这个守护进程来报告特殊的事件。进程日志:当通过 accton 来进行系统进程管理时,会生成记录用户执行命令的 pacct 文件。
面对权限提升和持久化的防护方法:最小权限原则和 IDS
9、NIDS和HIDS:
IDS 可以分成两种类型:NIDS(Network Intrusion Detection System,网络入侵检测系统)和 HIDS(Host-based Intrusion Detection System,基于主机型入侵检测系统)。
开源NIDS:
snort:https://www.snort.org/#get-started
Suricata:https://suricata-ids.org/
开源HIDS:一般基于(Osquery 提供的信息采集功能)来自己开发。
10、安全标准:比较知名的安全标准和框架包括:ISO27000 系列、NIST、COBIT 和 ITIL
11、安全体系:SIEM(Security Information and Event Management,安全信息和事件管理),我们通常用SIEM来帮助我们运营一个安全体系。通过 SIEM,我们可以将散落于各个系统、设备和安全产品中的日志进行汇总和梳理,快速串联出黑客的完整攻击路径,更高效地完成安全体系运营的工作。可以使用经典的日志分析组件 ELK,去实现 SIEM 的各个功能。
12、代码安全: SDL(Security Development Lifecycle,安全开发生命周期)2004年,微软提出了 SDL,https://www.microsoft.com/en-us/securityengineering/sdl/practices。
13、防止员工泄漏数据:DLP(Data leakage prevention,数据泄漏防护系统),一般有硬件设备,比如国内厂商“天空卫士”。