Centos 7方式

黑名单IP
touch /etc/black.txtssh 防爆破脚本
cat /etc/secure_ssh.sh
#!/bin/bashcat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /etc/black.txtfor i in `cat  /etc/black.txt`doIP=`echo $i |awk -F= '{print $1}'`NUM=`echo $i|awk -F= '{print $2}'`if [ $NUM -gt 3 ];thengrep $IP /etc/hosts.deny > /dev/nullif [ $? -gt 0 ];thenecho "sshd:$IP:deny" >> /etc/hosts.denyfifidone#echo  "* * * * *  sh /etc/secure_ssh.sh" >> /etc/crontab#chmod -x /etc/secure_ssh.sh #crontab /etc/crontab

测试


创建脚本

故意输错密码,然后输入正确的密码,可以登录。

ubuntu方式

mkdir /scripttouch /script/checkBlackIp.sh
chmod 755 /script/checkBlackIp.sh /scriptchown root:root /script/checkBlackIp.shvim /script/checkBlackIp.sh
#!/bin/sh
lastb |awk '/ssh/{print $3}' |sort |uniq -c |awk '{print $2"="$1}'  >/script/black.listfor i in `cat /script/black.list`
doIP=`echo $i |awk -F= '{print $1}'`NUM=`echo $i |awk -F= '{print $2}'`if [ ${#NUM} -ne 1 ]; thengrep $IP /etc/hosts.deny >/dev/nullif [ ! $? -eq 0 ]; thenecho "sshd:$IP:deny" >>/etc/hosts.denyecho "$IP \c"fifi
doneecho "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

Centos Ubuntu防爆破ssh脚本相关推荐

  1. python ssh 爆破_ssh爆破(python脚本)

    最近在乌云看到一份端口详解:为了锻炼自己,按照端口详解写脚本 #!/usr/local/bin/ python # -*- coding: UTF-8 -*- __author__ = 'yangxi ...

  2. [教程]Windows下使用Ladon批量爆破SSH弱口令

    前言 对于Linux操作系统来说,一般通过VNC.Teamviewer和SSH等工具来进行远程管理,SSH是 Secure Shell的缩写,由IETF的网络小组(Network Working Gr ...

  3. linux一键重装系统脚本,一键重装CentOS纯净版系统shell脚本

    背景适用于由GRUB引导的CentOS,Ubuntu,Debian系统. 使用官方发行版去掉模板预装的软件. 同时也可以解决内核版本与软件不兼容的问题. 只要有root权限,还您一个纯净的系统. 注意 ...

  4. ubuntu linux 批量部署,使用Cobbler批量部署Linux和Windows:CentOS/Ubuntu批量安装(二)...

    通过前面服务端的部署,已经配置好了 Cobbler Server 端,接下来开始进行 CentOS/Ubuntu 的批量安装,在进行 CentOS/Ubuntu 批量安装时,也需要通过Cobbler来 ...

  5. html5 防止脚本攻击,shell防ddos攻击脚本(二)

    在上一篇shell防ddos攻击脚本(一)中,我给大家发了个脚本,那只是针对单机的,如果是在负载均衡下的话,很容易把自己的服务器ip给误封,所以这篇文章就给大家发个可以添加白名单的shell脚本. 系 ...

  6. Ubuntu中让SSH自动重连

    Ubuntu中让SSH自动重连,简单的办法是安装autossh和expect.autossh负责自动重连,expect负责自动输入密码. 安装: sudo apt-get install autoss ...

  7. Centos Denyhosts 一键安装配置脚本

    Centos Denyhosts 一键安装配置脚本 一键安装denyhosts脚本并配置为常用配置.放置Linux服务器被暴力破解 由于不能上传tar文件.所以改为zip压缩. 将附件的zip压缩包解 ...

  8. Ubuntu mate自启脚本/命令+关闭图形桌面

    Ubuntu mate自启脚本/命令+关闭图形桌面 Ubuntu mate自启脚本/命令 硬件 /etc/init.d方法(失败) gnome-terminal方法(半成功) rc.local方法(成 ...

  9. 安装 CentOS Ubuntu

    安装 CentOS Ubuntu # 安装前准备 1)安装自己熟悉稳定的版本,不要盲目追新:否则,会有兼容性问题 2)安装前使用网线连接计算机,方便安装网口驱动和软件包 3)较新的计算器基于 UEFI ...

最新文章

  1. Python安装及netcdf数据读写
  2. mysql行锁和表锁
  3. python实现数据库事务回滚_使用Python脚本实现MySQL误操作的快速回滚
  4. leetcode-71-简化路径
  5. LeetCode MySQL 1532. The Most Recent Three Orders(dense_rank + over窗口函数)
  6. JS学习笔记3-JavaScript 语句
  7. JSP, C 写入文件添加BOM头实例
  8. Linux基础命令---间歇性执行程序watch
  9. TensorFlow实现对花朵数据集的图片分类(保证运行成功)
  10. 什么是Dao层、Entity层、Service层、Servlet层、Utils层?
  11. c语言实现维吉尼亚密码和希尔密码的加解密
  12. 缠论108课_缠论108课学习顺序
  13. 修改dns服务器转发器,域服务器dns设置转发器
  14. SNP基因数据质控调研
  15. [GIS热点] 3S技术集成-新技术革命下集成模式
  16. CG CTF RE Py交易
  17. 交大天坑专业转码记录
  18. Latex设置指定区域的行距
  19. 推荐 4 款超好用的内网穿透工具,总有一款适合你
  20. “创新驱动的结构化思维”培训

热门文章

  1. 深度学习TensorFlow的55个经典案例
  2. swing获取文本框内容_Swing 使用 JTable详解
  3. laravel redis_解析laravel之redis简单模块操作
  4. a大于10小于15C语言,计算机基础复习模拟试卷
  5. 折线图笔记 -python
  6. python运用ico图标_如何优雅地处理Django中的favicon.ico图标详解
  7. poj 2870 Light Up(dfs+剪枝,写的稀烂)
  8. Java网络编程(一)- 一个简单的服务端/客户端应用程序
  9. 基于人脸识别的课堂签到管理系统(一)---环境设置以及简单的QT界面设计
  10. nvm 和 nrm 的安装与使用