Centos Ubuntu防爆破ssh脚本

2023-11-02

Centos 7方式

黑名单IP
touch /etc/black.txt

ssh 防爆破脚本
cat /etc/secure_ssh.sh 
#!/bin/bash
    cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /etc/black.txt
    for i in `cat  /etc/black.txt`
    do
      IP=`echo $i |awk -F= '{print $1}'`
      NUM=`echo $i|awk -F= '{print $2}'`
       if [ $NUM -gt 3 ];then
          grep $IP /etc/hosts.deny > /dev/null
        if [ $? -gt 0 ];then
          echo "sshd:$IP:deny" >> /etc/hosts.deny
        fi
      fi
    done

#echo  "* * * * *  sh /etc/secure_ssh.sh" >> /etc/crontab

#chmod -x /etc/secure_ssh.sh 

#crontab /etc/crontab

测试
在这里插入图片描述
在这里插入图片描述
创建脚本
在这里插入图片描述
故意输错密码,然后输入正确的密码,可以登录。
在这里插入图片描述
在这里插入图片描述

ubuntu方式

mkdir /script

touch /script/checkBlackIp.sh
chmod 755 /script/checkBlackIp.sh /script

chown root:root /script/checkBlackIp.sh

vim /script/checkBlackIp.sh
#!/bin/sh
lastb |awk '/ssh/{print $3}' |sort |uniq -c |awk '{print $2"="$1}'  >/script/black.list

