虚拟主机dns: f1g1ns1.dnspod.net f1g1ns2.dnspod.net
国际dns 202.130.97.65 202.130.97.66
国内 119.29.29.29
#修改ssh 端口
vim /etc/ssh/sshd_config
/etc/init.d/sshd restart
#使用 netstat 来查看端口占用情况
在 Linux 使用过程中,如果需要了解当前系统开放了哪些端口,及这些端口的关联进程和用户,可以通过 netstat 命令进行查询。
netstat 命令各参数说明如下:
-t:指明显示 TCP 端口
-u:指明显示 UDP 端口
-l:仅显示监听套接字
-p:显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n:不进行 DNS 轮询,显示 IP (可以加速操作)
#查看连接数状况,判断服务器是否被攻击
netstat -na
#显示所有 80 端口的网络连接并排序。这里的 80 端口是 http 端口,所以可以用来监控 web 服务。如果看到同一个 IP 有大量连接,则判定该 IP 疑似存在单点流量攻击行为。
netstat -an | grep :80 | sort
#统计当前服务器有多少个活动的 SYNC_REC 连接数。正常来说这个值很小(小于 5)。说明:当有 DDos 攻击或时,该值可能会非常高。但有些并发很高的服务器,该值也确实很高,因此该很高并不能说明一定是被攻击所致。
netstat -n -p | grep SYN_REC | sort -u
#列出所有连接过的 IP 地址。
netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'
#列出所有发送 SYN_REC 连接节点的 IP 地址。
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
#计算每个主机连接到本机的连接数。
netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
#列出所有连接到本机的 UDP 或者 TCP 连接的 IP 数量。
netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
#检查 ESTABLISHED 连接并且列出每个 IP 地址的连接数量。
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
#列出所有连接到本机 80 端口的 IP 地址及其连接数。80 端口一般是用来处理 HTTP 网页请求。
netstat -antp | awk '$4 ~ /:80$/ {print $4" "$5}' | awk '{print $2}'|awk -F : {'print $1'} | uniq -c | sort -nr | head -n 10
#显示连接到 80 端口连接数排名前 10 的 IP,并显示每个 IP 的连接数。如果看到同一个 IP 有大量连接,则判定该 IP 疑似存在单点流量攻击行为。
netstat -antp | awk '$4 ~ /:80$/ {print $4" "$5}' | awk '{print $2}'|awk -F : {'print $1'} | uniq -c | sort -nr | head -n 10
如何停止端口占用
可以通过如下步骤来停止端口占用:
查找端口占用的进程
使用如下命令来查看(以查看9000端口为例):
netstat -antp | grep 9000
#linux netstat 查看 53139 端口的监听情况
netstat -lntp |grep 53139
#反查 53139 端口对应进程
netstat -tunlp |grep 53139
#统计当前的 TCP 连接数: time wait bucket table overflowt
netstat -anp |grep tcp |wc -l
对比 /etc/sysctl.conf 配置文件中参数 net.ipv4.tcp_max_tw_buckets 值,看是否有超出情况。
如果确认已经超出,则可以编辑 /etc/sysctl.conf 配置文件,根据系统规格,适当调大 net.ipv4.tcp_max_tw_buckets 参数值
#####systemctl
#systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
ln -s '/usr/lib/systemd/system/firewalld.service' '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
ln -s '/usr/lib/systemd/system/firewalld.service' '/etc/systemd/system/basic.target.wants/firewalld.service'
启动一个服务: systemctl start firewalld.service
关闭一个服务: systemctl stop firewalld.service
重启一个服务: systemctl restart firewalld.service
显示一个服务的状态: systemctl status firewalld.service
在开机时启用一个服务: systemctl enable firewalld.service
在开机时禁用一个服务: systemctl disable firewalld.service
查看服务是否开机启动: systemctl is-enabled firewalld.service
查看已启动的服务列表: systemctl list-unit-files|grep enabled
查看启动失败的服务列表: systemctl --failed
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包: firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
添加端口: firewall-cmd --zone=public --add-port=80/tcp --permanent
重新载入 firewall-cmd --reload
查看指定端口 firewall-cmd --zone= public --query-port=80/tcp
永久删除80端口 firewall-cmd --zone= public --remove-port=80/tcp --permanent
yum install firewalld
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --add-port=12533/tcp --permanent
firewall-cmd --reload
安装iptables yum install -y iptables-services
启动iptables: systemctl start iptables
检查iptables是否成功启动: systemctl status iptables
命令查看iptables默认规则: iptables -L
备份原有的iptables文件 cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
清空所有规则 iptables -F
添加以下规则可以放行80端口和22端口
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 8888 -m state --state NEW -j ACCEPT
重新iptables service iptables restart
启动iptable systemctl enable iptables.service
保存添加的规则 iptables-save > /etc/sysconfig/iptables
创建黑名单
vim ip_list
192.168.2.1
192.168.2.3
把汇总的恶意 IP 地址封禁
for i in `cat ip_list`;do iptables -A INPUT -s $i -p tcp -j DROP; done
磁盘
来查看磁盘的文件系统格式: blkid
域名
dig命令
yum -y install bind-utils
dig www.qq.com
网络命令:
#带宽跑满时通过 iptraf 检查流量来源和防火墙封禁 查看发包的IP地址
yum install -y iptraf
iptraf-ng
dstat -nt
yum install -y iftop
iftop
查看流量占用情况:
iftop -i eth1 -P
通过分析发现最耗流量的是服务器上 53139 端口和 115.205.150.235 地址建立的连接,产生了大量入网流量。执行 netstat 命令反查 53139 端口对应进程。
netstat -tunlp |grep 53139
# 抓包测试:
yum remove tcpdump
chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow
yum install tcpdump
tcpdump -i eth0 host 本地公网ip
tcpdump -i eth0 host 120.77.148.142
#Linux 服务器带宽异常跑满分析解决
使用 iftop 工具排查
使用 nethogs 进行排查
首先需要确定是哪一张网卡的带宽跑满,可以通过 sar -n DEV 1 5 命令来获取网卡级别的流量图,命令中 1 5 表示每一秒钟取 1 次值,一共取 5 次。
命令执行后会列出每个网卡这 5 次取值的平均数据,根据实际情况来确定带宽跑满的网卡名称,默认情况下 eth0 为内网网卡,eth1 为外网网卡。
yum install -y sysstat
sar -n DEV 1 5
grant all privileges on *.* to 'root'@'%' identified by 'root';
如果遇到MD5加密文件(一般都是这个),而又不知道密码的, ┃
┃ 请用这组加密的数据7a57a5a743894a0e替换即可,那么密码就是:admin ┃
┃ (这个是16位的,32位的是:21232f297a57a5a743894a0e4a801fc3)
curl http://download.bt.cn/install/update_to_6.sh|bash
6.0修复
curl http://download.bt.cn/install/update6.sh|bash
cat /www/server/panel/data/domain.conf