CentOS 7增強安全性:

CentOS 7增強安全性:
1. 更改 root 密碼
****************************************************************************************************
2. 新增一個普通賬號
adduser
passwd
****************************************************************************************************
3. 禁止root使用ssh登入,改變ssh端口

(臨時關閉selinux,系統默認不能夠修改port)
getenforce  && setenforce 0  && getenforce  linux

以此方式關閉的selinux,在系統重啓後,selinux會從新開啓,阻止root & 新用戶ssh login.
須要再次關閉的selinux,新用戶才能夠用 新port login。

(修改端口號,禁止root用ssh)
vi /etc/ssh/sshd_config
#PermitRootLogin yes  修改成  PermitRootLogin no
#Port 22              修改成  Port 10837(改成任何 1024 – 65535 之間的任何數字)
保存退出

(重啟sshd服務)
systemctl restart sshd.service

(開放firewall port10837)
複製 firewalld 有關 sshd 的設定檔案:
cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/
vi /etc/firewalld/services/ssh.xml
<port protocol="tcp" port="22"/>   修改成   <port protocol="tcp" port="10837"/>
保存退出

(從新裝載firewall)
firewall-cmd --reload
****************************************************************************************************
永久關閉selinux:
# vim /etc/sysconfig/selinux
SELINUX=enforcing 改成 SELINUX=disabledvim


修改防火牆port命令 :firewall-cmd --zone=public --add-port=10837/tcp --permanent
****************************************************************************************************
5. 啓用公鑰驗證登入 ssh

如今只有普通賬號才能透過 ssh 登入服務器,可是 ssh 提供一個更先進更安全的驗證方法:公鑰驗證法。

首先每一名用戶創建一對加密鑰匙(密鑰和公鑰),密鑰儲存在平常使用的電腦,公鑰則儲存在服務器,使用 ssh聯繫到服務器的時候,電腦會把一些創建連線請求的資料,其中包括賬號名稱和公鑰,而且把部分資料用密鑰製做數碼簽署,一古腦兒送到服務器,服務器檢查本身的「公鑰庫」是否包含送來的公鑰,有的話再驗證數碼簽署,成功的話便直接登入服務器,無需輸入賬號密碼。

第一步在平常使用的電腦上使用 ssh-keygen 指令創建一對加密鑰匙,它會詢問儲存加密鑰匙的檔案名稱,和把鑰匙加密的密碼,檔案名稱使用默認的路徑和名稱即可以,密碼則無需輸入:

這個指令會創造兩個檔案,一個名爲 id_rsa,是你的 RSA 密鑰,另外一個是 id_rsa.pub,是你的 RSA 公鑰。公鑰必需上傳到服務器而且附加於用戶賬號裏面的 .ssh/authorized_keys 檔案中,這個檔案儲存全部可透過 ssh 登入到這一個賬號的公鑰,一行一條公鑰:

順便一提,這個檔案的存取權限必須是 0700,不然 sshd 不會讀取:

使用公鑰驗證法登入 ssh 又省力又安全,由於咱們不用輸入密碼,天然也沒有密碼被盜取的憂慮,簡簡單單地輸入連線指令即可以了。

可是存放在平常電腦中的密鑰卻帶來新的安全隱患,萬一密鑰被盜取了,其餘人豈不是能夠隨便登入服務器?如今是「雙重驗證」(two-factor authentication) 隆重登場的時候,雙重驗證的理念是咱們必須向服務器證實兩種不一樣性質的東西,才能成功驗證身分,第同樣是咱們知道什麼,第二樣是咱們擁有什麼。首先服務器會要求咱們輸入密碼,咱們知道密碼,過了第一關。跟着服務器要求咱們證實擁有公鑰驗證法中的密鑰,透過上面的設定程序咱們也經過了驗證,過了第二關。如今服務器纔會讓咱們進入系統。

設定 ssh 的雙重驗證法很簡單,使用 vim  (或任何文本編輯器) 開啓 /etc/ssh/sshd_config,在檔案的末端假如這一行:

