Total Pageviews

Thursday, 14 March 2013

VPS常用安全设置

一、修改SSH端口:

    vi /etc/ssh/sshd_config

找到其中的#Port 22(第13行),去掉#,修改成Port 1830

使用如下命令,重启SSH服务,注:以后要用新端口登陆。

    service sshd restart

二、禁止ROOT登陆:

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

    useradd admin

给admin帐号设置密码:

    passwd admin

仍旧是修改/etc/ssh/sshd_config文件,第39行:#PermitRootLogin yes,去掉前面的#,并把yes改成no,然后,重启SSH服务。以后,先使用admin登陆,再su root即可得到ROOT管理权限。

    login as: admin
    admin@ip password:*****
    Last login: Tue Nov 22 14:39:58 2010 from 1.2.3.4
    su root
    Password:*********** #注:这里输入root的密码

三、使用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切换端口服务名称,b切换是否时数流量图形条。