自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

15步戰(zhàn)略輕松提升Linux服務(wù)器安全水平

譯文
安全 網(wǎng)站安全
很多人認(rèn)為Linux天然安全——這顯然是種荒謬的誤解。想象一下,如果我們的筆記本設(shè)備未經(jīng)安全保護(hù)且被他人盜取,那么對方往往能夠輕松猜到我們的用戶名為“root”而密碼為“toor”——因?yàn)檫@是大多數(shù)人都在無腦使用的默認(rèn)組合。

【51CTO.com快譯】很多人認(rèn)為Linux天然安全——這顯然是種荒謬的誤解。想象一下,如果我們的筆記本設(shè)備未經(jīng)安全保護(hù)且被他人盜取,那么對方往往能夠輕松猜到我們的用戶名為“root”而密碼為“toor”——因?yàn)檫@是大多數(shù)人都在無腦使用的默認(rèn)組合。如果是這樣,Linux的安全性體現(xiàn)在哪里?

為了避免上述問題的出現(xiàn),我們將通過本篇文章共享15項(xiàng)重要心得,幫助大家在多種Linux發(fā)行版當(dāng)中利用其中的通用邏輯實(shí)現(xiàn)安全性強(qiáng)化。

1-記錄主機(jī)信息

在進(jìn)行系統(tǒng)保護(hù)之前,我們首先需要創(chuàng)建一份文檔,其中包含全部待檢查條目。另外,在文檔開頭,大家還需要包含以下Linux主機(jī)信息:

  • 設(shè)備名稱
  • IP地址
  • Mac地址
  • 實(shí)施安全強(qiáng)化工作的人員姓名
  • 日期
  • 資產(chǎn)編號(如果在企業(yè)當(dāng)中,則需要包含用于標(biāo)記主機(jī)的資產(chǎn)編號)

2-BIOS保護(hù)

需要利用密碼保護(hù)主機(jī)BIOS,避免最終用戶變更或者覆蓋其中的安全設(shè)定。每一家計(jì)算機(jī)制造商都會提供不同的BIOS模式進(jìn)入方式,接下來則是設(shè)定理想的管理密碼。

之后,大家需要禁用外部介質(zhì)啟動(USB/CD/DVD)。如果不變更此配置,那么任何人都能夠利用U盤啟動系統(tǒng)并訪問其中的數(shù)據(jù)。

最新的服務(wù)器主板內(nèi)包含一套內(nèi)部Web服務(wù)器,大家可以對其進(jìn)行遠(yuǎn)程訪問。確保變更管理頁面中的默認(rèn)密碼或者在可行時(shí)加以禁用。

3-硬盤加密(保密)

大多數(shù)Linux發(fā)行版允許大家在安裝前對磁盤進(jìn)行加密。磁盤加密非常重要,特別是考慮到設(shè)備失竊這種可能性的存在。

如下圖所示,大家可以從列表中選擇第三個選項(xiàng):Guided-use entire disk and set up encrypted LVM(LVM代表邏輯分卷管理器)。

如果您的Linux發(fā)行版不支持加密,則可選擇TrueCrypt等軟件方案。

4-磁盤保護(hù)(可用性)

備份對于系統(tǒng)受損以及系統(tǒng)更新bug等問題擁有良好的解決效果。對于重要服務(wù)器,我們可以考慮將備份數(shù)據(jù)傳輸至異地以實(shí)現(xiàn)災(zāi)難恢復(fù)。在設(shè)計(jì)備份方案時(shí),大家需要考慮幾項(xiàng)重要問題,包括舊備份需要保留多久、何時(shí)需要進(jìn)行系統(tǒng)備份(每天一次抑或每周一次)等。

關(guān)鍵性系統(tǒng)應(yīng)分為多個不同分區(qū):

  1. /boot 
  2. /usr 
  3. /home 
  4. /tmp 
  5. /var 
  6. /opt 

磁盤分區(qū)允許大家在遭遇系統(tǒng)錯誤時(shí)保持其性能與安全性。如下圖所示,大家可以看到該選項(xiàng)如何在Kali Linux的安裝過程中進(jìn)行分區(qū)劃分。

5-鎖定引導(dǎo)目錄

引導(dǎo)目錄中包含有與Linux內(nèi)核密切相關(guān)的重要文件,因此大家需要確保此目錄被鎖定為只讀模式。首先,打開“fstab”文件。

此后,在末尾添加最后的高亮行。

