z__ 发表于 2013-9-3 19:02:21

linux VPS的简单安全配置

新手及才接触VPS的朋友们看一下,主要是关于VPS安全方面相关内容的:一、修改SSH端口vi /etc/ssh/sshd_config找到其中的#Port 22(第13行),去掉#,修改成Port 3333使用如下命令,重启SSH服务,注:以后用新端口登陆。service sshd restart二、禁止ROOT登陆先添加一个新帐号 eyshan.com ,可以自定义:useradd eyshan.com给 eyshan.com 帐号设置密码:passwd eyhshan.com仍旧是修改/etc/ssh/sshd_config文件,第39行:#PermitRootLogin yes,去掉前面的#,并把yes改成no,然后,重启SSH服务。以后,先使用 eyshan.com 登陆,再su root即可得到ROOT管理权限。login as: eyshan.com
eyshan.com@ip password:*****
Last login: Tue Nov 22 15:18:18 2013 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 -nIP前面的数字,即为连接数,如果说正常网站,几十到一百都属于正常连接,但出现几百,或上千的就可以垦定这个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切换是否时数流量图形条。五、升级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.查看所有80端口的连接数netstat -nat|grep -i “80″|wc -l2.对连接的IP按连接数量进行排序netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n3.查看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}’
netstat -n | awk ‘/^tcp/ {++state[$NF]}; END {for(key in state) print key,”t”,state}’
netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,”t”,arr}’
netstat -n |awk ‘/^tcp/ {print $NF}’|sort|uniq -c|sort -rn
netstat -ant | awk ‘{print $NF}’ | grep -v ‘‘ | sort | uniq -c4.查看80端口连接数最多的20个IPnetstat -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]}END{for(i in A) print A,i}’ |sort -rn|head -n205.用tcpdump嗅探80端口的访问看看谁最高tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4}’ | sort | uniq -c | sort -nr |head -206.查找较多time_wait连接netstat -n|grep TIME_WAIT|awk ‘{print $5}’|sort|uniq -c|sort -rn|head -n207.找查较多的SYN连接netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more

flyingdog 发表于 2013-9-3 19:07:07

你好歹一天发一篇也行啊,刷广告币不是这么刷的。

fred 发表于 2013-9-3 22:01:04

就是,刷得有点技术含量嘛

LiuLiu 发表于 2013-9-3 22:49:02

How can I log in as root on my Virtual Private Server?
Date Submitted: 9-22-2012

Godaddy的vps直接就禁止了root用户远程登录的。


You cannot log in to your Virtual Private Server (VPS) remotely using "root." If you need "root" access on your Virtual Private Server (VPS), use the su - command once you have logged in with your User ID.

The su (short for substitute user) command makes it possible to log in as root temporarily while you are logged in with your normal User ID.

劈劈碎 发表于 2013-9-4 16:20:48

复杂,直接用Managed
页: [1]
查看完整版本: linux VPS的简单安全配置