您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何實現Ubuntu Server安全設置”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何實現Ubuntu Server安全設置”吧!
一、用戶概述
默認狀況下,ubuntu server的root用戶是不啟用的,一般用戶通過在命令前加前綴”sudo”,來暫時獲得管理員權限。隨后會提示輸入password,此password與一般用戶的密碼一樣。也可以通過 sudo –i來將一般用戶提升為超級用戶。
啟用root帳號僅需運行sudo passwd root,然后根據提示輸入密碼即可激活root.如果要關閉root用戶,僅需運行 sudo passwd –l root即可。
Root帳號的密碼和普通用戶使用sudo的密碼沒有任何聯系。root帳號和普通帳號的sudo不同之處在于,使用root帳號登陸后權限始終為管理員權限,而普通帳號的sudo,僅在執行某一命令時是管理員權限,當執行完命令后又會自動降為普通用戶權限。
二、用戶密碼的設置與恢復
使用命令 sudo passwd user-name,然后根據提示輸入sudo密碼,如果驗證通過,則會提示為user-name輸入新密碼。此命令同樣可以為root設置和恢復密碼。
三、GRUB的安全性
GRUB用于引導系統及進行系統恢復。可以通過對其進行添加操作密碼的方式,來增加其安全性。主要是對”/boot/grub/menu.lst”進行修改。示例如下:
沒有修改前:
代碼如下:
default 0 </p>
<p>timeout 10 </p>
<p>title Ubuntu,kernel 2.6.15-26-server-LAMP </p>
<p>root (hd0,2) </p>
<p>kernel /boot/vmlinuz-2.6.15-server root=/dev/hda3 ro quiet splash </p>
<p>initrd /boot/initrd.img-2.6.15-server </p>
<p>savedefault </p>
<p>boot
修改后:
代碼如下:
default 0 </p>
<p>timeout 10 </p>
<p>password=12345 </p>
<p>title Ubuntu,kernel 2.6.15-26-server-LAMP </p>
<p>lock </p>
<p>root (hd0,2) </p>
<p>kernel /boot/vmlinuz-2.6.15-server root=/dev/hda3 ro quiet splash </p>
<p>initrd /boot/initrd.img-2.6.15-server </p>
<p>savedefault </p>
<p>boot
然后reboot系統,待出現GRUB畫面時,將光標移到該選項處,按下‘p’,輸入密碼12345即可。通過這種方式,可以有效地防止通過recovery mode進行惡意破壞,如修改root密碼等。
由于以上方式的密碼是以明文的形式出現在menu.lst中,也具有危險性,因此可采取對其加密的方式。具體如下:
sudo grub-md5-crytp ,然后根據提示輸入兩遍 12345(請更改為任意字符),之后出現31個字符,記錄下該字符串。將password=12345 修改為password --md5 31位字符串,reboot系統即可。
四、使用救援光碟恢復系統
當忘掉GRUB密碼或因某種原因GRUB無法啟動,此時即可使用救援光碟。將光碟放入CDROM,reboot系統,待出現啟動條目時,移動光標至”Resuce broken system”.隨后會自動監測系統硬件,如語言種類、網路接口、硬盤等。最后將出現命令行選項:
代碼如下:
Execute a Shell in /dev/discs/disc0/part1 </p>
<p>Execute a Shell in the installer environment </p>
<p>Reinstall GRUB boot loader </p>
<p>Choose a different root file system </p>
<p>Reboot the system
選擇第一項,隨后進入bash shell。
注意:/dev/discs/disc0/part1 中的part1表示欲恢復的系統安裝的分區,應根據實際情況選擇。
五、Summary
處于安全考慮:
1 root帳戶應該disable;
2 GRUB應設置MD5密碼;
3 應設置BIOS,使禁止從CD-ROM啟動系統。
六、確保SSH的安全性
SSH對于遠程管理一臺服務器來說是一個好方法。然而,SSH仍然存在著諸多問題。服務器和客戶端的通信是安全的,不過這并不意味著涉及到的主機也是安全的。向外部世界打開一個SSH服務也就意味著允許強力攻擊。
我們可以采取一些極為簡單的方法來真正地強化經由SSH的遠程訪問,特別是我們不能將這種服務與源端口的一個有限數量相聯系時。
先說一件重要的事情,sshd_config。在Ubuntu中,這通常在/etc/ssh中可以找到,它可以用于配置大量的特性。最簡單的往往是最好的。限制可以通過SSH登錄的用戶是一個首要的原則。這可以用如下兩種方法完成:根據用戶或者根據組。AllowGroups允許一個組的任何經鑒定的用戶通過SSH訪問服務器。不過,一個更加精細的方法是使用AllowUsers選項。
另一個簡單的方法是將監聽端口從22號端口移到某個其它的隨機指定的端口。這就減少了顯示SSHD運行狀態掃描的可能性。
我們還可以禁用對根的訪問,并禁用口令驗證而只使用密鑰驗證。
下一步就是使用一個稱為Denyhosts的小工具,大家可以從http://denyhosts.sourceforge.net/下載它。我們一定要保證啟用/etc/apt/source.list中的資源,然后鍵入下面的命令:
代碼如下:
sudo apt-get update
sudo apt-get install denyhosts
DenyHosts意在由Linux系統管理員運行,以幫助其挫敗對SSH服務器的攻擊(也稱為基于字典的攻擊或強力攻擊)的企圖。
DenyHosts充當著一個對SSH和其它服務的動態阻擊器,它依靠/etc/hosts.deny和 hosts.allow進行工作,并能夠以動態方式構建重復地與我們的服務器連接的主機列表。默認情況下,這項服務會阻止來自那些不斷地試圖與我們的主機連接并實施訪問的IP地址源。Denyhosts的處理在/etc/denyhosts.conf中進行配置。
我們還可以通過Iptables行連接速率的限制,而且我們還應該在服務器上部署防火墻。
一旦這些布置停當,我們就會確信自己在一臺面向公眾的主機上擁有了一個更加安全的SSH。
感謝各位的閱讀,以上就是“如何實現Ubuntu Server安全設置”的內容了,經過本文的學習后,相信大家對如何實現Ubuntu Server安全設置這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。