for i in `cat /script/black.list`
do
    IP=`echo $i |awk -F= '{print $1}'`
    NUM=`echo $i |awk -F= '{print $2}'`
    if [ ${#NUM} -ne 1 ]; then
        grep $IP /etc/hosts.deny >/dev/null
        if [ ! $? -eq 0 ]; then
                echo "sshd:$IP:deny" >>/etc/hosts.deny
 
                echo "$IP \c"
        fi
    fi
done

echo "is denied now."

手工运行测试
sudo bash checkBlackIp.sh

# echo > /var/log/wtmp;echo > /var/log/btmp;history -c;
# lastb |awk '/ssh/{print $3}' |sort |uniq -c |awk '{print $2"="$1}'

http://www.ctohome.com/FuWuQi/36/650.html
在这里插入图片描述

定时2分钟执行1次

#crontab -e
*/2 * * * * root sh /script/checkBlackIp.sh

在这里插入图片描述

在这里插入图片描述
如果被拒绝登陆了,需要在vi /etc/hosts.deny里面将拒绝ip删除,就可以登录 了;注释之后,就不会再添加进/etc/hosts.deny
在这里插入图片描述
在这里插入图片描述
已经被拒绝登陆
在这里插入图片描述
如何清空拦截记录
1、清空/删除history记录

echo > /var/log/wtmp;echo > /var/log/btmp;history -c;

2、清空wtmp

# echo > /var/log/wtmp              # 此文件默认打开时乱码的,里面可以看到ip等等信息
#last

3、删除 /etc/hosts.deny里面被拒绝的IP地址

#vi /etc/hosts.deny

在这里插入图片描述



扩展
crontab -e配置完成后,如何把保存并退出?

1.Ctrl+O 写入

2.出现“FIile name to Write…”,输入Enter

3.Ctrl+x 保存输出

提示“crontab:installing new crontab”表示成功。

(root权限下)

crontab启动:/etc/init.d/cron start ( service cron start )

crontab重启: /etc/init.d/cron restart (service cron restart )

crontab关闭: /etc/init.d/cron stop ( service cron stop )

在终端中,可以利用 ps -aux|grep cron查询crontab状态,默认情况下,是自启动的。

(系统级的)做系统级配置我们会直接配置 /etc/crontab

(用户级的)一般还是建议大家使用 crontab -e ,这样系统也会帮着检查我们配置的脚本语法。

注意,Ubuntu和CentOS的SSH日志文件路径不一样:

/var/log/auth.log Ubuntu是这个文件
/var/log/secure CentOS是这个文件

外网服务器被黑挖矿。解决办法

  1. 前言

最近在学习远程连接Docker,需要开启TCP;都说容易被别人获取root权限,开始没以为然,慢慢我感觉远程操作服务器越来越缓慢,top命令后发现还真被挖矿了…第一次嘛没什么经验,简单的干掉可疑进程后重启了服务器,就没管了,结果两天后发现又被挖了…

  1. 思路
top         查看进程,占高达90%CPU以上基本都是可疑的
ls -l /proc/$PID/exe       查看可疑进程所在目录
kill $PID                       干掉可疑进程
rm -rf $DIR                 删掉可疑进程所在目录
service crond status         查看是否开启了定时任务

如果开启了定时任务,就进入目录cd /var/spool/cron/,这里的文件记录着每个用户的定时任务

rm -rf $FILE        删掉可疑定时任务文件
service crond stop          关闭定时任务
cat ~/.ssh/authorized_keys        查看配置的公钥,可能会出现一到多个没见过的公钥,编辑文件删除可疑的公钥或者重新生成密钥
cd /home/ && ls -all         进入到此目录下查看可疑用户
userdel [-r] $USERNAME          删除可疑用户
cat /etc/sudoers        查看 sudo 文件中是否有可疑用户添加了 sudo 权限,编辑文件删除可疑用户的 sudo 权限,例如$USERNAME ALL=(ALL) ALL这种格式的

参考链接 :

Centos Ubuntu防爆破ssh脚本 :
https://www.jianshu.com/p/e2daea9b93c2

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Centos Ubuntu防爆破ssh脚本 的相关文章

随机推荐

  • 编程语言的静态类型、动态类型、编译型以及解释型的区别

    1 静态类型和动态类型的区别 个人理解这种区别主要是类型检查 Type Check 发生的时机不同 即可以通过判断语言是在什么时候检查类型错误来判断其所属的类型 静态类型 编译时即知道每一个变量的类型 因此 若存在类型错误编译是无法通过的
  • linux基础-centos6、7、8版本对比

    文章目录 centos6 与centos7对比 sysvinit技术 VS systemd技术 网卡名称变更 centos7 与centos8对比 内核版本 网络时间同步 支持最大的文件 默认的网络数据包过滤 默认的数据库 默认版本的控制系
  • VLOOK 10.0发布!速览3:标签+注音+引用篇——开箱即用的Typora/Markdown主题包+增强插件

    经过近半年的等待和内测 特别鸣谢 铃兰 Devil 小慢哥 宝剑锋从磨砺出 等 Markdown 粉和 Typora 用户期待已久的 VLOOK 10 0 已正式发布了 VLOOK 是针对 Typora 跨平台 Markdown 编辑器 跨
  • nginx中alias、root、try_files的用法

    1 root 语法 root path 配置段 http server location if root的处理结果是 root路径 location路径 location t root www root html 请求的URI是 t a h
  • 数据库-单表查询实验

    问题 10 23 查询商品表 先按商品分类升序排列 再按商品价格降序排列 10 分 问题描述 本题目要求编写SQL语句 查询sh goods表 先按商品分类category id升序排列 对于相同分类的商品再按商品价格price降序排列 提
  • FileUtil 工具类

    package com jiayou peis report biz utils import lombok SneakyThrows import org apache commons io IOUtils import javax se
  • 实战Angular2+web api增删改查(三)

    Angular2 开发 本示例使用了Angular2 RC4版本 另外由于使用了bootstrap 所以需要html中引入对应的css及js文件 入口 import bootstrap from angular platform brows
  • 如何将Linux的NIC 名称更改为 eth0 而不是 enps33 或 enp0s25,只要几秒钟

    概述 我们使用Linux系统 网卡名称通常都是eth0 但是有一些新的linux发行版 网卡名字 enps33 或 enp0s25 peng ubuntu ifconfig ens33 Link encap Ethernet HWaddr
  • 思考:日志的聚类(由蜜罐日志引出)

    20210223 0 引言 去年中旬 研究过一段时间蜜罐的内容 也部署过几款开源的蜜罐 一些蜜罐自带了最后的展示界面 例如hfish 不过它属于粒度比较粗的 最终显示也仅仅有很少的信息 另一些蜜罐仅仅输出日志 需要自己进行数据的汇总和展示
  • aix service命令_安装AIX的技术级别和Service Pack

    在2006年 有关AIX中操作系统升级的所有规则均已更改 甚至术语也已从维护级别 ML 更改为技术级别 TL 这仅仅是品牌重塑还是在这里有实质性的变化 最佳做法呢 您何时应部署技术 维护 级别的升级 此外 检索升级 Service Pack
  • 服务器10的系统杀毒怎么关,Win10自带杀毒软件怎么关闭?彻底关闭Windows Defender方法...

    很多小伙伴的电脑一般都会安装第三方杀毒软件 如360 金山等 不过Win10系统还自带了Windows Defender杀毒软件 在打开一些包含EXE文件夹的时候 Windows Defender会明显占优系统资源 容易引起系统卡顿 有很多
  • Vue接口封装

    接口三层封装 工具函数层 axios请求的工具函数 2019 11 13 by 小貂蝉 引入核心库 import axios from axios import qs from qs 引入ui组件 import Message from e
  • 百密一疏

    没有全无漏洞的程序 只是这个世界太和谐 最近忽然对数据的隐私安全陷入恐慌 生怕自己的一些日常足迹被别人所获取 举一个例子 比如我今天上网查一些比较隐私的话题 或者访问一些比较隐私的网站 在这些足迹当中包含了我个人的喜好 以及我每天的所见所想
  • js逆向-某蜓有声小说获取音频url地址

    声明 本文仅供参考学习 禁止用于其他用途 违者后果自负 前言 目标网站 aHR0cHM6Ly93d3cucWluZ3RpbmcuZm0v 小说链接 aHR0cHM6Ly93d3cucWluZ3RpbmcuZm0vY2hhbm5lbHMvND
  • 计算机运行内存设置方法,电脑运行内存怎么扩大

    大家好 我是时间财富网智能客服时间君 上述问题将由我为大家进行解答 电脑运行内存扩大的方法如下 1 首先在我的电脑 此电脑处点击右键选择属性 查看属性并选择高级系统设置 然后点击高级 设置 继续点击高级 最后点击更改 在属性的高级系统设置里
  • PopupMenu控件的使用

    1 用PopupMenu控件能进行右键菜单的实现 它的实现还需要绑定到barManager控件上 在barManager的Customize中添加右键所需要显示的功能 2 PopupMenu属性栏中绑定Manager为barManager
  • it is forbidden to set both [discovery.seed_hosts] and [discovery.zen.ping.unicast.hosts]

    it is forbidden to set both discovery seed hosts and discovery zen ping unicast hosts 这段英文已经很明显了 discovery seed hosts 和
  • Postgresql missing FROM-clause entry for table "t"

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 近日工作碰到一个PG error missing FROM clause entry for table t 这个错误基本上出现在选择列或者where语句后面引用了t2的表
  • 算法题for THS

    第一题 穷尽集合之间的元素组合 public class THS01 public static List
  • Centos Ubuntu防爆破ssh脚本

    Centos 7方式 黑名单IP touch etc black txt ssh 防爆破脚本 cat etc secure ssh sh bin bash cat var log secure awk Failed print NF 3 s