完成文件編輯后,大家需要執(zhí)行以下命令設(shè)定其擁有者:

  1. #chown root:root /etc/fstab 

此后,我設(shè)置了幾項(xiàng)權(quán)限用以保護(hù)引導(dǎo)設(shè)置:

  • 將擁有者與/etc/grub.conf組設(shè)定為root用戶:
  1. #chown root:root /etc/grub.conf 
  • 在/etc/grub.conf文件上將權(quán)限設(shè)定為僅root可讀寫:
  1. #chmod og-rwx /etc/grub.conf 
  • 單用戶模式要求使用驗(yàn)證:
  1. #sed -i "/SINGLE/s/sushell/sulogin/" /etc/sysconfig/init 
  2. #sed -i "/PROMPT/s/yes/no/" /etc/sysconfig/init 

6-禁用USB

某些高重要度系統(tǒng)需要禁用U盤使用。我們可以通過多種方式拒絕U盤存儲介質(zhì)的接入,以下介紹一種較為普遍的作法:

利用文本編輯器打開 “blacklist.conf” 文件:

  1. #nano /etc/modprobe.d/blacklist.conf 

打開后,將以下行添加至文件內(nèi)容末尾(而后保存并退出):

  1. blacklist usb_storage 

此后,打開rc.local文件:

  1. #nano /etc/rc.local 

最后,添加以下兩行:

  1. modprobe -r usb_storage  
  2. exit 0 

7-系統(tǒng)更新

在首次引導(dǎo)完成后,我們必須馬上進(jìn)行系統(tǒng)更新??傮w來講,大家只需要打開終端窗口并執(zhí)行對應(yīng)命令即可。在Kali Linux中,大家可以執(zhí)行如下圖所示的命令:

8-檢查已安裝軟件包 

列出Linux系統(tǒng)中已經(jīng)安裝的全部軟件包,并將其中不必要的部分移除。大家需要以嚴(yán)格的方式進(jìn)行篩選,這對于Linux服務(wù)器的安全保障非常重要。下面來看如何在Kali Linux中列出全部已有軟件包:

請注意,禁用不必要的服務(wù)能夠有效削減攻擊面,因此如果大家在自己的Linux服務(wù)器中找到了以下服務(wù),請馬上將其移除:

  • Telnet server
  • RSH server
  • NIS server
  • TFTP server
  • TALK server

9-檢查開放端口

正確識別指向互聯(lián)網(wǎng)的開放端口非常重要。在Kali Linux中,可使用以下命令以找到任意隱藏的開放端口:

10-保護(hù)SSH

是的,SSH確實(shí)很安全,但大家仍然需要對其加以保護(hù)。首先,如果大家能夠禁用SSH,那這本身就是個問題。另外,如果要切實(shí)加以使用,大家還需要調(diào)整SSH的默認(rèn)配置。前往/etc/ssh并打開sshd_config文件。

  • 將默認(rèn)端口數(shù)22變更為其它,例如99。
  • 確保root無法通過SSH進(jìn)行遠(yuǎn)程登錄:
  1. PermitRootLogin no 
  • 允許部分特定用戶接入:
  1. AllowUsers [username] 

當(dāng)然,需要調(diào)整的內(nèi)容遠(yuǎn)不止如此。例如,某些企業(yè)會添加屏蔽機(jī)制以避免攻擊者的進(jìn)一步深入。我建議大家查看SSH手冊以了解此文件中全部配置的含義。

以下為大家需要確保sshd_config文件中存在的部分其它選項(xiàng):

  • Protocol2
  • IgnoreRhosts to yes
  • HostbasedAuthentication no
  • PermitEmptyPasswords no
  • X11Forwarding no
  • MaxAuthTries 5
  • Ciphers aes128-ctr,aes192-ctr,aes256-ctr
  • ClientAliveInterval 900
  • ClientAliveCountMax 0
  • UsePAM yes

最后,在sshd_config上設(shè)置權(quán)限以確保只有root用戶能夠?qū)ζ鋬?nèi)容進(jìn)行變更:

  1. #chown root:root /etc/ssh/sshd_config  
  2. #chmod 600 /etc/ssh/sshd_config 

11- 啟用SELinux

安全強(qiáng)化Linux,即SELinux,是一項(xiàng)內(nèi)核安全保護(hù)機(jī)制,用于支持訪問控制安全策略。SELinux擁有以下三種配置模式:

  • Disabled: 關(guān)閉
  • Permissive: 輸出警告
  • Enforcing: 執(zhí)行策略

使用文本編輯器打開config文件:

  1. #nano /etc/selinux/config 

