當前位置:首頁 > linux教程 > 列表

Linux系統VPS安全與優化設置整理

發布:smiling 來源: PHP粉絲網  添加日期:2015-05-07 14:47:11 瀏覽: 評論:0 

下文小編整理了一篇Linux系統VPS安全與優化設置教程,希望這篇文章能夠對各位帶來幫助哦,雖然不是很高級但絕對是有用的.

VPS安全設置

一、用戶權限安全設置

root權限太高,誤操作就相當危險,所以日常操作使用普通賬號,只有特定時候才使用su切換到root身份.

①、新建普通用戶,比如zhangge

useradd  zhangge

②、修改密碼

passwd zhangge

③、將帳號加入wheel組

usermod -G wheel zhangge

④、設置只允許這個組的帳號,使用su命令切換到root

vim /etc/pam.d/su

找到#auth            required        pam_wheel.so use_uid

去掉行首的注釋符 # 然后使用:wq 保存退出

接著vim /etc/login.defs

在最末添加SU_WHEEL_ONLY yes,再用:wq保存退出即可。

Ps:執行 echo "SU_WHEEL_ONLY yes">>/etc/login.defs 亦可。

現在,再建立新的普通帳號,是無法使用su命令切換到root組了,感興趣的可以測試下效果.

⑤、刪除掉不需要的用戶和用戶組

禁止所有默認的被操作系統本身啟動的并且不必要的賬號,賬號越多,系統就越容易受到攻擊.

  1. userdel adm 
  2. userdel lp 
  3. userdel sync 
  4. userdel shutdown 
  5. userdel halt 
  6. userdel news 
  7. userdel uucp 
  8. userdel operator 
  9. userdel games 
  10. userdel gopher 
  11. userdel ftp 
  12. groupdel lp 
  13. groupdel news 
  14. groupdel uucp 
  15. groupdel games 
  16. groupdel dip 
  17. groupdel pppusers 

⑥、鎖定口令文件

執行chattr命令給下面的文件加上不可更改屬性,從而防止非授權用戶獲得權限.

  1. Shell 
  2. chattr +i /etc/passwd 
  3. chattr +i /etc/shadow 
  4. chattr +i /etc/group 
  5. chattr +i /etc/gshadow 

二、SSH安全設置

①、修改SSH端口

默認的SSH使用22端口,眾所周知,所以我們有必要自定義只有自己才知道的端口號,而且增加那些惡意掃描端口的難度,建議把SSH端口改到10000以上,比如使用23212,如下修改:

Ps:修改前,請執行iptables -nL 確認防火墻未設置非22/80訪問限制規則,否則可能導致修改后無法使用自定義端口連接就悲劇了.

vim /etc/ssh/sshd_config 編輯SSH配置文件

i. 找到#Port 22,去掉#號,并在下面添加Port 23212(先保留22端口,等23212成功連接再去掉22,保險做法)

ii. 繼續找到#UseDNS yes,改成UseDNS no,可以提高ssh的連接速度;

iii. 找到#PermitRootLogin Yes 改成 PermitRootLogin no 禁止root遠程使用ssh登錄

iv. 找到#PermitEmptyPasswords no,去掉#號, 禁止空密碼登錄

最后,使用 :wq 保存退出,再執行 service sshd restart 重啟 ssh服務即可生效.

此時,可以新開一個終端,測試能否通過23212端口連線,如果可以就把之前保留的port 22刪除即可.

三、防火墻簡單安全設定

這個VPS是直接使用公網IP的,防火墻還是得簡單設置下.

前期如下規劃:

僅作為web服務器使用,所以只需要開放SSH和HTTP端口即可,即只要開放上面定義的23212和80端口,由于不使用ftp,本例未提到21號端口,實際使用請注意辨別。

①、準備工作

由于操作防火墻具有一定的誤操作風險,很可能導致自己也被阻擋在外的悲劇,所以操作防火墻之前事先一定要先建立一個關閉防火墻的計劃任務,比如:

