歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> VPS怎麼設置安全配置

VPS怎麼設置安全配置

日期:2017/2/28 11:58:28   编辑:Linux技術

  VPS(Virtual Private Server 虛擬專用服務器)技術,將一部服務器分割成多個虛擬專享服務器的優質服務。那麼大家知道VPS怎麼設置安全配置嗎?學習啦小編分享了VPS設置安全配置的方法,希望對大家有所幫助。

  VPS設置安全配置方法

  一、修改SSH端口

  vi /etc/ssh/sshd_config

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

  使用如下命令,重啟SSH服務,注:以後用新端口登陸。

  service sshd restart

  二、禁止ROOT登陸

  先添加一個新帳號80st ,可以自定義:

  useradd 80st

  給weidao 帳號設置密碼:

  passwd 80st

  仍舊是修改/etc/ssh/sshd_config文件,第39行:#PermitRootLogin yes,去掉前面的#,並把yes改成no,然後,重啟SSH服務。以後,先使用weidao 登陸,再su root即可得到ROOT管理權限。

  login as: 80st

  weidao@ip password:*****

  Last login: Tue Nov 22 15:18:18 2011 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切換是否時數流量圖形條。

  五、升級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 -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.查看80端口連接數最多的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嗅探80端口的訪問看看誰最高

  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怎麼設置安全配置”的人還看了:

Copyright © Linux教程網 All Rights Reserved