Centos Ubuntu防爆破ssh脚本
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是这个文件
外网服务器被黑挖矿。解决办法
- 前言
最近在学习远程连接Docker,需要开启TCP;都说容易被别人获取root权限,开始没以为然,慢慢我感觉远程操作服务器越来越缓慢,top命令后发现还真被挖矿了…第一次嘛没什么经验,简单的干掉可疑进程后重启了服务器,就没管了,结果两天后发现又被挖了…
- 思路
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脚本相关推荐
- python ssh 爆破_ssh爆破(python脚本)
最近在乌云看到一份端口详解:为了锻炼自己,按照端口详解写脚本 #!/usr/local/bin/ python # -*- coding: UTF-8 -*- __author__ = 'yangxi ...
- [教程]Windows下使用Ladon批量爆破SSH弱口令
前言 对于Linux操作系统来说,一般通过VNC.Teamviewer和SSH等工具来进行远程管理,SSH是 Secure Shell的缩写,由IETF的网络小组(Network Working Gr ...
- linux一键重装系统脚本,一键重装CentOS纯净版系统shell脚本
背景适用于由GRUB引导的CentOS,Ubuntu,Debian系统. 使用官方发行版去掉模板预装的软件. 同时也可以解决内核版本与软件不兼容的问题. 只要有root权限,还您一个纯净的系统. 注意 ...
- ubuntu linux 批量部署,使用Cobbler批量部署Linux和Windows:CentOS/Ubuntu批量安装(二)...
通过前面服务端的部署,已经配置好了 Cobbler Server 端,接下来开始进行 CentOS/Ubuntu 的批量安装,在进行 CentOS/Ubuntu 批量安装时,也需要通过Cobbler来 ...
- html5 防止脚本攻击,shell防ddos攻击脚本(二)
在上一篇shell防ddos攻击脚本(一)中,我给大家发了个脚本,那只是针对单机的,如果是在负载均衡下的话,很容易把自己的服务器ip给误封,所以这篇文章就给大家发个可以添加白名单的shell脚本. 系 ...
- Ubuntu中让SSH自动重连
Ubuntu中让SSH自动重连,简单的办法是安装autossh和expect.autossh负责自动重连,expect负责自动输入密码. 安装: sudo apt-get install autoss ...
- Centos Denyhosts 一键安装配置脚本
Centos Denyhosts 一键安装配置脚本 一键安装denyhosts脚本并配置为常用配置.放置Linux服务器被暴力破解 由于不能上传tar文件.所以改为zip压缩. 将附件的zip压缩包解 ...
- Ubuntu mate自启脚本/命令+关闭图形桌面
Ubuntu mate自启脚本/命令+关闭图形桌面 Ubuntu mate自启脚本/命令 硬件 /etc/init.d方法(失败) gnome-terminal方法(半成功) rc.local方法(成 ...
- 安装 CentOS Ubuntu
安装 CentOS Ubuntu # 安装前准备 1)安装自己熟悉稳定的版本,不要盲目追新:否则,会有兼容性问题 2)安装前使用网线连接计算机,方便安装网口驱动和软件包 3)较新的计算器基于 UEFI ...
最新文章
- Python安装及netcdf数据读写
- mysql行锁和表锁
- python实现数据库事务回滚_使用Python脚本实现MySQL误操作的快速回滚
- leetcode-71-简化路径
- LeetCode MySQL 1532. The Most Recent Three Orders(dense_rank + over窗口函数)
- JS学习笔记3-JavaScript 语句
- JSP, C 写入文件添加BOM头实例
- Linux基础命令---间歇性执行程序watch
- TensorFlow实现对花朵数据集的图片分类(保证运行成功)
- 什么是Dao层、Entity层、Service层、Servlet层、Utils层?
- c语言实现维吉尼亚密码和希尔密码的加解密
- 缠论108课_缠论108课学习顺序
- 修改dns服务器转发器,域服务器dns设置转发器
- SNP基因数据质控调研
- [GIS热点] 3S技术集成-新技术革命下集成模式
- CG CTF RE Py交易
- 交大天坑专业转码记录
- Latex设置指定区域的行距
- 推荐 4 款超好用的内网穿透工具,总有一款适合你
- “创新驱动的结构化思维”培训
热门文章
- 深度学习TensorFlow的55个经典案例
- swing获取文本框内容_Swing 使用 JTable详解
- laravel redis_解析laravel之redis简单模块操作
- a大于10小于15C语言,计算机基础复习模拟试卷
- 折线图笔记 -python
- python运用ico图标_如何优雅地处理Django中的favicon.ico图标详解
- poj 2870 Light Up(dfs+剪枝,写的稀烂)
- Java网络编程(一)- 一个简单的服务端/客户端应用程序
- 基于人脸识别的课堂签到管理系统(一)---环境设置以及简单的QT界面设计
- nvm 和 nrm 的安装与使用