vps安全设置
适合新手及才接触VPS的朋友们看一下。主要是关于VPS安全方面相关内容的
禁止ROOT登陆 保证安全性。
使用DDoS deflate简单防攻击。
iftop Linux流量监控工具;
每日自己主动备份VPS到FTP空间。
升级LNMP的NGINX到最新版。
一、改动SSHport
vi /etc/ssh/sshd_config |
找到当中的#Port 22(第13行),去掉#,改动成Port 3333
使用例如以下命令,重新启动SSH服务。注:以后用新port登陆。
service sshd restart |
二、禁止ROOT登陆
先加入一个新帐号vpsmm。能够自己定义:
useradd vpsmm |
给vpsmm帐号设置password:
passwd vpsmm |
仍旧是改动/etc/ssh/sshd_config文件,第39行:#PermitRootLogin yes,去掉前面的#,并把yes改成no。然后,重新启动SSH服务。
以后,先使用vpsmm登陆。再su root就可以得到ROOT管理权限。
login as: vpsmm vpsmm@ip password:***** Last login: Tue Nov 22 14:39:58 2010 from 1.2.3.4 su root Password:*********** #注这里输入ROOT的password |
三、使用DDos deflate简单防落CC和DDOS攻击
使用netstat命令,查看VPS当前链接确认是否受到攻击:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n |
IP前面的数字,即为连接数。假设说正常站点,几十到一百都属于正常连接,但出现几百,或上千的就能够垦定这个IP与你的VPS之间可能存在可疑连接现象。
能够使用iptables直接BAN了这个IP的永久訪问:
iptables -A INPUT -s 12.34.56.78 -j DROP |
今天介绍给大家一种方法,是使用软件DDos deflate来自己主动检測并直接BAN掉的方法,首先我们要确认一下iptables服务状态。默认CENTOS就安装的,不看也行。
service iptables status |
安装DDos deflat:
wget http://www.inetbase.com/scripts/ddos/install.sh chmod +x install.sh ./install.sh |
安装后须要改动/usr/local/ddos/ddos.conf,主要是APF_BAN=1要设置成0,由于要使用iptables来封某些可疑连接,注意EMAIL_TO=“root”,这样BAN哪个IP会有邮件提示:
##### 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秒。可依据情况调整 |
四、使用iftop查看具体网络状况
安装IFTOP软件:
yum -y install flex byacc libpcap ncurses ncurses-devel libpcap-devel wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz tar zxvf iftop-0.17.tar.gz cd iftop-0.17 ./configure make && make install |
安装后,使用iftop执行,查看网络情况。TX,发送流量。RX,接收流量;TOTAL,总流量;Cumm,执行iftop期间流量。peak。流量峰值;rates,分别代表2秒、10秒、40秒的平均流量。
快捷键:h帮助,n切换显示IP主机名,s是否显示本机信息,d是否显示远端信息,N切换port服务名称,b切换是否时数流量图形条。
五、每日备份你的VPS上传到FTP空间
六、升级LNMP中的NGINX到最新版
如今最新版是0.8.53,假设以后出新版。仅仅要更新版本就能够,在SSH里执行:
wget http://www.nginx.org/download/nginx-0.8.53.tar.gz tar zxvf nginx-0.8.53.tar.gz cd nginx-0.8.53 ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module make mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old cd objs/ cp nginx /usr/local/nginx/sbin/ /usr/local/nginx/sbin/nginx -t kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` /usr/local/nginx/sbin/nginx -v cd .. cd .. rm -rf nginx-0.8.53 rm -rf nginx-0.8.53.tar.gz |
七、经常使用netstat命令:
1.查看全部80port的连接数
netstat -nat|grep -i "80"|wc -l |
2.对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n |
3.查看TCP连接状态
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}' netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}' netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}' netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c |
4.查看80port连接数最多的20个IP
netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20 netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}' |sort -rn|head -n20 |
5.用tcpdump嗅探80port的訪问看看谁最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20 |
6.查找较多time_wait连接
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20 |
7.找查较多的SYN连接
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more |
vps安全设置的更多相关文章
- VPS搭建VPN、BLOG
FQ的正确姿势,你掌握了多少?老司机带你去墙外看看,来开车了坐稳! 购买VPS主机(服务端) 推荐性价比较高的VPS 搬瓦工https://bandwagonhost.com/ 上面的链接如果你打不开 ...
- [转]Amazon AWS亚马逊云服务免费一年VPS主机成功申请和使用方法
今天部落将再次为大家介绍如何成功申请到来自亚马逊的Amazon AWS免费一年的VPS主机服务.亚马逊公司这个就不用介绍了,是美国最大的一家网络电子商务公司,亚马逊弹性计算云Amazon EC2更是鼎 ...
- ubuntu vps折腾记
买了burgetVM的vps,512M内存/1024M交换内存,40G硬盘,2TB流量/月,cpu xeon E5-2620 操作系统选择了ubuntu 12,开始折腾. 第一步,配置vpn 找了很多 ...
- 官方解答:Vultr VPS常见问题
VULTR VPS配置高,价格低廉,是非常优秀的vps品牌.今天我来翻译vultr官方FAQ,相信你能找到具体答案. Q 请介绍VULTR VPS机器硬件配置 Intel CPU 3+ GHz Cor ...
- 如何在一个顶级域名下用两个二级域名访问vps下的两个项目网站--完美解决骗
本人是原址是http://www.webzhe.com/server/340 后经过本人的实践修改,增加截图,等具体的步骤,完美解决 如何在vps中设置二级域名开通子网站,这个问题涉及到两步:一首先要 ...
- php-fpm优化方法详解
php-fpm优化方法 php-fpm存在两种方式,一种是直接开启指定数量的php-fpm进程,不再增加或者减少:另一种则是开始时开启一定数量的php-fpm进程,当请求量变大时,动态的增加php-f ...
- DigitalOcean 建站笔记
由于在默认的情况下digitalocean的VPS没有设置swap分区,用df -h命令查看的话,整个VPS上只有一个20G的分区.用free命令查看的话,swap分区的大小是0,增加swap分区的命 ...
- TodoList开发笔记 – Part Ⅳ
跌跌撞撞总算是把客户端开发好了,后台的代码因为不复杂,就写了些单元测试跑一跑就算通过了,大部分时间都是在调整脚本. 这一节开始部署TodoList项目. 一.了解IIS(Internet Infoma ...
- Linux的php-fpm优化心得-php-fpm进程占用内存大和不释放内存问题(转)
原文地址:https://wzfou.com/php-fpm/ 最近发现博客的内存老是隔三差五地被“吃掉”了,登录到后台后偶尔会出卡顿的情况,一开始怀疑是Swap不够导致的,于是给VPS主机增加了几个 ...
随机推荐
- Zedboard甲诊opencv图像处理(四)
接着上一篇博客,继续改进,现在为了是图像处理结果更加稳定,我实在没有办法了,只好先提取手指,再提取指甲. 把手指从背景里面提出来还是挺简单的,可惜的是我研究这么半天还是这结果,好沮丧. 怎么办呢,时间 ...
- Windows下命令行直接编译程序
D:\> cl hello.cpp Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 Cop ...
- setTimeout()和setInterval()小结
写在前面:在写H5游戏时经常需要使用定时刷新页面实现动画效果,比较常用即setTimeout()以及setInterval() setTimeout 描述 setTimeout(code,millis ...
- Sass函数--map
MapSass 的 map 常常被称为数据地图,也有人称其为数组,是以 key:value 成对的出现. $map: ( $key1: value1, $key2: value2, $key3: va ...
- TravelCMS旅游网站系统诞生记
本人就是一纯粹码农,没什么学历,更没什么技术,但是自认为学习能力还不错,近期有一个旅游网站系统项目正在进行中,在此以贴图记录这个项目的诞生过程,本是一个定制系统,但是不想把系统做死,以通用产品的标准来 ...
- (转)C#之玩转反射
前言 之所以要写这篇关于C#反射的随笔,起因有两个: 第一个是自己开发的网站需要用到 其次就是没看到这方面比较好的文章. 所以下定决心自己写一篇,废话不多说开始进入正题. 前期准备 在VS20 ...
- jedis处理redis cluster集群的密码问题
环境介绍:jedis:2.8.0 redis版本:3.2 首先说一下redis集群的方式,一种是cluster的 一种是sentinel的,cluster的是redis 3.0之后出来新的集群方式 本 ...
- silverlight 打印
加引用: using System.Windows.Printing; xaml文件里: //定义图片和文本打印变量 PrintDocument printImage; public BeginCo ...
- ORA-942 SP2-0611
环境:oracle 11.2.04 问题描述: 在使用hr用户启用set autot trace时报错 set">HR@test>set autot trace; Error O ...
- Python基础第四天
必须掌握的内置函数 bytes() divmod() eval() exec() isinstance() range() 常用函数 1.数学相关 abs(x) abs()返回一个数字的绝对值.如果给 ...