確保其中的策略得到執(zhí)行:

  1. SELINUX=enforcing 

12- 網(wǎng)絡(luò)參數(shù)

保護(hù)Linux主機(jī)網(wǎng)絡(luò)活動同樣非常重要。不要假定防火墻能夠搞定一切問題。下面來看在保護(hù)主機(jī)網(wǎng)絡(luò)時(shí)需要認(rèn)真考慮的幾項(xiàng)核心問題:

- 禁用IP轉(zhuǎn)發(fā):在“/etc/sysctl.conf”中將net.ipv4.ip_forward參數(shù)設(shè)定為0。

- 禁用發(fā)送包重新定向:在“/etc/sysctl.conf”中將net.ipv4.conf.all.send_redirects與net.ipv4.conf.default.send_redirects參數(shù)設(shè)定為0。

- 禁用ICMP重新定向接受:在“/etc/sysctl.conf”中net.ipv4.conf.all.accept_redirects將與net.ipv4.conf.default.accept_redirects參數(shù)設(shè)定為0。

- 啟用惡性錯誤消息保護(hù):在“/etc/sysctl.conf”中將net.ipv4.icmp_ignore_bogus_error_responses參數(shù)設(shè)定為1。

我強(qiáng)烈建議大家在Linux防火墻中應(yīng)用iptable規(guī)則并過濾全部輸入、輸出以及轉(zhuǎn)發(fā)數(shù)據(jù)包。配置適合自身需求的iptable需要耗費(fèi)一定時(shí)間,但這一切都是值得的。

13- 密碼策略

人們常常會重復(fù)使用密碼,而這顯然是一種糟糕的安全實(shí)踐。原有密碼會被存儲在/etc/security/opasswd文件當(dāng)中。我們將利用PAM模塊以管理Linux主機(jī)的安全策略。在debian發(fā)行版中,打開/etc/pam.d/common-password文件并添加以下兩行:

  1. auth sufficient pam_unix.so likeauth nullok 
  2. password sufficient pam_unix.so remember=4 (意味著用戶無法重復(fù)使用以往使用過的最后四條密碼。) 

另一項(xiàng)需要強(qiáng)制執(zhí)行的策略為強(qiáng)密碼要求。PAM模塊提供的pam_cracklib能夠保護(hù)服務(wù)器免受詞典及暴力破解攻擊的危害。要完成這項(xiàng)任務(wù),打開/etc/pam.d/system-auth文件并添加以下行:

  1. /lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1 

Linux會對密碼進(jìn)行散列處理,以避免其被保存為明文形式。因此,我們需要確保將安全密碼定義中的散列算法設(shè)定為SHA512。

另一項(xiàng)有趣的功能是在五次失敗嘗試后鎖定該賬戶。要實(shí)現(xiàn)這一效果,大家需要打開/etc/pam.d/password-auth文件并添加以下行:

  1. auth required pam_env.so  
  2. auth required pam_faillock.so preauth audit silent deny=5 unlock_time=604800  
  3. auth [success=1 default=bad] pam_unix.so  
  4. auth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=604800  
  5. auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=604800  
  6. auth required pam_deny.so 

到這里還沒有完成,我們還需要額外一項(xiàng)步驟。打開/etc/pam.d/system-auth文件并確保添加以下內(nèi)容:

  1. auth required pam_env.so  
  2. auth required pam_faillock.so preauth audit silent deny=5 unlock_time=604800  
  3. auth [success=1 default=bad] pam_unix.so  
  4. auth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=604800  
  5. auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=604800  
  6. auth required pam_deny.so 

在五次失敗嘗試后,只有管理員能夠使用以下命令解鎖該賬戶:

  1. # /usr/sbin/faillock --user <userlocked> --reset 

另外,我們也可以為密碼設(shè)置為期90天的過期時(shí)長:

  • 在“/etc/login.defs”中將PASS_MAX_DAYS參數(shù)設(shè)定為90
  • 執(zhí)行以下命令以變更活動用戶:
  1. #chage --maxdays 90 <user> 

下面這項(xiàng)提示用于強(qiáng)化密碼策略,即在/etc/pam.d/su文件內(nèi)設(shè)置參數(shù)以限制指向su命令的訪問:

  1. auth required pam_wheel.so use_uid 

