文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏

是否曾经被运行在服务器上的可疑进程所困扰?毫无疑问,这种进程危害是很大的,包括泄露有价值的数据、浪费 CPU 和内存资源、导致 DDoS 攻击等等。想知道如何轻松的捕获这些麻烦制造者吗?抑或是实现自动监控这类进程并进行提醒吗?

列出非内核进程. 通常,内核进程是安全无害的。对内核进程来说,其 PID(进程ID)是 2 或者 PPID (父进程ID)是2。下面是如何获取所有非内核进程的方法:

# rss(resident set size): real RAM usage
# -deselect: rule out matched processes
root@denny:~# ps --ppid 2 -p 2 -p 1 \
   --deselect -o uid,pid,rss,%cpu,command
UID   PID   RSS %CPU COMMAND
   0   411  1848  0.0 /lib/systemd/systemd-
   0   572  2904  0.0 dhclient -1 -v -pf /r
 102   902  1244  0.0 dbus-daemon --system
   0   912  1948  0.0 /lib/systemd/systemd-
   0  5869   388  0.0 upstart-socket-bridge
 200  1953   904  0.0 /usr/sbin/apache2 -k
 200  3463  3700  0.0 /usr/sbin/apache2 -k
  ...  ...
  ...  ...
   0  5098  4224  0.0 sshd: ubuntu [priv]
   0  5139  1748  0.0 /usr/bin/python /usr/
 200  5140  3484  0.0 /usr/bin/python /usr/
 200  5176  1904  0.0 sshd: ubuntu@pts/3
 200  5177  3860  0.0 -bash
 200  5193  1200  0.0 tmux attach -t denny
   0  5297  4224  0.0 sshd: ubuntu [priv]
  ...  ...
  ...  ...
第 1 段(可获 1.05 积分)

排除受信任的进程. 我们的系统中会运行非常多的进程,绝大多数都是预期的、被信任的,例如 apache2, tomcat7, mysqld 等等。为了避免注意力分散,应该为你的项目构建一个白名单。

根据内存和 CPU 的使用对进程进行排序。我们更关注那些占用更多资源的可译进程:

# Sort by memory first, then cpu
ps --ppid 2 -p 2 -p 1 --deselect \
  -o uid,pid,rss,%cpu,command, \
  --sort -rss,-cpu

自动检测进程并进行告警. 我们通过一个 Python 脚本(detect_suspicious_process.py)来隐藏操作的复杂度以及白名单配置。如果你你运行这个 Python 命令,你将会看到类似 "Identified processes count: XXX." 的控制台输出结果。定义一个调度任务来定期执行这个命令并确认得到的数字。

第 2 段(可获 1.24 积分)

如果数值不为 0 或者数值有变化,就发送告警给管理员。这可能需要你话一定时间来构建这个白名单。一旦完成,你的服务器将更加安全和可管理。

wget -O /tmp/detect_suspicious_process.py \
https://raw.githubusercontent.com/\
DennyZhang/devops_public/tag_v2/python/\
detect_suspicious_process/\
detect_suspicious_process.py

# Detect suspicious process
python /tmp/detect_suspicious_process.py

# Detect by customized whitelist
python /tmp/detect_suspicious_process.py \
   --whitelist_file /tmp/whitelist.txt

你还可以阅读另外一篇关于安全的文章: Automate Insecure Ports Check By Nmap.

第 3 段(可获 0.61 积分)

文章评论