Debian VPS常用安全设置

文章目录

vps的安全性非常的重要,尤其是对做网站的朋友。虽然还没碰到过暴力破解的情况,还是要注意一下。今天就来介绍下如何对linux vps进行简单的安全设置,这里以debian系统为例。

修改SSH端口

1
vi /etc/ssh/sshd_config

找到Port 22,如果前边有#,去掉前面的#,并修改为Port 1380(此数字尽量用4位数,避免被占用),然后,重启ssh,注:以后用新端口登陆。

1
2
3
/etc/init.d/ssh restart
或
service ssh start

禁止ROOT登陆

先添加一个新帐号tennfy,可以自定义:

1
useradd tennfy

给tennfy帐号设置密码:

1
passwd tennfy

输入两次密码之后,OK。
接下来通过修改配置文件禁止root登陆,依然是修改/etc/ssh/sshd_config。

找到PermitRootLogin yes,如果前边有#,去掉前面的#,并将yes改为no,然后重启ssh。

1
/etc/init.d/ssh restart

尝试用新的用户登陆,然后用su root提权到root。

1
2
3
4
5
login as: tennfy                            #新用户名
tennfy@*.*.*.* password:*****               #新用户密码
Last login: Thu Mar 5 08:14:21 2014 from *.*.*.*
su root                                    #提权
Password:***********                       #ROOT密码

使用DDos deflate简单防御CC和DDOS攻击

使用netstat命令,查看VPS当前链接确认是否受到攻击:

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

IP前面的数字,即为连接数,如果说正常网站,几十到一百都属于正常连接,但出现几百,或上千的就可以垦定这个IP与你的VPS之间可能存在可疑连接现象。
可以使用iptables直接BAN了这个IP的永久访问:

1
iptables -A INPUT -s 12.34.56.78 -j DROP

今天介绍给大家一种方法,是使用软件DDos deflate来自动检测并直接BAN掉的方法。
1、安装DDos deflat:

1
2
3
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod +x install.sh
./install.sh

2、修改/usr/local/ddos/ddos.conf
主要是APF_BAN=1要设置成0,因为要使用iptables来封某些可疑连接,注意EMAIL_TO=”root”,这样BAN哪个IP会有邮件提示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
##### 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=0        //使用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=admin@tennfy.com   //当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱
##### Number of seconds the banned ip should remain in blacklist.
BAN_PERIOD=600    //禁用IP时间,默认600秒,可根据情况调整

由于这个系统默认白名单有些问题,经常会有失误,所以,我们最好再设定手工设置白名单并不可修改。

1
2
3
vi /usr/local/ddos/ignore.ip.list  #手工设置白名单IP
chattr +i /usr/local/ddos/ignore.ip.list    #强制不允许修改
chattr -i /usr/local/ddos/ignore.ip.list     #解除不允许修改

3、卸载DDos deflate方法。

1
2
3
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 700 uninstall.ddos
./uninstall.ddos

本文出自 TENNFY博客,转载时请注明出处及相应链接。

本文永久链接: https://www.tennfy.com/2148.html

下一篇文章:

上一篇文章:

9人参与了讨论

  1. 超級efly 说:

    前來支持一下~~很實用~~ :mrgreen:
    BTW:「禁止ROOT登陆」有什麼用處呢? :?:
    PS:歡迎訪問AREFLY.COM~~ :grin:

  2. root的密码足够复杂,没事吧,我都是20位的字母数字特殊字符的密码,ssh禁止root密码登录,只能root帐号加证书才能登录。这样安全吗?

  3. xilouqingzhu 说:

    。。最近vps文章偏多呀,

  4. 藏梦2014 说:

    能否写的在简单点?细致点,小白不会操作啊!输入你上面的代码咋操作啊,一步一步来行吗?

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

4 + 1 = ?


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

返回顶部