1 概述
- 服務器的磁盤空間被占滿導致TAB補全指令失效(TAB會創建臨時文件)
cannot create temp file for here-document: No space left on device
- 真正服務器的信息不能暴露,所以下面都是用自己的VPS的例子
2 Linux磁盤管理相關操作
# 顯示文件系統的磁盤使用情況統計
[root@vultr home]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 29G 4.2G 23G 16% /
udev 1.5G 4.0K 1.5G 1% /dev
tmpfs 604M 892K 603M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.5G 156K 1.5G 1% /run/shm
# du顯示文件或者目錄的大小
[root@vultr home]# du -bsh /*
229M /boot
8.9K /dev
24M /etc
4.0K /home
7 /lib
9 /lib64
......
# 查找大於10M的文件
find / -type f -size +10000000c -exec du -sh {} \;
3 發現btmp日志文件太大
(1)查看惡意ip試圖登錄次數:
[root@vultr log]# lastb|awk '{ print $3}'|sort|uniq -c| sort -n
392 43.225.180.10
463 pool-71-187-181-
600 128.199.231.254
673 162.105.87.199
799 5.188.10.76
863 42.7.27.165
1284 218.5.77.196
1415 185.143.221.2
1648 185.143.222.6
1832 116.31.116.36
2198 vmi86304.contabo
2254 129.213.88.157
3664 42.7.27.166
7229 116.31.116.35
14790 116.31.116.34
......
(2)處理措施
# 修改 /etc/ssh/sshd_config
[root@vultr /]# vi /etc/ssh/sshd_config
Port 22 -> 修改為需要的值
# SSH服務重新啟動
[root@vultr /]# service ssh restart
# 修改完查看是否生效
[root@vultr /]# netstat -nlap|grep sshd|grep tcp|grep LISTEN
- 禁止root賬戶登錄(禁止之前記得創建普通用戶賬號和設定sudo密碼)
# 修改 /etc/ssh/sshd_config
[root@vultr /]# vi /etc/ssh/sshd_config
添加 PermitRootLogin no
# SSH服務重新啟動
[root@vultr /]# service ssh restart
- 封惡意IP地址:定時執行腳本讀取登錄失敗IP,並添加到/etc/hosts.deny文件
# 1 secure_ssh.sh腳本
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.list
for i in `cat /usr/local/bin/black.list`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ ${#NUM} -gt 1 ]; then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];then
echo "sshd:$IP:deny" >> /etc/hosts.deny
fi
fi
done
# 2 將secure_ssh.sh腳本放入cron計划任務,每1分鍾執行一次。
# crontab -e
*/1 * * * * sh /usr/local/bin/secure_ssh.sh
4 總結
- 服務器磁盤空間比較小時,簡單的日志文件都可能導致磁盤空間不足
- 應用的日志應該到達一定量級(如:100M)就壓縮歸檔
5 參考博客