测试系统:centos7

修改连接端口

修改配置文件

vi /etc/ssh/sshd_config

去掉port 22的注释,添加新的端口配置 port your_port_num

自定义端口选择建议在万位的端口(如:10000-65535之间)

不要直接删除port 22,以免遗忘新SSH端口或者端口不能访问,我们还能继续访问SSH,保存并退出

重启SSH配置

service sshd restart

重新连接VPS并删除默认22端口

使用新的端口进行登陆,登陆成功后,修改配置文件 删除port 22 行,保存并退出,重启SSH配置

禁用IP

iptables -I INPUT -s 0.0.0.0 -j DROP

已知几个暴力破解IP地址

iptables -I INPUT -s 61.177.172.10 -j DROP
iptables -I INPUT -s 58.218.198.167 -j DROP
iptables -I INPUT -s 122.172.137.116 -j DROP

其他方法参考禁止访问IP设置

安装DDoS deflate

DDoS deflate介绍

DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限 制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP.

确定是否遭受DDoS攻击

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

执行后会显示当前主机的连接次数与IP地址,一般10-20个都是正常的,如果几百个甚至更多,那肯定是有问题了。

安装DDoS deflate

wget http://www.inetbase.com/scripts/ddos/install.sh   //下载DDoS  deflate
chmod 0700 install.sh //添加权限
./install.sh //执行

配置DDoS deflate

DDoS deflate的默认配置位于/usr/local/ddos/ddos.conf ,内容如下:

##### Paths of the script and other files
PROGDIR="/usr/local/ddos"
PROG="/usr/local/ddos/ddos.sh"
IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list" //IP地址白名单
CRON="/etc/cron.d/ddos.cron" //定时执行程序
APF="/etc/apf/apf"
IPT="/sbin/iptables" ##### frequency in minutes for running the script
##### Caution: Every time this setting is changed, run the script with --cron
##### option so that the new frequency takes effect
FREQ=1 //检查时间间隔,默认1分钟 ##### How many connections define a bad IP? Indicate that below.
NO_OF_CONNECTIONS=150 //最大连接数,超过这个数IP就会被屏蔽,一般默认即可 ##### APF_BAN=1 (Make sure your APF version is atleast 0.96)
##### APF_BAN=0 (Uses iptables for banning ips instead of APF)
APF_BAN=1 //使用APF还是iptables。推荐使用iptables,将APF_BAN的值改为0即可。 ##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script)
##### KILL=1 (Recommended setting)
KILL=1 //是否屏蔽IP,默认即可 ##### An email is sent to the following address when an IP is banned.
##### Blank would suppress sending of mails
EMAIL_TO="root" //当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可 ##### Number of seconds the banned ip should remain in blacklist.
BAN_PERIOD=600 //禁用IP时间,默认600秒,可根据情况调整

修改完后保存,输入reboot重启主机

参考文章

linux centos 设置防火墙 iptables 如何 禁止某个IP访问 登陆

linux设置iptables禁止某个IP访问

DDoS deflate–简单解决 VPS 被 DDOS/CC 攻击

DDoS deflate - Linux下防御/减轻DDOS攻击

