幫助中心FAQ


一、用戶權限安全設置

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

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

useradd  Winter

②、修改密碼

passwd Winter

③、將帳號加入wheel

usermod -G wheel Winter

④、設置只允許這個組的帳號,使用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組了,感興趣的可以測試下效果。

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

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

userdel adm

userdel lp

userdel sync

userdel shutdown

userdel halt

userdel news

userdel uucp

userdel operator

userdel games

userdel gopher

userdel ftp

groupdel lp

groupdel news

groupdel uucp

groupdel games

groupdel dip

groupdel pppusers

⑥、鎖定口令文件

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

chattr +i /etc/passwd

chattr +i /etc/shadow

chattr +i /etc/group

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 禁止roo遠程使用ssh登錄

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

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

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

 

三、防火墻簡單安全設定

由于云主機是直接使用公網IP的,防火墻還是得簡單設置下。

前期如下規劃:

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

①、準備工作

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

執行 crontab -e 加入:

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

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

②、防火墻設置腳本

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

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

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

#!/bin/bash

ssh_port=`netstat -nutlp | grep sshd | grep 0.0.0.0 | awk '{print $4}' | cut -d ":" -f2`

iptables -F

iptables -F -t nat

iptables -X

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -P FORWARD DROP

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p tcp -m multiport --dport 80,443,$ssh_port -j ACCEPT

iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT

/etc/init.d/iptables save

exit 0

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

 

四、其他安全設置

①、開啟TCP SYN Cookie保護

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

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

白小姐一码中特图