运维的shell小编(7)

 

 

 

总结:真实服务器维护常用命令一览

 

 

 

 

 

1、查看SYN连接数量:(syn行超过10就要注意,50以上就是有攻击了)

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a S[a]}'

netstat -na | grep SYN_RECV    //查看 syn的链接 

2、查看  httpd  进程数 

ps -ef | grep httpd | wc -l  //共享ip超过500要注意了

tcpdump -i eth1 dst port 80 -A -s0 |grep 'Host: '   // 查看被请求多的域名,可能就是被攻击了。   

curl http://127.0.0.1/whm-server-status|grep 7yiku.com|wc -l   //   查某个用户的进程数(超过200可能就是有攻击了)

3、查看被攻击IP(列出服务器上每个 ip的连接数)

 netstat -plan |grep :80 | awk '{print $4}' | cut -d: -f1 | sort | uniq -c | sort -n  (100) //共享ip超过500要注意了,独立ip超300既要注意

netstat -anpl|grep :80|awk {'print $5'}|cut -d":" -f1|sort|uniq -c|sort -n    (60)  // 查看攻击者IP(列出连接服务器的每个 ip的连接数) (查看攻击IP的)

4、查看流量 

   iftop -i eth1         iftop -ni eth1 

   iptraf -d eth1 

这个前提是服务器安装了iftop工具。

IPTraf是一个使用简单的网络状况监视工具。这样我们在远程管理中就可以使用#iptraf -d eth1 查看服务的流量了

yum install iptraf 

5、查看服务器负载:

   W   也可以用top命令 

Top会列出更多信息,如主机持续时间,负载状况,典型的进程,cpu和内存的负载等信息。Top进行平均超过10要注意了。当然top命令下也可以终止进程,方法就是按k,然后选择一个kill级别一般为9强制级别,也可以选择15,然后输入kill的pid即可。

6、查看 inodes数量: 

 repquota -a | sort -nk6 | tail     //倒数第三列为文件数

 repquota -a | sort -nk6 | tail -25(任意) | grep 用户名

  查特定的目录文件数

  cd /home/user

   find  -printf "%i\n" | sort -u | wc –l

7、僵尸php进程查看:

   ps -aux | grep 'php'       //Z就是僵尸进程

   ps -aux | grep 'Z'     //僵尸Apache进程查看

如果某个用户产生大量的僵尸进程要注意观察了。

8、禁某个IP

 

   csf -d IP_Address

   vi /etc/csf/csf.deny  //   查看被禁的IP

当然前提是安装了csf防火墙软件,禁止了ip只有经过service csf restart 才会生效。

Csf是一个可以极大提高独立主机和虚拟专用主机安全的一个应用广泛的程序,cpanel默认是不安装的,需要安装然后才会出现在插件里

CSF安装

rm -fv csf.tgzwget http://www.configserver.com/free/csf.tgztar -xzf csf.tgzcd csfsh install.sh

CSF设置

安装csf后进入需要编辑配置文件,执行下面的路径修改以下内容:

Vi/etc/csf/csf.conf

TESTING = 0

TCP_IN = 增加 30000:35000

ICMP_IN_RATE = 2/s

LF_ALERT_TO = [email protected]

CT_LIMIT = 150CT_SKIP_TIME_WAIT = 1CT_PORTS = 80

LF_SELECT = 1LF_FTPD_PERM = 900LF_SMTPAUTH_PERM = 900LF_IMAPD_PERM = 900LF_HTACCESS = 0LF_CPANEL_PERM = 900LF_MODSEC = 0

csf.allow 中添加:

192.168.10.1/24 

PureFTP 设置

CSF的 TCP_IN 增加端口 30000:35000

编辑 Pure FTP设置:

vi /etc/pure-ftpd.confPassivePortRange 30000 35000

service pure-ftpd restart

测试csf:#perl /etc/csf/csftest.pl 

 

 

 

9、清除本地的dns       ipconfig /flushdns

   查看DNS缓存的内容   ipconfig /displaydns 

10、查看 Apache日志: 

    tail -50 /usr/local/apache/logs/error_log 

11.显示消耗内存/CPU最多的10个进程

ps aux | sort -nk +4 | tail

ps aux | sort -nk +3 | tail

12.把目录下*.sh文件改名为*.SH

find . -name “*.sh” | sed ’s/\(.*\)\.sh/mv \0 \1.SH/’ |sh

find . -name “*.sh” | sed ’s/\(.*\)\.sh/mv & \1.SH/’|sh (跟上面那个效果一样)

13、批量修改文件

Find / -name  *.txt  |xargs rm -rf

14、同步文件

rsync -auvz  /olddir/*  /newdir  //本台主机文件同步

Rsync -auvz -e ssh root@ip1:/filedir .   //不同主机文件同步

前提建立rsync服务器\

15、查看磁盘的文件占用以及查找大文件的目录

Df -h  //查看磁盘占用

du -S|sort -n  //找到资源占用大的目录,然后就可以根据情况进行删除无关的磁盘占用了

16、当然日常的运维还会涉及比如linux用户管理,各种服务管理,mysql数据库管理和系统软件的安装和升级,以及系统故障的排除等许多问题,所以这需要运维人员多多学习总结,不断提高,才能更好的完成服务器的管理。相信本专题的制作,对于普通运维人员或对shell变成有兴趣的朋友可以进行简单的shell编程并且看懂一些复杂的shell程序会有帮助,这里仅是抛砖引玉。

 

你可能感兴趣的:(shell,运维)