关于linux基础运维之线上服务器的安全

linux服务器上线可能受到攻击。现在的攻击太廉价了。揭秘 DDoS 黑市:50 块钱就能击瘫一家网站

同时服务器自身的请求数过多,也是一种异常访问。利用一些现成的工具可以检查。

查看当前网络流量的工具

检查当前的网络流量,可以用如下工具

nload,ipraf,这俩可以查看总的流量。适合于平时没事时候。或者出事后第一眼用的工具。nload获得的数据据说不准确,但是形状直观。

安装方法

yum install nload

使用 nload

nload


确认哪个进程的流量,可以用nethogs。

yum install nethogs libpcap-dev libpcap

执行很方便

nethogs

最左边就是pid。最右边就是带宽速度。使用m键可以切换显示单位。


预防网络攻击的方法

攻击首先由os来处理,而后转交给nginx或者mysql等应用服务软件。

如果os都扛不住了。那么会发生cpu压力很轻,但是请求大量失败。

内核优化参数主要是

#vim /etc/sysctl.conf
#表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000
net.ipv4.ip_local_port_range = 1024  65000
#表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_timestamps=1
kernel.core_uses_pid = 1
#在收到TCP ACK包时,TCP服务器在根据那个cookie值检查这个TCP ACK包的合法性
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_syn_retries=1
#当server向client发送syn+ack没有收到相应,server将重传,然后再重传
net.ipv4.tcp_synack_retries=1
net.ipv4.tcp_tw_recycle=1
#表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_fin_timeout=5
net.ipv4.route.gc_timeout=20
net.ipv4.tcp_keepalive_time=20
#用来接收client发送的syn并对syn进行排队的队列,如果队列满了,新的请求不被接受
net.ipv4.tcp_max_syn_backlog= 655360
net.ipv4.ip_conntrack_max = 655360

修改后执行这个命令立刻生效

sysctl -p


查看当前的相应参数

sysctl -a|grep xxxxx


处理遭受网络攻击

万一使用iptables和内核优化也挡不住了。基本上只能靠机房服务商的流量清洗了。流量清洗实质是当发生攻击的时候。将流量跳转到一个清洗设备上。而后将有效访问转发给服务器。

你可能感兴趣的:(关于linux基础运维之线上服务器的安全)