V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  codeface  ›  全部回复第 1 页 / 共 5 页
回复总数  92
1  2  3  4  5  
看着像 docusaurus
2023-07-31 12:19:58 +08:00
回复了 jiangwei2222 创建的主题 信息安全 假如服务器被入侵了,要检查哪些地方?
如前人所述,重装是最稳妥的。不过也有一些排查手段可以参考:

# 1.查看异常进程活动-查找是否有异常进程和端口占用

## 1.1 查找占用 cpu 最多的进程
* 运行 top 命令后,键入大写字母 P 按 cpu 排序

## 1.2 查找占用内存最多的进程
* 运行 top 命令后,键入大写字母 M
* `ps aux | sort -k4nr`

## 1.3 查找进程对应的文件
* `ls -la /proc/$pid/exe`
* `ls -la /proc/$pid`

## 1.4 跟踪异常进程运行情况
* `strace -tt -T -e trace=all -p $pid`

## 1.5 查看进程打开的文件
* `lsof -p $pid`

## 1.6 查看进程端口情况
* 查看所有端口 `netstat -anltp`
* 查看指定进程的端口 `netstat -anltp | grep $pid`
* `netstat -apn|more`

## 1.7 清除恶意进程
* 清除可疑进程的进程链: `ps -elf | grep [pid] kill -9 [pid]`

# 2.查看账号安全

## 2.1 查看是否有存在新增异常账号
* 查找特权用户 `awk -F ":" '$3==0{print $1}' /etc/passwd`
* 查找可以远程登录的账号信息 `awk '/\$1|\$6/{print $1}' /etc/shadow`
* 查找 sudo 权限账户 `cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"`

## 2.2 查看是否有账号异常登录情况
* 查看当前登录用户和其行为 `w`
* 查看所有用户最后一次登录的时间 `lastlog`
* 查看错误登陆信息 `lasstb`
* 查看所有用户的登录注销信息及系统的启动、重启及关机事件 `last`
* 查看登录成功的日期、用户名及 ip `grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}'`
* 查看试图爆破主机的 ip
```
grep refused /var/log/secure* | awk {'print $9'} | sort | uniq -c |sort -nr | more

grep "Failed password" /var/log/secure* | grep -E -o "(([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3}))" | uniq -c
```

* 查看有哪些 ip 在爆破主机的 root 账号
`grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort`

* 查看爆破使用的用户名字典
`grep "Failed password" /var/log/secure | awk {'print $9'} | sort | uniq -c | sort -nr`

# 3.检查开机启动项

一般通过`crontab -l`命令即可检测到定时任务后门。不同的 linux 发行版可能查看开机启动项的文件不大相同,Debian 系 linux 系统一般是通过查看`/etc/init.d`目录有无最近修改和异常的开机启动项。而 Redhat 系的 linux 系统一般是查看`/etc/rc.d/init.d`或者`/etc/systemd/system`等目录。

依次排查:
```
/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*
```

* `cat /etc/rc.local`
* `cat /etc/init.d/rc.local`
* `chkconfig --list`
* `ls -alt /etc/init.d`

* 查看 anacron 异步定时任务 `cat/etc/anacrontab`
* 枚举主机所有服务 `service--status-all`

# 4.查找异常文件

## 4.1 查看最近一段时间内被修改的系统文件
* `find /etc/ /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime -T | xargs ls -la`

## 4.2 按时间排序,确认最近是否有命令被替换,可以结合 rpm -Va 命令
* `ls -alt /usr/bin /usr/sbin /bin /usr/local/bin`
* `rpm -Va>rpm.log`

## 4.3 查看指定目录下文件时间的排序
* `ls -alt | head -n 10`

## 4.4 使用 find 指令查找限定时间范围的文件
* `sudo find ./ -cmin -10 -name "*.php"`


# 5.排查恶意 alias
检查 `~/.bashrc`和`~/.bash_profile`

# 6.排查恶意 ssh 公钥
* `/etc/.ssh/AuthorizedKeys`
* `~/.ssh/AuthorizedKeys`

# 7.系统文件被替换的情况下使用`busybox`
被替换的系统文件通常为 `ld.so.preload`

* `busybox ps -ef|grep watchdogs`
* `busybox ps -ef|grep ksoftirqds`


# 8.借助工具查杀病毒和 rootkit