修改Linux SSH连接端口和禁用IP,安装DDoS deflate的更多相关文章

  1. Linux - ssh 连接问题

    SSH 连接方式 ssh -p 22 user@192.168.1.209 # 从linux ssh登录另一台linux ssh -p 22 root@192.168.1.209 CMD # 利用ss ...

  2. linux ssh连接不自动断开

    修改linux服务器ssh配置文件: vim /etc/ssh/ssh_config 修改两处的值为: ClientAliveInterval ClientAliveCountMax 使修改的ssh配 ...

  3. 修改了ssh默认端口对git的影响

    如果服务端的ssh不是采用的默认端口. 那么客户端git命令就会报错: ssh: connect to host 192.168.2.152 port 22: Connection refused 这 ...

  4. 修改Centos SSH远程端口

    1. 在防火墙添加开放端口10000:本机防火墙和云防火墙 本机防火墙:-A INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACC ...

  5. ssh 连接不同无线网且IP以及用户名都相同

    问题现场及解析 用OpenSSH的人都知ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts. 当下次访问相同计算机时,OpenSSH会核对公钥. ...

  6. linux ssh连接自动断开问题

    场景描述:云上的虚拟机使用public ip连接ssh时,一直提示已经连接,但是就会自动关闭 1. 通过正常虚拟机作为跳板,能够连接到目标机子上,检查发现进程正常,但是就一直连接不上 [root@te ...

  7. Linux SSH 连接安全设置

    一.更换端口, 可以在一定程度上防止扫描攻击 vim /etc/ssh/sshd_config 将 port 一项从 22 更改为高位端口, 然后重启 ssh 服务 systemctl restart ...

  8. linux ssh连接超时断连设置

    以下均针对redhat6.5系统进行说明. 一.设置ssh超时断连 使用root用户,编辑/etc/profile文件,在 HOSTNAME='/bin/hostname' HISTIZE=30 后增 ...

  9. windows server2008 r2修改远程桌面连接端口。

    1. windows 2008远程桌面端口默认是用的是3389端口,但是由于安全考虑,通常我们安装好系统后一般都会考虑把原来的3389端口更改为另外的端口.   2.更改过程: 2-1.打开注册表:  ...

随机推荐

  1. 动态创建table表格页面出现undefined原因以及修改

    源代码: var html: if(lists) { html += '<a href="https://www.4001149114.com/NLJJ/member/sharecel ...

  2. ios10系统以下原生传来的base64图片无法转化为二进制

    最近在做和原生ios交互上传图片的时候,遇到原生传来的以base64图片位无法转化为二进制.因为前端上传图片的方式是以二进制的方式上传,在ios10 和安卓上,上传图片是可以的:在ios10以下,可以 ...

  3. Struts2配置文件struts.xml的编辑自动提示代码功能

    第一步:复制struts.xml头部地址 第二步:Window --->Preferences 第三步:XML--->XML Catalog--->Add 第四步:在Key中粘贴复制 ...

  4. Mysql汉字乱码的解决

    在安装Mysql时其实可能选择使用GBK来处理汉字,由于以前没使用,所以就按默认的英语处理.不过,也可以C:\Program Files\MySQL\MySQL Server 6.8安装路径下的my文 ...

  5. springcloud-断路器hystrix

    Netflix的创造了一个调用的库 Hystrix 实现了断路器.在微服务架构中,通常有多层服务调用. 底层服务出现故障可能导致用户级联故障.当调用特定服务达到一定阈值时(Hystrix中的默认值为5 ...

  6. PHP彻底解决mysql中文乱码

    彻底解决mysql中文乱码 mysql是我们项目中非经常常使用的数据型数据库. 可是由于我们须要在数据库保存中文字符,所以经常遇到数据库乱码情况.以下就来介绍一下怎样彻底解决数据库中文乱码情况. 数据 ...

  7. 3.C#基础篇-->堆和栈

    一.前言 堆与栈对于理解.NET中的内存管理.垃圾回收.错误和异常.调试与日志有很大的帮助.垃圾回收的机制使程序员从复杂的内存管理中解脱出来,虽然绝大多数的C#程序并不需要程序员手动管理内存,但这并不 ...

  8. GDC NEC单机自动化设置

    GDC NEC 单机自动化设置 进入播放列表   进入设置,进入登陆,请选择维修员登陆,输入密码257910   选择“一般选项”中的“自动化” 在进入的新菜单中选择“设备”,添加一个新的名称,默认的 ...

  9. Mapped Statements collection does not contain value for 问题的解决

    在做SSM项目的时候,遇到MyBatis抛出的一个异常: Mapped Statements collection does not contain value for org.lyk.vo.mapp ...

  10. 给model模型传数组参数

    $res = $this->Company->companyDischarge($this->user_id,array(0=>'c.limit_sum>0',1=> ...