安裝 CentOS 7 後必做的七件事
CentOS是最多人用來運行服務器的Linux版本,當在一臺主機或VPS上安裝CentOS 7后,首要的工作肯定是加強它的安全性,以下列出的七件事,是進一步配置系統和安裝其他軟件前必須做的。
1. 更改root密碼
首先使用ssh登入服務器,在Windows可以使用Putty、Xshell,或者在Cygwin環境下執行OpenSSH。在Mac和Linux上只需在終端機(terminal)中執行以下指令便可以了,比Windows簡單得多:
ssh root@45.56.78.90
第一次使用ssh登陸服務器,你的電腦會把服務器的加密公鑰下載,然后詢問你是否信任它,選擇是就可以了。
用passwd命令更改密碼,需要輸入兩次新密碼。
好的密碼應該同時包含數字、小寫英文字母、大寫英文字母、和標點符號,最少15個字符,這樣的密碼強度大概有90 bit,一般可以對付暴力破解。
2. 新增一個普通帳號
這一步連同下一步,相當于為一個城市筑起兩道城墻,既可加強防衛,也建立了一道警報機制,當敵人(***)卒然來襲,第一道城墻被襲擊和破壞,我們還有第二道城墻阻延一下,有時間部署防衛甚至反擊。所以這是一個很多人忽略,但其實非常重要的步驟。
首先我們新增一個帳號:useradd abcd
設定abcd的密碼: passwd abcd
平時我們用abcd賬號登錄,需要特權命令時候再su到root賬號下進行操作,這樣安全的多。
3. 禁止root使用ssh登入
CentOS 7預設容許任何帳號透過ssh登入,包括root和一般帳號,為了不讓root帳號被***暴力***,我們必須禁止root帳號的ssh功能,事實上root也沒有必要ssh登入服務器,因為只要使用su或sudo (當然需要輸入root的密碼)普通帳號便可以擁有root的權限。使用vim編輯/etc/ssh/sshd_config,尋找:#PermitRootLogin yes 修改為PermitRootLogin no
然后重起sshd服務:systemctl restart sshd
這樣***要取得root的權限,必須破解root和一個普通用戶的密碼,難度增加了。
完成后不要登出系統,使用另一個視窗嘗試登入root和普通帳號,測試無誤便可進行下一步。
4. 使用非常規的ssh端口
SSH默認使用端口22,這是在IANA注冊的官方端口,但沒有人說ssh不能使用其他端口,很多***專門向服務器的22端口發動***,即使你的服務器固若金湯、牢不可破,但是要系統日以繼夜接受***,消耗的系統資源非常大的,何況它是否真的牢不可破還說不定呢!所以有必要讓ssh使用其他端口,只讓有權使用ssh的用戶知道。
使用vim編輯/etc/ssh/sshd_config,尋找:#Port 22 修改為 Port 12345
你可以把12345改為任何1024 – 65535之間的任何數字,若果怕與某些系統服務發生沖突,可以參考一下這里。
重新啟動sshd服務:systemctl restart sshd
最后是設定防火墻放行新端口:
firewall-cmd –zone=public –add-port=12345/tcp –permanent
不論使用哪種方法,完成后不要登出系統,使用另一個視窗嘗試登入,例如:ssh -p 12345 abcd@45.56.78.90 登錄正常即可放心登出。
5.啟用公鑰驗證登入ssh
現在只有普通帳號才能透過ssh登入服務器,但是ssh提供一個更先進更安全的驗證方法:公鑰驗證法。
首先每一名用戶建立一對加密鑰匙(密鑰和公鑰),密鑰儲存在日常使用的電腦,公鑰則儲存在服務器,使用ssh聯系到服務器的時候,電腦會把一些建立連接請求的資料,其中包括帳號名稱和公鑰,并且把部分資料用密鑰制作數碼簽署,一股腦兒送到服務器,服務器檢查自己的公鑰庫是否包含送來的公鑰,有的話再驗證數碼簽署,成功的話便直接登入服務器,無需輸入帳號密碼。
第一步在日常使用的電腦上使用ssh-keygen指令建立一對加密鑰匙,它會詢問儲存加密鑰匙的文件名稱,和把鑰匙加密的密碼,文件名稱使用預設的路徑和名稱便可以,密碼則無需輸入:ssh-keygen -t rsa
這個指令會創造兩個文件,一個名為id_rsa,是你的RSA密鑰,另一個是id_rsa.pub,是你的RSA公鑰。公鑰必需上傳到服務器并且附加于用戶帳號里面的.ssh/authorized_keys文件中,這個文件儲存所有可透過ssh登入到這一個帳號的公鑰,一行一條公鑰。
把公鑰使用ssh-copy-id或scp命令上傳到服務器家目錄.ssh目錄下面。ssh-copy-id -i .ssh/id_rsa.pub abcd@45.56.78.90
這樣登錄時候可以使用公鑰認證了,使用公鑰驗證法登入ssh又省力又安全,因為我們不用輸入密碼,自然也沒有密碼被盜取的憂慮,簡簡單單地輸入連接指令便可以了。
但是存放在日常電腦中的密鑰卻帶來新的安全隱患,萬一密鑰被盜取了,其他人豈不是可以隨便登入服務器?現在是雙重驗證(two-factor authentication) 隆重登場的時候,雙重驗證的理念是我們必須向服務器證明兩種不同性質的東西,才能成功驗證身分,第一樣是我們知道什么,第二樣是我們擁有什么。首先服務器會要求我們輸入密碼,我們知道密碼,過了第一關。跟著服務器要求我們證明擁有公鑰驗證法中的密鑰,透過上面的設定程序我們也通過了驗證,過了第二關?,F在服務器才會讓我們進入系統。
設定ssh的雙重驗證法很簡單,使用vim打開/etc/ssh/sshd_config,在文件的末端假如這一行:AuthenticationMethods publickey,password
它告訴服務器用戶必須擁有合法的公鑰,和輸入正確的密碼才能成功登入。修改完成后重新啟動sshd:systemctl restart sshd
完成后不要登出系統,使用另一個視窗嘗試登入,測試無誤便可進行下一步。
6. 更新、更新、每天更新、每天自動更新
每一天都有成千上萬的***在世界各地尋找Linux系統和常見軟件的安全漏洞,一有發現便會發動規模龐大而迅速的網絡***,務求在我們來得及反應前把系統攻陷。不要以為***都只是十來歲的年輕小毛頭,大部分***背后都有勢力龐大、資源幾乎無限的國家機構支持,有些甚至屬于這些機構的雇員,美國的NSA,英國的GQHC,都是比較明目張膽由國家支持的網絡黑幫,可見我們的系統時時刻刻都被兇狠之徒盯著,保持軟件在最新的狀態是其中一項我們必須做,也很容易做到的工作。
首先我們立即手動更新所有預先安裝的軟件:yum -y update
跟著設定系統定時自動更新,第一步確定服務器是否安裝了自動執行指令的工具,跟著使用yum一個名叫yum-cron插件。
CentOS 7有幾個類似軟件來自動執行指令:cron、anacron、at和batch,其中cron和anacron用來定期重復執行指令,At和batch則用來在特定時間執行一次性的指令。安裝cron:
yum -y install yum-cron
接著我們修改配置文件,讓yum-cron自動更新軟件,使用vim 編輯/etc/yum/yum-cron.conf,尋找:apply_updates = no修改為:apply_updates = yes
啟動服務:systemctl start crond ?systemctl start yum-cron
7.開啟防火墻
防火墻的作用好比網絡警察,它監察所有進出系統的IP 封包,哪些端口容許封包進入,哪些端口容許封包外出等等,都由防火墻控制,保護使用這些端口的應用程式,所以設定防火墻是極重要的工作。
過濾封包功能的netfilter 已經內建在CentOS 7 的內核。
查看一下防火墻現在編輯了哪些服務和端口:firewall-cmd –list-all
一般防火墻只開啟了DHCP 客戶端和ssh 兩個服務的通訊端口,倘若日后安裝了其他網絡軟件,如web服務器,必須要檢查安裝程式有否編輯他們的通訊端口,沒有的話便要手動編輯。如果好像前面第四點那樣使用了非常規的通訊端口,也可能要手動配置防火墻。firewall幾個常用命令:
systemctl start firewalld
systemctl enable firewalld
systemctl stop firewalld
systemctl disable firewalld
firewall-cmd –help
firewall-cmd –add-service=ftp –permanent
firewall-cmd –remove-service=ftp –permanent
firewall-cmd –add-port=3128/tcp
systemctl restart firewalld
firewall-cmd –state
轉載于:https://blog.51cto.com/itpanda/1722769
總結
以上是生活随笔為你收集整理的安裝 CentOS 7 後必做的七件事的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CCNP学习笔记7-路由部分--OSPF
- 下一篇: 怎么做fastreport使用离线数据源