執行 crontab -e 加入:

1

*/5 * * * * root /etc/init.d/iptables stop

表示每5分鐘停止一次防火墻,以防誤操作把自己擋在外面,就算出現誤操作,5分鐘之內將會停止,也不會造成悲劇,這是一個技巧!

②、防火墻設置腳本

以下代碼我親測無誤,請放心使用,策略說明:

i. 僅開通HTTP(80)和SSH(自動抓取)端口,其他一律拒絕訪問!可根據實際需要在第10行添加其他端口,比如FTP的21端口、smtp25端口等。

ii. 單向禁ping設置,即外部IP無法ping通你的公網IP.

  1. Shell 
  2.  
  3. #!/bin/bash 
  4. ssh_port=`netstat -nutlp | grep sshd | grep 0.0.0.0 | awk '{print $4}' | cut -d ":" -f2` 
  5. iptables -F 
  6. iptables -F -t nat 
  7. iptables -X 
  8. iptables -P INPUT DROP 
  9. iptables -P OUTPUT ACCEPT 
  10. iptables -P FORWARD DROP 
  11. iptables -A INPUT -i lo -j ACCEPT 
  12. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  --phpfensi.com 
  13. iptables -A INPUT -p tcp -m multiport --dport 80,$ssh_port -j ACCEPT 
  14. iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT 
  15. /etc/init.d/iptables save 
  16. exit 0 

確認無誤后,記得把第①步中的任務計劃取消.

如我的VPS防火墻規則如下.

四、其他安全設置

①、禁ping

執行如下命令即可:

Shell

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

然后用你的電腦ping服務器IP就可以看到效果了!當然如果你用了上面的防火墻腳本,就已經自帶禁ping功能了。兩種方法的區別如下:以上方法,ping能夠返回消息(前提是防火墻未做阻擋規則,否則直接超時):

采用防火墻的方法,則直接超時:

Ps:個人推薦使用上文的防火墻腳本設置,更徹底。

②、開啟TCP SYN Cookie保護

執行 echo 1 > /proc/sys/net/ipv4/tcp_syncookies 即可。

做到這里,你的VPS已經具備不錯的安全性了,當互聯網沒有絕對的安全可言,我們必須時刻注意網絡安全動態,隨時對已經暴露出的和潛在安全漏洞進行修補。

VPS優化設置

一、增加SWAP分區

VPS(Virtual Private Server 虛擬專用服務器)技術,將一部服務器分割成多個虛擬專享服務器的優質服務。每個VPS都可分配獨立公網IP地址、獨立操作系統、獨立超大空間、獨立內存、獨立執行程序和獨立系統配置等。

下面是配置過程中的一些筆記:VPS只有一個根分區,沒有swap交換分區。VPS內存不大,于是,我為其增加了一個swap交換文件。

1、進入一個目錄

cd /var/

2、獲取256M的文件塊:

dd if=/dev/zero of=swapfile bs=1024 count=262144

3、創建swap文件

/sbin/mkswap swapfile

4、激活swap文件

/sbin/swapon swapfile

5、查看一下swap是否正確:

/sbin/swapon -s

6、加到fstab文件中讓系統引導時自動啟動

vi /etc/fstab

在末尾增加以下內容:

/var/swapfile swap swap defaults 0 0

Ps:這個方法在瑪思閣以前的文章同樣整理過,詳見:給已安裝的Linux新增Swap交換分區。

二、修改Linux系統時區

系統默認為美國東部時間,修改Linux時區為東八區

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

三、Linux內核參數優化

Linux內核參數優化可以使用 sysctl 命令完成,但是命令只能臨時生效,若要永久保留配置,我們就得編輯sysctl.conf這個文件了。先附上sysctl.conf詳細參數說明

sysctl.conf 文件中參數設置及參考推薦值