1

AuthenticationMethods publickey,password

它告訴服務器用戶必須擁有合法的公鑰,和輸入正確的密碼才能成功登入。修改完成後從新啓動 sshd:

1

systemctl restart sshd.service

完成後不要登出系統,使用另外一個視窗嘗試登入,測試無誤即可進行下一步。
****************************************************************************************************
6. 更新、更新、天天更新、天天自動更新

每一天都有成千上萬的黑客在世界各地尋找 Linux 系統和常見軟件的安全漏洞,一有發現便會發動規模龐大而迅速的網絡攻擊,務求在咱們來得及反應前把系統攻陷。不要覺得黑客都只是十來歲的年輕小毛頭,大部分黑客背後都有勢力龐大、資源幾乎無限的國家機構支持,有些甚至屬於這些機構的僱員,美國的 NSA,英國的 GQHC,中國的無名黑客隊伍,都是比較明目張膽由國家支持的網絡黑幫,可見咱們的系統時時刻刻都被兇狠之徒盯着,保持軟件在最新的狀態是其中一項咱們必須作,也很容易作到的工做。

首先咱們當即手動更新全部預先安裝的軟件:

yum -y update

跟着設定系統定時自動更新,第一步肯定服務器是否安裝了自動執行指令的工具,跟着使用 yum 一個名叫 yum-cron插件。

CentOS 7 使用數個軟件來自動執行指令:cron、anacron、at 和 batch,其中 cron 和 anacron 用來按期重複執行指令,At 和 batch 則用來在特定時間執行一次性的指令。咱們將會使用 cron 和 anacron,二者的分別這裏不細表了,未來有機會再討論,如今使用如下指令安裝 cron 和 anacron:

yum -y install cronie

下一步就是安裝 yum-cron:

yum -y install yum-cron

其實你可使用一個指令同時安裝 cronie 和 yum-cron,甚至單獨安裝 yum-cron 也能夠,由於 yum 會自動檢測到yum-cron 須要 cronie 而後自動替你安裝,上面分開兩個指令純粹令你們容易明白。

完成後系統多了數個檔案,比較重要的包括:

    /etc/cron.daily/0yum.cron
    Anacron 天天執行這個檔案一次,它根據配置檔案 /etc/yum/yum-cron.conf 來更新軟件
    /etc/yum/yum-cron.conf
    這是天天執行 yum-cron 的配置檔案,默認只會下載更新的軟件,並不安裝,用意是讓管理員檢視 yum-cron的輸出,選取須要更新的軟件進行手動安裝。

跟着咱們修改配置檔案,讓 yum-cron 自動更新軟件,使用 vim  (或任何文本編輯器) 開啓 /etc/yum/yum-cron.conf,尋找:

apply_updates = no

修改成:

apply_updates = yes

確認一下 update_messages = yes, download_updates = yes, apply_updates = yes,正以下圖:

最後,啓動 crond 和 yum-cron:

systemctl start crond

systemctl start yum-cron
****************************************************************************************************
7. 防火牆

防火牆的做用比如網絡警察,它監察全部進出系統的 IP 封包,哪些端口允許封包進入,哪些端口允許封包外出等等,都由防火牆控制,保護使用這些端口的應用程式,因此設定防火牆是極重要的工做。

過濾封包功能的 netfilter 已經內建在 CentOS 7 的內核,可是配置 netfilter 的界面程式 firewalld 卻未必有安裝,不管是否已經安裝,均可以執行下面的安裝指令:


yum install firewalld

跟着查看一下防火牆如今開啓了哪些服務和端口:


firewall-cmd --list-all

上圖可見防火牆只開啓了 DHCP 客戶端和 ssh 兩個服務的通信端口,假若往後安裝了其餘網絡軟件,例如網站服務器、域名服務器等等,必需要檢查安裝程式有否開啓他們的通信端口,沒有的話便要手動開啓。若是好像前面第四點那樣使用了很是規的通信端口,也可能要手動配置防火牆,安全

相關文章
相關標籤/搜索