VPS查看CPU个数、核心和逻辑核心数量

虽然很多虚拟服务器的销售商写的是双核、四核,但是查看CPU核心数量名不符实。
用以下命令即可查看实际情况:

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l 

Linux收集SSH爆破记录(拉入IP黑名单)

一:收集黑名单IP

收集大量的ssh登录信息。

#存文件便于以下的操作
lastb >> lastb.log                                                 
#过滤其它字段,只保留ip数据
cat lastb.log|awk -F " " '{print $3}' >> ips.log  
#记录ip的出现次数
cat ips.log | sort | uniq -c >> ip_uniq.log          
#最终形成列表
cat ip_uniq.log|sort -k1,1nr  >> output.log

以上命令也可以合并成一条命令:

lastb | awk -F " " '{print $3}' | sort | uniq -c | sort -k1,1nr >> output.log

查看文件内容:

 cat output.log

二:处理(拉黑)

神器登场: ipset,非自带,请用

 yum install ipset

或者

 apt-get -y install ipset

安装
简单讲一下 ipset 的使用:

#创建一个名称为 blacklist 的IP集合,最大容量为10000
ipset create blacklist hash:ip maxelem 100000
#查看你的IP集
ipset list
#增加ip
ipset add blacklist 1.1.1.1
ipset del blacklist 1.1.1.1
#再次查看IP集
ipset list

#将刚才的恶意IP导入到ipset中,方法有点蹩脚

#将刚才的恶意IP导入到ipset中,方法有点蹩脚
grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' output.log | awk '{print "ipset add blacklist",$0}'|sh
#查看IP集
ipset list

最后,将ipset与iptables关联即可(注意ssh端口必须是你更改后)

iptables -I INPUT -m set --match-set blacklist  src -p tcp --destination-port 22 -j DROP 
iptables-save > /etc/iptables-script                                          #保存IP规则
iptables-restore > /etc/iptables-script                    #恢复IP规则,重启后使用恢复规则
#查看IP禁用规则
iptables -L -n

扩展:

iblocklist,这个网站已搜集了大量的恶意IP,可以直接拿来使用。

Linux下ssh修改(防爆破)

查看登录失败的记录

 lastb 

一般不修改ssh端口……可能会有上万条爆破记录,每秒钟登录几次的爆破形同DDOS……会严重拖慢VPS速度。

0、安装 vim:

sudo apt-get install vim-gtk 
yum -y install vim* 

1、修改配置文件:

 vim /etc/ssh/sshd_config 

找到#port 22
2、先将Port 22 前面的 # 号去掉,并另起一行。
在配置文件中,# 是Linux的注释字符。注释字符后的代码程序是不会执行的。SSH默认的(即非手动指定)端口为22,所以配置文件在默认的情况下以注释字符出现。当需要指定其它端口或多端口同时访问时,就要删掉注释符号,告知程序按照您的意愿来执行响应操作。

 
#port 22
port 50 

以上操作,手动指定SSH端口为22和26611(双端口号),保留22是为了防止个别防火墙屏蔽了其它端口导致无法连接VPS(如没单独指定22,新指定的26611端口防火墙也没放行,那么可能无法通过SSH连接VPS或服务器)。为了防止不必要问题的产生,所以要给自己保留条“后路”。

3、修改完毕后,重启SSH服务
修改保存sshd_config文件后重启sshd服务:

 systemctl restart sshd 

并退出当前连接的SSH端口。