## 8.1 查杀 rootkit
chkrootkit (下载地址-http://www.chkrootkit.org)
rkhunter (下载地址-http://rkhunter.sourceforge.net)

## 8.2 查杀病毒
clamav(下载地址-http://www.clamav.net/download.html)

## 8.3 查杀 webshell
cloudwalker(下载地址-http://github.com/chaitin/cloudwalker)

# 9. 添加命令审计
为历史的命令增加登录的 IP 地址、执行命令时间等信息

## 9.1 保存 1 万条命令:
* `sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile`

## 9.2 在/etc/profile 的文件尾部添加如下行数配置信息

```
USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi

export HISTTIMEFORMAT="%F %T $USER_IP `whoami` "
shopt -s histappend
export PROMPT_COMMAND="history -a"
```
上次买的,使用不到一个月提示更换电池 +1
2023-03-08 10:42:28 +08:00
回复了 JesToTheE 创建的主题 NAS 群晖 DS220+快满了,如何正确扩容?
买一个带拷贝功能的硬盘盒,具体步骤为:

1. 关机
2. 用硬盘盒将原盘拷贝到新盘
3. 新盘插入到群晖中开机,打开 SSH
4. 登陆,并 `sudo -i`
5. `fdisk -l` 根据 Disk model 找到新盘,例如 `/dev/sata1`
6. `parted /dev/sata1` 输入 `print` 查看分区
```
Number Start End Size File system Name Flags
1 1049kB 2551MB 2550MB ext4 raid
2 2551MB 4699MB 2147MB linux-swap(v1) raid
5 4840MB 4001GB 3996GB raid
```
7. 拓展分区容量 `parted /dev/sata1 resizepart 5 100%`
* 其中的 `resizepart 5` 对应上面的分区 Number
8. 进入存储管理器,选择存储池 3 ,信息里有个建议事项:“检测到未使用的磁盘空间,请单击立即扩充...”, 搞定
9. 关闭 ssh
2021-09-22 10:35:02 +08:00
回复了 lslvxy 创建的主题 NAS DS920+ 4 盘位 存储池怎么分配比较好
1 盘:重要文件
2 盘:下载
3 盘:定期对 1 盘做备份
2021-08-31 13:05:14 +08:00
回复了 777777 创建的主题 Go 编程语言 如何终止一个正在进行的协程?
2021-04-03 11:07:11 +08:00
回复了 AndyZhuAZ 创建的主题 macOS macOS 有什么办法能真全局代理。
2018-04-28 01:46:55 +08:00
回复了 CC88899091 创建的主题 程序员 还有哪些能用的社工库啊?
127.0.0.1
←_←
2018-03-16 15:47:33 +08:00
回复了 codeeer 创建的主题 全球工单系统 关于我起诉京东自营售二手 1080Ti 显卡的进展
前排支持,哈哈哈哈
2017-10-10 19:29:20 +08:00
回复了 scriptB0y 创建的主题 全球工单系统 微博还会自动帮你关注人的?
我这两天也遇到了,以前从来没有过,密码也是独一无二的
2017-09-14 16:42:22 +08:00
回复了 symons 创建的主题 程序员 讨论帖, IDE 相较于 vim 有哪些优势
省心。
2017-08-18 21:08:48 +08:00
回复了 churchmice 创建的主题 问与答 有个区块链的问题,不知当问不当问
算力攻击并不意味着随意篡改数据,也是要讲基本法的。
这套系统并不一定会用共有链的形态,也许是联盟链等其他形态,还比如可以只给受信任的节点开放写入权限,其余节点只有验证和读取的权限。
2017-08-16 16:51:52 +08:00
回复了 creatorYC 创建的主题 Python Python 编写的 webservice 怎么部署到服务器(比如 Apache 等)上?
uwsgi 或者 反向代理
2017-08-05 15:47:16 +08:00
回复了 Antigen 创建的主题 Python 请教如何拿到百度 bsk[data] 加密参数?目测是 JS 加密得出的
pyexecjs
2017-06-24 23:54:45 +08:00
回复了 powtop 创建的主题 问与答 有什么能够监测虚拟币的程序或者平台?
sosobtc
2017-06-14 11:35:02 +08:00
回复了 MOS 创建的主题 推广 美团云周年庆,豪礼送不停!
2017-05-20 09:28:33 +08:00
回复了 ifane 创建的主题 职场话题 实习生的工资大概多少
确实是有点低
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5496 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 50ms · UTC 08:54 · PVG 16:54 · LAX 00:54 · JFK 03:54
Developed with CodeLauncher
♥ Do have faith in what you're doing.