安全是IT行業一個老生常談的話題了,最近的「棱鏡門」時間映射出了不少安全問題,處理好信息安全問題已變得刻不容緩。所以一名運維人員,必須瞭解一些安全運維準則,同時,要保護本身所負責的業務,首先要站在攻擊者的角度思考問題,才能修補任何潛在的威脅和漏洞。linux
賬號安全是系統安全的第一道屏障,也是系統安全的核心,保證登陸賬號的安全,在必定程度上能夠提升服務器的安全級別,ios
Linux提供了各類不通角色的系統賬號,在系統安裝完成後,默認會安裝不少沒必要要的用戶和用戶組,若是不須要某些用戶或用戶組,應當即刪除它們,由於賬號越多,系統就越不安全,從而極可能被黑客利用,威脅服務器的安全。web
Linux系統中能夠刪除的默認用戶和用戶組大體以下:shell
刪除的方法很簡單,下面舉例說明刪除系統沒必要要的用戶使用以下命令:數據庫
[root@iZm5e1zj4mlgc24i43avl0Z ~]# userdel adm [root@iZm5e1zj4mlgc24i43avl0Z ~]# userdel lp [root@iZm5e1zj4mlgc24i43avl0Z ~]# userdel sync .......
刪除系統沒必要要的用戶組使用以下命令: apache
[root@iZm5e1zj4mlgc24i43avl0Z ~]# groupdel games [root@iZm5e1zj4mlgc24i43avl0Z ~]# groupdel dip [root@iZm5e1zj4mlgc24i43avl0Z ~]# groupdel pppusers .......
有些時間,某些用戶僅僅用做進程調用或者用戶組調用,並不須要登陸功能,此時能夠禁止這些用戶登陸系統的躬耕,例如要禁止nagios用戶的登陸功能,能夠執行以下命令:vim
[root@iZm5e1zj4mlgc24i43avl0Z ~]# usermod -s /sbin/nologin nagios安全
其實要刪除那些用戶和用戶組,並無固定要求,能夠根據服務器的用途來決定,若是服務器是用於web應用的,那麼系統默認的apache用戶和用戶組就無需刪除;而若是服務器是用於數據庫應用的,那麼建議刪除系統默認的apache用戶和用戶組。服務器
在Linux下,遠程登陸系統有兩種認證方式:密碼認證和密鑰認證。密碼認證方式是傳統的安全策略,對於密碼的設置,比較普通的說話是:至少6個字符以上,密碼要包含數字、字母、下劃線、特殊符號等。運維
密鑰認證是一種新型的認證方式,公用密鑰存儲在遠程服務器上,專用密鑰保存在本地,當須要登陸系統時,經過本地專用密鑰和遠程服務器的公鑰進行配對認證,若是認證成功,就能夠成功登陸系統。這種方式避免了密鑰認證的方式進入系統。所以,在Linux下推薦用密鑰認證方式登陸系統,這樣就能夠拋棄密碼認證登陸系統的弊端。
接下來詳細描述經過密鑰認證方式遠程登陸Linux服務器的實現方法。這裏的環境是Centos七、OpenSSH6.六、Xshell,操做以下:
#ssh-keygen -t rsa
執行上面命令後會在家(/home/當前用戶,root用戶會在/root下建立)位置下建立.ssh文件而且生成兩個文件。
-rw-------. 1 xxxxx xxxxx 176 8月 1 02:52 id_rsa
-rw-r--r--. 1 xxxxx xxxxx 409 8月 1 02:52 id_rsa.pub
講id_rsa.pub名稱修改成authorized_keys
cat id_rsa.pub >> authorized_keys
修改文件權限
chmod 700 .ssh
chmod 600 authorized_keys
修改OpenSSH配置文件
vim /etc/ssh/sshd_config
#禁用root帳戶登陸,非必要,但爲了安全性,請配置 PermitRootLogin no # 是否讓 sshd 去檢查用戶家目錄或相關檔案的權限數據, # 這是爲了擔憂使用者將某些重要檔案的權限設錯,可能會致使一些問題所致。 # 例如使用者的 ~.ssh/ 權限設錯時,某些特殊狀況下會不準用戶登入 StrictModes no # 是否容許用戶自行使用成對的密鑰系統進行登入行爲,僅針對 version 2。 # 至於自制的公鑰數據就放置於用戶家目錄下的 .ssh/authorized_keys 內 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys #有了證書登陸了,就禁用密碼登陸吧,安全要緊 PasswordAuthentication no
保存退出,而且重啓OpenSSH
systemctl restart sshd.service
把剛生成兩個文件中的id_rsa拷貝到客戶端,進行登陸
在生成密鑰的時候輸入的什麼密碼,這裏的密碼就輸入什麼,登陸後就能夠經過su root來對root進行切換了。
在安裝的過程遇到過不少坑,什麼該用戶未註冊、拒絕登陸。其實歸根結底就是你配置文件的錯誤。密鑰生成有不少種,也能夠經過Xshell進行生成密鑰,而後將生成後的公鑰傳到linux上。
在此不過多介紹,留心的能夠去親自感覺下這個過程。
3、防火牆
防火牆的知識夠用就能夠,這裏把一些經常使用的命令粘貼過來,供你們參考
systemctl stop firewalld systemctl mask firewalld yum -y install iptables-services systemctl enable iptables systemctl start iptables iptables -F INPUT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT service iptables save systemctl restart iptables.service