防火墙

再来说说今天的主题,黑名单。

第一阶段:发现

有一天发现 服务器的 /var/log/btmp文件有点大,所以搜索了一下

/var/log/btmp这个文件记录错误的登录尝试,执行lastb命令就可以查看到最后一个不成功的登录尝试.

如果文件太大可删除了再重新生成一个新的空文件。

得到了一个lastb命令,发现大量的ssh登录信息,多的令人发指。好吧,让我来分析一下哪些IP次数最多

#存文件便于以下的操作

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

现在output.log的内容如下图

暴光它

到此第一阶段完成,我知道了哪些IP曾对我的服务器进行过疯狂的访问。下一部就是写到iptables的黑名单中。

第二阶段:处理

挑选请求次数超过5次的,大概有1000来条。

问题来了,我需要一条一条加到iptables吗? 答案是肯定的,肯定不是了。 今天我所遇到的问题,所能想到的方案,几乎前辈们已经都已经实践过了。

神器登场: ipset,非自带,请用yum install ipset安装

简单讲一下 ipset 的使用

#创建一个名称为 blacklist 的IP集合,最大容量为10000

ipset create blacklist hash:ip maxelem 100000

#查看你的IP集

ipset list

#增加ip

ipset add blacklist 1.1.1.1

#再次查看IP集

ipset list

ipset list结果

好的, 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

最后呢,将ipset与iptables关联即可

iptables -I INPUT -m set --match-set banthis src -p tcp --destination-port 80 -j DROP

/etc/init.d/iptables save

屏蔽后再尝试ssh连接服务器,结果就如下图,嗯 ,是的,结束。

ssh尝试登录

第三阶段:扩展

比本文针对性强,同时给出了iblocklist,这个网站已搜集了大量的恶意IP,可以拿使用来,这才是生产生。

linux把ip加入黑名单,Linux防火墙(iptables)之黑名单相关推荐

  1. linux防火墙ip黑名单,【转】Linux防火墙(iptables)之黑名单

    iptables删除规则 So if you would like to delete second rule : iptables -D INPUT 2 ---------------------- ...

  2. linux常用命令、linux系统、linux属于什么操作系统、linux系统安装、linux怎么读、linux和windows的区别、linux配置ip地址、linux系统一般用来,在线查询工具

    linux vi编辑器常用命令 linux 查看ip linux find -name 查找文件名 linux shell linux 查看端口占用 linux 删除文件命令 linux cp命令复制 ...

  3. Linux服务器IP下了,linux – DDOS攻击下的服务器 – 如何查找IP?

    tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more 看一下顶级IP地址.如果有人从其他人中脱颖而出,那些将成 ...

  4. linux配置ip地址 suse_suse linux中为单网卡配置多IP的方法

    Linux 单网卡多 IP 的配置方法 1 .永久配置的方法: 知道在 Linux 下网卡被称为 eth0,eth1,eth2..... ,所有网卡的配置文件都存储在 /etc/sysconfig/n ...

  5. linux配置ip地址 suse_SUSE Linux下设置IP的两种方法

    第一种SUSE Linux IP设置方法 ifconfig eth0 192.168.1.22 netmask 255.255.255.0 up route add default gw 192.16 ...

  6. linux pppd ip up 脚本,Linux下pppd拨号脚本配置(转载)

    摘要 本文主要介绍了嵌入式Linux系统下使用pppd 2.4.4来进行PPP拨号需要使用的脚本是如何配置的,配置项的含义,同时也说明了如何来配置参数,实现ppp拨号上网. 一.问题提出 嵌入式Lin ...

  7. 【VMware】虚拟机中给Linux设置ip——解决在linux中设置了ip地址,却还是连不上的问题

    大家好,我是好学的小师弟,最近在搭建虚拟机的时候,发现我虽然在linux中设置了ip地址却还是用MobaXterm连不上.后来查询相关文档,解决了该问题 进入虚拟机,点击编辑-虚拟网络编辑器 进入到N ...

  8. linux配置IP后不通,linux 修改ip后不能访问大网的问题解决

    这几天研究修改linux的临时IP遇到的问题: 自动分配ip时可以正常访问大网,修改ip后,就不能访问大网. 搜索网上许多解决方法,基本都是说DNS没正确解析,所以不上网了. 可这些都没解决我的问题. ...

  9. 宝塔面板Linux工具箱IP设置,宝塔Linux工具箱

    Linux工具箱 提供服务器的一些系统工具.主要有配置DNS.Swap交换分区.时区设置.系统密码.IP设置. DNS设置 修改当前服务器的DNS服务器,保存DNS前,请测试当前DNS是否能够正常使用 ...

最新文章

  1. 元气满满 开工大吉 2020「升职加薪,走好这三步...」
  2. 地理坐标xy表示什么_建筑测量xy坐标的区别
  3. Fiddler+willow使用指南
  4. oracle得到日期对应的星期
  5. python类中方法调用自己类的方法_python怎么调用类方法
  6. 心想技术驱动业务,却在背道而驰
  7. python字符串解析_Python-字符串解析-正则-re
  8. Python 按行读取文件内按分隔符分割字符串(去除空格和换行、字符串分割)
  9. JavaScript深度迭代遍历未知对象
  10. 从山顶透过云层看城市
  11. qq批量登录软件_QQ账号永久冻结
  12. 【华为云技术分享】软件工程师的AI模型训练起步
  13. 期末考试之排名次java_2020超星尔雅《JavaWeb应用开发》期末测试答案
  14. 《muduo网络库》学习笔记——TcpClient剖析
  15. javascript中的二维数组定义
  16. 无线音箱解决方案开发过程
  17. jenkins构建报错: ssh: connect to host github.com port 22: Connection timed out
  18. 《了不起的我》 自我发展的心理学 -- 陈海贤 读后感
  19. 读书笔记-数据库系统概念-chapter3SQL
  20. 【49.Auth2.0认证与授权过程-微博开放平台认证授权过程-百度开放平台认证授权过程-社交登录实现(微博授权)-分布式Session问题与解决方案-SpringSession整合-Redis】

热门文章

  1. linux文件改为nobody,Nginx配置中user设置为nobody有什么用?
  2. S2SH The web application[] registered the JDBC driver [com.mysql.jdbc.Driver] bur failed to unreqist
  3. linux系统中软盘的名称,linux中软盘的使用
  4. Revi+Geometry属性的参数
  5. 华为鸿蒙OS功能透露,万物互联要来了!华为鸿蒙OS“超级终端”功能曝光
  6. 非正式的沟通往往比正式的沟通更有效,更重要
  7. Linux没有默认设置root密码
  8. 读取/data/data/下文件或者数据库
  9. 这届95后,国庆节不想出游了?
  10. 逼死强迫症的腾讯网迷你新闻弹窗