需要優化的朋友,可以參考上面的參數說明,并根據服務器實際負載來定制你的sysctl.conf文件,下面貼上一個針對nginx內核參數優化的例子,僅供參考(待補充):

  1. net.ipv4.ip_forward = 0 
  2. net.ipv4.conf.default.rp_filter = 1 
  3. net.ipv4.conf.default.accept_source_route = 0 
  4. kernel.sysrq = 0 
  5. kernel.core_uses_pid = 1 
  6. net.ipv4.tcp_syncookies = 1 
  7. kernel.msgmnb = 65536 
  8. kernel.msgmax = 65536 
  9. kernel.shmmax = 68719476736 
  10. kernel.shmall = 4294967296 
  11. net.ipv4.tcp_max_tw_buckets = 6000 
  12. net.ipv4.tcp_sack = 1 
  13. net.ipv4.tcp_window_scaling = 1 
  14. net.ipv4.tcp_rmem = 4096 87380 4194304 
  15. net.ipv4.tcp_wmem = 4096 16384 4194304 
  16. net.core.wmem_default = 8388608 
  17. net.core.rmem_default = 8388608 
  18. net.core.rmem_max = 16777216 
  19. net.core.wmem_max = 16777216 
  20. net.core.netdev_max_backlog = 262144 
  21. net.core.somaxconn = 262144 
  22. net.ipv4.tcp_max_orphans = 3276800 
  23. net.ipv4.tcp_max_syn_backlog = 262144 
  24. net.ipv4.tcp_timestamps = 0 
  25. net.ipv4.tcp_synack_retries = 1 
  26. net.ipv4.tcp_syn_retries = 1 
  27. net.ipv4.tcp_tw_recycle = 1 
  28. net.ipv4.tcp_tw_reuse = 1 
  29. net.ipv4.tcp_mem = 94500000 915000000 927000000 
  30. net.ipv4.tcp_fin_timeout = 1 
  31. net.ipv4.tcp_keepalive_time = 30 
  32. net.ipv4.ip_local_port_range = 1024 65000 

將以上代碼添加到sysctl.conf文件的最后,然后執行/sbin/sysctl -p 即可生效。

三、關閉多余tty,釋放內存

linux默認會啟動6個TTY控制臺,都需要常駐占用內存(1tty占用4M多的樣子),事實上沒必要需要使用這么多tty,個人vps,僅需1~2個tty即可。

Centos5.* 設置tty數量:

①、編輯 /etc/inittab,找到 tty [1-6] 改成 tty [1-2]

②、編輯 /etc/sysconfig/init,同樣將tty [1-6] 改成 tty [1-2]

重啟系統即可生效(建議先不重啟,等后續操作完成一起重啟即可).

CentOS 6.* 設置tty數量:

CentOS 6.0 開始 TTY 的配置由 /etc/inittab 更改為 /etc/init/start-ttys.conf,所以上面的第①步變為:

①、編輯 /etc/init/start-ttys.conf,找到 tty [1-6] 改成 tty [1-2]

②同上編輯即可

四、關閉ipv6

ipv6一般都用不到,完全關閉即可。

編輯 /etc/modprobe.d/dist.conf 文件,在最后追加:

alias net-pf-10 off

alias ipv6 off

然后重啟系統即可(某些發行版可能是/etc/modprobe.conf文件).

五、關閉多余啟動項

執行  chkconfig --list | grep :on  列出啟動項:

然后找到不需要啟動的項目,執行 chkconfig 程序名 off 即可.

比如,ip6tables 是ipv6防火墻,用不到,執行  chkconfig ip6tables off,然后執行service ip6tables stop即可徹底關閉ip6tables這個多余進程.

其余進程,請先查清楚作用,再來操作,以免出錯,暫時就整理這么多,后續發現更多的優化設置,再來追加~

Tags: Linux系統 VPS安全

分享到:

福利彩票25选5开奖结果