最后一項(xiàng)密碼策略相關(guān)提示在于面向非root用戶禁用系統(tǒng)賬戶,具體請使用以下腳本:

  1. #!/bin/bash  
  2. for user in `awk -F: '($3 < 500) {print $1 }' /etc/passwd`; do  
  3. if [ $user != "root" ]  
  4. then  
  5. /usr/sbin/usermod -L $user  
  6. if [ $user != "sync" ] && [ $user != "shutdown" ] && [ $user != "halt" ]  
  7. then /usr/sbin/usermod -s /sbin/nologin $user  
  8. fi  
  9. fi  
  10. done 

14-權(quán)限與驗(yàn)證

請保持耐心,因?yàn)橐韵铝斜韮?nèi)容較長。不過權(quán)限正是實(shí)現(xiàn)Linux主機(jī)安全保護(hù)目標(biāo)的一大重要因素,因此值得我們多花點(diǎn)時(shí)間與精力。

執(zhí)行以下命令以在/etc/anacrontab、/etc/crontab與/etc/cron.*上設(shè)定用戶/組擁有者及權(quán)限:

  1. #chown root:root /etc/anacrontab  
  2. #chmod og-rwx /etc/anacrontab  
  3. #chown root:root /etc/crontab  
  4. #chmod og-rwx /etc/crontab  
  5. #chown root:root /etc/cron.hourly  
  6. #chmod og-rwx /etc/cron.hourly  
  7. #chown root:root /etc/cron.daily  
  8. #chmod og-rwx /etc/cron.daily  
  9. #chown root:root /etc/cron.weekly  
  10. #chmod og-rwx /etc/cron.weekly  
  11. #chown root:root /etc/cron.monthly  
  12. #chmod og-rwx /etc/cron.monthly  
  13. #chown root:root /etc/cron.d  
  14. #chmod og-rwx /etc/cron.d 

在/var/spool/cron上為root crontab設(shè)定權(quán)利與權(quán)限:

  1. #chown root:root <crontabfile>  
  2. #chmod og-rwx <crontabfile> 

在passwd文件上設(shè)置用戶/組擁有者與權(quán)限:

  1. #chmod 644 /etc/passwd 
  2. #chown root:root /etc/passwd 

在group文件上設(shè)置用戶/組擁有者與權(quán)限:

  1. #chmod 644 /etc/group  
  2. #chown root:root /etc/group 

在shadow文件上設(shè)置用戶/組擁有者與權(quán)限:

  1. #chmod 600 /etc/shadow  
  2. #chown root:root /etc/shadow 

在gshadow文件上設(shè)置用戶/組擁有者與權(quán)限:

  1. #chmod 600 /etc/gshadow  
  2. #chown root:root /etc/gshadow 

15-其它安全強(qiáng)行舉措

作為最后一項(xiàng)建議,我將與大家分享其它幾項(xiàng)重要選項(xiàng)。

首先,限制核心轉(zhuǎn)儲:

  • 向“/etc/security/limits.conf”文件添加hard core 0。
  • 向“/etc/sysctl.conf”文件添加fs.suid_dumpable = 0。

第二,配置Exec Shield:

  • 向“/etc/sysctl.conf”文件添加kernel.exec-shield = 1。

第三,啟用隨機(jī)虛擬內(nèi)存區(qū)域放置:

  • 向“/etc/sysctl.conf”文件添加kernel.randomize_va_space = 2。

原文標(biāo)題: Linux hardening: a 15-step checklist for a secure Linux server,作者: Gus Khawaja

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責(zé)任編輯:武曉燕 來源: 51CTO.com
相關(guān)推薦

2017-05-24 12:30:34

2012-11-12 13:39:29

虛擬服務(wù)器服務(wù)器安全

2010-06-11 08:59:35

采購服務(wù)器

2022-06-14 23:34:10

Linux安全服務(wù)器

2009-09-08 16:31:07

2012-12-17 11:07:22

虛擬機(jī)快照虛擬服務(wù)器備份

2009-01-23 21:33:00

2011-03-21 13:10:15

2017-02-20 10:00:33

戴爾服務(wù)器

2024-01-02 09:00:00

無服務(wù)器架構(gòu)RASP

2021-04-15 13:29:46

Linux服務(wù)器安全開源工具

2010-01-20 11:09:18

虛擬服務(wù)器安全

2025-01-07 08:55:54

2009-02-03 09:48:00

DHCP服務(wù)器安全

2009-12-22 16:55:58

惠普服務(wù)器

2018-01-31 11:20:48

2010-09-24 15:50:03

2009-02-25 14:58:00

2009-11-17 11:48:56

IT服務(wù)管理

2017-03-29 15:12:43

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號