本文將向你介紹基本的 Linux 服務(wù)器安全知識。雖然主要針對 Debian/Ubuntu,但是你可以將此處介紹的所有內(nèi)容應(yīng)用于其他 Linux 發(fā)行版。我也鼓勵你研究這份材料,并在適當(dāng)?shù)那闆r下進(jìn)行擴(kuò)展。
站在用戶的角度思考問題,與客戶深入溝通,找到新河網(wǎng)站設(shè)計與新河網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋新河地區(qū)。
1、更新你的服務(wù)器
保護(hù)服務(wù)器安全的第一件事是更新本地存儲庫,并通過應(yīng)用最新的修補(bǔ)程序來升級操作系統(tǒng)和已安裝的應(yīng)用程序。
在 Ubuntu 和 Debian 上:
$ sudo apt update sudo apt upgrade -y
在 Fedora、CentOS 或 RHEL:
$ sudo dnf upgrade
2、創(chuàng)建一個新的特權(quán)用戶
接下來,創(chuàng)建一個新的用戶帳戶。永遠(yuǎn)不要以 root 身份登錄服務(wù)器,而是創(chuàng)建你自己的帳戶(用戶),賦予它 sudo 權(quán)限,然后使用它登錄你的服務(wù)器。
首先創(chuàng)建一個新用戶:
$ adduser username
通過將 sudo 組(-G)附加(-a)到用戶的組成員身份里,從而授予新用戶帳戶 sudo 權(quán)限:
$ usermod -a -G sudo username
3、上傳你的 SSH 密鑰
你應(yīng)該使用 SSH 密鑰登錄到新服務(wù)器。你可以使用 ssh-copy-id 命令將 預(yù)生成的 SSH 密鑰 上傳到你的新服務(wù)器:
$ ssh-copy-id username@ip_address
現(xiàn)在,你無需輸入密碼即可登錄到新服務(wù)器。
4、安全強(qiáng)化 SSH
接下來,進(jìn)行以下三個更改:
禁用 SSH 密碼認(rèn)證
限制 root 遠(yuǎn)程登錄
限制對 IPv4 或 IPv6 的訪問
使用你選擇的文本編輯器打開 /etc/ssh/sshd_config 并確保以下行:
PasswordAuthentication yes
PermitRootLogin yes
改成這樣:
PasswordAuthentication no
PermitRootLogin no
接下來,通過修改 AddressFamily 選項將 SSH 服務(wù)限制為 IPv4 或 IPv6。要將其更改為僅使用 IPv4(對大多數(shù)人來說應(yīng)該沒問題),請進(jìn)行以下更改:
AddressFamily inet
重新啟動 SSH 服務(wù)以啟用你的更改。請注意,在重新啟動 SSH 服務(wù)之前,與服務(wù)器建立兩個活動連接是一個好主意。有了這些額外的連接,你可以在重新啟動 SSH 服務(wù)出錯的情況下修復(fù)所有問題。
在 Ubuntu 上:
$ sudo service sshd restart
在 Fedora 或 CentOS 或任何使用 Systemd 的系統(tǒng)上:
$ sudo systemctl restart sshd
5、啟用防火墻
現(xiàn)在,你需要安裝防火墻、啟用防火墻并對其進(jìn)行配置,以僅允許你指定的網(wǎng)絡(luò)流量通過。(Ubuntu 上的) 簡單的防火墻 (UFW)是一個易用的 iptables 界面,可大大簡化防火墻的配置過程。
你可以通過以下方式安裝 UFW:
$ sudo apt install ufw
默認(rèn)情況下,UFW 拒絕所有傳入連接,并允許所有傳出連接。這意味著服務(wù)器上的任何應(yīng)用程序都可以訪問互聯(lián)網(wǎng),但是任何嘗試訪問服務(wù)器的內(nèi)容都無法連接。
首先,確保你可以通過啟用對 SSH、HTTP 和 HTTPS 的訪問來登錄:
$ sudo ufw allow ssh
$ sudo ufw allow http
$ sudo ufw allow https
然后啟用 UFW:
$ sudo ufw enable
你可以通過以下方式查看允許和拒絕了哪些服務(wù):
$ sudo ufw status
如果你想禁用 UFW,可以通過鍵入以下命令來禁用:
$ sudo ufw disable
你還可以(在 RHEL/CentOS 上)使用 firewall-cmd ,它已經(jīng)安裝并集成到某些發(fā)行版中。
6、安裝 Fail2ban
Fail2ban 是一種用于檢查服務(wù)器日志以查找重復(fù)或自動攻擊的應(yīng)用程序。如果找到任何攻擊,它會更改防火墻以永久地或在指定的時間內(nèi)阻止攻擊者的 IP 地址。
你可以通過鍵入以下命令來安裝 Fail2ban:
$ sudo apt install fail2ban -y
然后復(fù)制隨附的配置文件:
$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
重啟 Fail2ban:
$ sudo service fail2ban restart
這樣就行了。該軟件將不斷檢查日志文件以查找攻擊。一段時間后,該應(yīng)用程序?qū)⒔⑾喈?dāng)多的封禁的 IP 地址列表。你可以通過以下方法查詢 SSH 服務(wù)的當(dāng)前狀態(tài)來查看此列表:
$ sudo fail2ban-client status ssh
7、移除無用的網(wǎng)絡(luò)服務(wù)
幾乎所有 Linux 服務(wù)器操作系統(tǒng)都啟用了一些面向網(wǎng)絡(luò)的服務(wù)。你可能希望保留其中大多數(shù),然而,有一些你或許希望刪除。你可以使用 ss 命令查看所有正在運(yùn)行的網(wǎng)絡(luò)服務(wù):(LCTT 譯注:應(yīng)該是只保留少部分,而所有確認(rèn)無關(guān)的、無用的服務(wù)都應(yīng)該停用或刪除。)
$ sudo ss -atpu
ss 的輸出取決于你的操作系統(tǒng)。下面是一個示例,它顯示 SSH(sshd)和 Ngnix(nginx)服務(wù)正在偵聽網(wǎng)絡(luò)并準(zhǔn)備連接:
tcp LISTEN 0 128 *:http *:* users:(("nginx",pid=22563,fd=7))
tcp LISTEN 0 128 *:ssh *:* users:(("sshd",pid=685,fd=3))
刪除未使用的服務(wù)的方式因你的操作系統(tǒng)及其使用的程序包管理器而異。
要在 Debian / Ubuntu 上刪除未使用的服務(wù):
$ sudo apt purge service_name
要在 Red Hat/CentOS 上刪除未使用的服務(wù):
$ sudo yum remove service_name
再次運(yùn)行 ss -atup 以確認(rèn)這些未使用的服務(wù)沒有安裝和運(yùn)行。
以上文章來源,歡迎一起交流討論學(xué)習(xí)。
隨著開源系統(tǒng)Linux的盛行,其在大中型企業(yè)的應(yīng)用也在逐漸普及,很多企業(yè)的應(yīng)用服務(wù)都是構(gòu)筑在其之上,例如Web服務(wù)、數(shù)據(jù)庫服務(wù)、集群服務(wù)等等。因此,Linux的安全性就成為了企業(yè)構(gòu)筑安全應(yīng)用的一個基礎(chǔ),是重中之重,如何對其進(jìn)行安全防護(hù)是企業(yè)需要解決的一個基礎(chǔ)性問題,基于此,本文將給出十大企業(yè)級Linux服務(wù)器安全防護(hù)的要點。 1、強(qiáng)化:密碼管理 設(shè)定登錄密碼是一項非常重要的安全措施,如果用戶的密碼設(shè)定不合適,就很容易被破譯,尤其是擁有超級用戶使用權(quán)限的用戶,如果沒有良好的密碼,將給系統(tǒng)造成很大的安全漏洞。 目前密碼破解程序大多采用字典攻擊以及暴力攻擊手段,而其中用戶密碼設(shè)定不當(dāng),則極易受到字典攻擊的威脅。很多用戶喜歡用自己的英文名、生日或者賬戶等信息來設(shè)定密碼,這樣,黑客可能通過字典攻擊或者是社會工程的手段來破解密碼。所以建議用戶在設(shè)定密碼的過程中,應(yīng)盡量使用非字典中出現(xiàn)的組合字符,并且采用數(shù)字與字符相結(jié)合、大小寫相結(jié)合的密碼設(shè)置方式,增加密碼被黑客破解的難度。而且,也可以使用定期修改密碼、使密碼定期作廢的方式,來保護(hù)自己的登錄密碼。 在多用戶系統(tǒng)中,如果強(qiáng)迫每個用戶選擇不易猜出的密碼,將大大提高系統(tǒng)的安全性。但如果passwd程序無法強(qiáng)迫每個上機(jī)用戶使用恰當(dāng)?shù)拿艽a,要確保密碼的安全度,就只能依靠密碼破解程序了。實際上,密碼破解程序是黑客工具箱中的一種工具,它將常用的密碼或者是英文字典中所有可能用來作密碼的字都用程序加密成密碼字,然后將其與Linux系統(tǒng)的/etc/passwd密碼文件或/etc/shadow影子文件相比較,如果發(fā)現(xiàn)有吻合的密碼,就可以求得明碼了。在網(wǎng)絡(luò)上可以找到很多密碼破解程序,比較有名的程序是crack和john the ripper.用戶可以自己先執(zhí)行密碼破解程序,找出容易被黑客破解的密碼,先行改正總比被黑客破解要有利。 2、限定:網(wǎng)絡(luò)服務(wù)管理 早期的Linux版本中,每一個不同的網(wǎng)絡(luò)服務(wù)都有一個服務(wù)程序(守護(hù)進(jìn)程,Daemon)在后臺運(yùn)行,后來的版本用統(tǒng)一的/etc/inetd服務(wù)器程序擔(dān)此重任。Inetd是Internetdaemon的縮寫,它同時監(jiān)視多個網(wǎng)絡(luò)端口,一旦接收到外界傳來的連接信息,就執(zhí)行相應(yīng)的TCP或UDP網(wǎng)絡(luò)服務(wù)。由于受inetd的統(tǒng)一指揮,因此Linux中的大部分TCP或UDP服務(wù)都是在/etc/inetd.conf文件中設(shè)定。所以取消不必要服務(wù)的第一步就是檢查/etc/inetd.conf文件,在不要的服務(wù)前加上“#”號。 一般來說,除了http、smtp、telnet和ftp之外,其他服務(wù)都應(yīng)該取消,諸如簡單文件傳輸協(xié)議tftp、網(wǎng)絡(luò)郵件存儲及接收所用的imap/ipop傳輸協(xié)議、尋找和搜索資料用的gopher以及用于時間同步的daytime和time等。還有一些報告系統(tǒng)狀態(tài)的服務(wù),如finger、efinger、systat和netstat等,雖然對系統(tǒng)查錯和尋找用戶非常有用,但也給黑客提供了方便之門。例如,黑客可以利用finger服務(wù)查找用戶的電話、使用目錄以及其他重要信息。因此,很多Linux系統(tǒng)將這些服務(wù)全部取消或部分取消,以增強(qiáng)系統(tǒng)的安全性。Inetd除了利用/etc/inetd.conf設(shè)置系統(tǒng)服務(wù)項之外,還利用/etc/services文件查找各項服務(wù)所使用的端口。因此,用戶必須仔細(xì)檢查該文件中各端口的設(shè)定,以免有安全上的漏洞。 在后繼的Linux版本中(比如Red Hat Linux7.2之后),取而代之的是采用xinetd進(jìn)行網(wǎng)絡(luò)服務(wù)的管理。 當(dāng)然,具體取消哪些服務(wù)不能一概而論,需要根據(jù)實際的應(yīng)用情況來定,但是系統(tǒng)管理員需要做到心中有數(shù),因為一旦系統(tǒng)出現(xiàn)安全問題,才能做到有步驟、有條不紊地進(jìn)行查漏和補(bǔ)救工作,這點比較重要。 3、嚴(yán)格審計:系統(tǒng)登錄用戶管理 在進(jìn)入Linux系統(tǒng)之前,所有用戶都需要登錄,也就是說,用戶需要輸入用戶賬號和密碼,只有它們通過系統(tǒng)驗證之后,用戶才能進(jìn)入系統(tǒng)。 與其他Unix操作系統(tǒng)一樣,Linux一般將密碼加密之后,存放在/etc/passwd文件中。Linux系統(tǒng)上的所有用戶都可以讀到/etc/passwd文件,雖然文件中保存的密碼已經(jīng)經(jīng)過加密,但仍然不太安全。因為一般的用戶可以利用現(xiàn)成的密碼破譯工具,以窮舉法猜測出密碼。比較安全的方法是設(shè)定影子文件/etc/shadow,只允許有特殊權(quán)限的用戶閱讀該文件。 在Linux系統(tǒng)中,如果要采用影子文件,必須將所有的公用程序重新編譯,才能支持影子文件。這種方法比較麻煩,比較簡便的方法是采用插入式驗證模塊(PAM)。很多Linux系統(tǒng)都帶有Linux的工具程序PAM,它是一種身份驗證機(jī)制,可以用來動態(tài)地改變身份驗證的方法和要求,而不要求重新編譯其他公用程序。這是因為PAM采用封閉包的方式,將所有與身份驗證有關(guān)的邏輯全部隱藏在模塊內(nèi),因此它是采用影子檔案的最佳幫手。 此外,PAM還有很多安全功能:它可以將傳統(tǒng)的DES加密方法改寫為其他功能更強(qiáng)的加密方法,以確保用戶密碼不會輕易地遭人破譯;它可以設(shè)定每個用戶使用電腦資源的上限;它甚至可以設(shè)定用戶的上機(jī)時間和地點。 Linux系統(tǒng)管理人員只需花費(fèi)幾小時去安裝和設(shè)定PAM,就能大大提高Linux系統(tǒng)的安全性,把很多攻擊阻擋在系統(tǒng)之外。 4、設(shè)定:用戶賬號安全等級管理 除密碼之外,用戶賬號也有安全等級,這是因為在Linux上每個賬號可以被賦予不同的權(quán)限,因此在建立一個新用戶ID時,系統(tǒng)管理員應(yīng)該根據(jù)需要賦予該賬號不同的權(quán)限,并且歸并到不同的用戶組中。 在Linux系統(tǒng)中的部分文件中,可以設(shè)定允許上機(jī)和不允許上機(jī)人員的名單。其中,允許上機(jī)人員名單在/etc/hosts.allow中設(shè)置,不允許上機(jī)人員名單在/etc/hosts.deny中設(shè)置。此外,Linux將自動把允許進(jìn)入或不允許進(jìn)入的結(jié)果記錄到/var/log/secure文件中,系統(tǒng)管理員可以據(jù)此查出可疑的進(jìn)入記錄。 每個賬號ID應(yīng)該有專人負(fù)責(zé)。在企業(yè)中,如果負(fù)責(zé)某個ID的職員離職,管理員應(yīng)立即從系統(tǒng)中刪除該賬號。很多入侵事件都是借用了那些很久不用的賬號。 在用戶賬號之中,黑客最喜歡具有root權(quán)限的賬號,這種超級用戶有權(quán)修改或刪除各種系統(tǒng)設(shè)置,可以在系統(tǒng)中暢行無阻。因此,在給任何賬號賦予root權(quán)限之前,都必須仔細(xì)考慮。 Linux系統(tǒng)中的/etc/securetty文件包含了一組能夠以root賬號登錄的終端機(jī)名稱。例如,在RedHatLinux系統(tǒng)中,該文件的初始值僅允許本地虛擬控制臺(rtys)以root權(quán)限登錄,而不允許遠(yuǎn)程用戶以root權(quán)限登錄。最好不要修改該文件,如果一定要從遠(yuǎn)程登錄為root權(quán)限,最好是先以普通賬號登錄,然后利用su命令升級為超級用戶。 5、謹(jǐn)慎使用:“r系列”遠(yuǎn)程程序管理 在Linux系統(tǒng)中有一系列r字頭的公用程序,比如rlogin,rcp等等。它們非常容易被黑客用來入侵我們的系統(tǒng),因而非常危險,因此絕對不要將root賬號開放給這些公用程序。由于這些公用程序都是用。rhosts文件或者h(yuǎn)osts.equiv文件核準(zhǔn)進(jìn)入的,因此一定要確保root賬號不包括在這些文件之內(nèi)。 由于r等遠(yuǎn)程指令是黑客們用來攻擊系統(tǒng)的較好途徑,因此很多安全工具都是針對這一安全漏洞而設(shè)計的。例如,PAM工具就可以用來將r字頭公用程序有效地禁止掉,它在/etc/pam.d/rlogin文件中加上登錄必須先核準(zhǔn)的指令,使整個系統(tǒng)的用戶都不能使用自己home目錄下的。rhosts文件。 6、限制:root用戶權(quán)限管理 Root一直是Linux保護(hù)的重點,由于它權(quán)力無限,因此最好不要輕易將超級用戶授權(quán)出去。但是,有些程序的安裝和維護(hù)工作必須要求有超級用戶的權(quán)限,在這種情況下,可以利用其他工具讓這類用戶有部分超級用戶的權(quán)限。sudo就是這樣的工具。 sudo程序允許一般用戶經(jīng)過組態(tài)設(shè)定后,以用戶自己的密碼再登錄一次,取得超級用戶的權(quán)限,但只能執(zhí)行有限的幾個指令。例如,應(yīng)用sudo后,可以讓管理磁帶備份的管理人員每天按時登錄到系統(tǒng)中,取得超級用戶權(quán)限去執(zhí)行文檔備份工作,但卻沒有特權(quán)去作其他只有超級用戶才能作的工作。 sudo不但限制了用戶的權(quán)限,而且還將每次使用sudo所執(zhí)行的指令記錄下來,不管該指令的執(zhí)行是成功還是失敗。在大型企業(yè)中,有時候有許多人同時管理Linux系統(tǒng)的各個不同部分,每個管理人員都有用sudo授權(quán)給某些用戶超級用戶權(quán)限的能力,從sudo的日志中,可以追蹤到誰做了什么以及改動了系統(tǒng)的哪些部分。 值得注意的是,sudo并不能限制所有的用戶行為,尤其是當(dāng)某些簡單的指令沒有設(shè)置限定時,就有可能被黑客濫用。例如,一般用來顯示文件內(nèi)容的/etc/cat指令,如果有了超級用戶的權(quán)限,黑客就可以用它修改或刪除一些重要的文件。 7、追蹤黑客蹤跡:日志管理 當(dāng)用戶仔細(xì)設(shè)定了各種與Linux相關(guān)的配置(最常用日志管理選項),并且安裝了必要的安全防護(hù)工具之后,Linux操作系統(tǒng)的安全性的確大為提高,但是卻并不能保證防止那些比較熟練的網(wǎng)絡(luò)黑客的入侵。 在平時,網(wǎng)絡(luò)管理人員要經(jīng)常提高警惕,隨時注意各種可疑狀況,并且按時檢查各種系統(tǒng)日志文件,包括一般信息日志、網(wǎng)絡(luò)連接日志、文件傳輸日志以及用戶登錄日志等。在檢查這些日志時,要注意是否有不合常理的時間記載。例如: 正常用戶在半夜三更登錄; 不正常的日志記錄,比如日志只記錄了一半就切斷了,或者整個日志文件被刪除了; 用戶從陌生的網(wǎng)址進(jìn)入系統(tǒng); 因密碼錯誤或用戶賬號錯誤被擯棄在外的日志記錄,尤其是那些一再連續(xù)嘗試進(jìn)入失敗,但卻有一定模式的試錯法; 非法使用或不正當(dāng)使用超級用戶權(quán)限su的指令; 重新開機(jī)或重新啟動各項服務(wù)的記錄。 上述這些問題都需要系統(tǒng)管理員隨時留意系統(tǒng)登錄的用戶狀況以及查看相應(yīng)日志文件,許多背離正常行為的蛛絲馬跡都應(yīng)當(dāng)引起高度注意。 8、橫向擴(kuò)展:綜合防御管理 防火墻、IDS等防護(hù)技術(shù)已經(jīng)成功地應(yīng)用到網(wǎng)絡(luò)安全的各個領(lǐng)域,而且都有非常成熟的產(chǎn)品。 在Linux系統(tǒng)來說,有一個自帶的Netfilter/Iptables防火墻框架,通過合理地配置其也能起到主機(jī)防火墻的功效。在Linux系統(tǒng)中也有相應(yīng)的輕量級的網(wǎng)絡(luò)入侵檢測系統(tǒng)Snort以及主機(jī)入侵檢測系統(tǒng)LIDS(Linux Intrusion Detection System),使用它們可以快速、高效地進(jìn)行防護(hù)。 需要提醒注意的是:在大多數(shù)的應(yīng)用情境下,我們需要綜合使用這兩項技術(shù),因為防火墻相當(dāng)于安全防護(hù)的第一層,它僅僅通過簡單地比較IP地址/端口對來過濾網(wǎng)絡(luò)流量,而IDS更加具體,它需要通過具體的數(shù)據(jù)包(部分或者全部)來過濾網(wǎng)絡(luò)流量,是安全防護(hù)的第二層。綜合使用它們,能夠做到互補(bǔ),并且發(fā)揮各自的優(yōu)勢,最終實現(xiàn)綜合防御。 9、評測:漏洞追蹤及管理 Linux作為一種優(yōu)秀的開源軟件,其自身的發(fā)展也日新月異,同時,其存在的問題也會在日后的應(yīng)用中慢慢暴露出來。黑客對新技術(shù)的關(guān)注從一定程度上來說要高于我們防護(hù)人員,所以要想在網(wǎng)絡(luò)攻防的戰(zhàn)爭中處于有利地位,保護(hù)Linux系統(tǒng)的安全,就要求我們要保持高度的警惕性和對新技術(shù)的高度關(guān)注。用戶特別是使用Linux作為關(guān)鍵業(yè)務(wù)系統(tǒng)的系統(tǒng)管理員們,需要通過Linux的一些權(quán)威網(wǎng)站和論壇上盡快地獲取有關(guān)該系統(tǒng)的一些新技術(shù)以及一些新的系統(tǒng)漏洞的信息,進(jìn)行漏洞掃描、滲透測試等系統(tǒng)化的相關(guān)配套工作,做到防范于未然,提早行動,在漏洞出現(xiàn)后甚至是出現(xiàn)前的最短時間內(nèi)封堵系統(tǒng)的漏洞,并且在實踐中不斷地提高安全防護(hù)的技能,這樣才是一個比較的解決辦法和出路。 10、保持更新:補(bǔ)丁管理 Linux作為一種優(yōu)秀的開源軟件,其穩(wěn)定性、安全性和可用性有極為可靠的保證,世界上的Linux高手共同維護(hù)著個優(yōu)秀的產(chǎn)品,因而起流通渠道很多,而且經(jīng)常有更新的程序和系統(tǒng)補(bǔ)丁出現(xiàn),因此,為了加強(qiáng)系統(tǒng)安全,一定要經(jīng)常更新系統(tǒng)內(nèi)核。 Kernel是Linux操作系統(tǒng)的核心,它常駐內(nèi)存,用于加載操作系統(tǒng)的其他部分,并實現(xiàn)操作系統(tǒng)的基本功能。由于Kernel控制計算機(jī)和網(wǎng)絡(luò)的各種功能,因此,它的安全性對整個系統(tǒng)安全至關(guān)重要。早期的Kernel版本存在許多眾所周知的安全漏洞,而且也不太穩(wěn)定,只有2.0.x以上的版本才比較穩(wěn)定和安全(一般說來,內(nèi)核版本號為偶數(shù)的相對穩(wěn)定,而為奇數(shù)的則一般為測試版本,用戶們使用時要多留意),新版本的運(yùn)行效率也有很大改觀。在設(shè)定Kernel的功能時,只選擇必要的功能,千萬不要所有功能照單全收,否則會使Kernel變得很大,既占用系統(tǒng)資源,也給黑客留下可乘之機(jī)。 在Internet上常常有最新的安全修補(bǔ)程序,Linux系統(tǒng)管理員應(yīng)該消息靈通,經(jīng)常光顧安全新聞組,查閱新的修補(bǔ)程序。
linux管理常見錯誤一:隨意許可,原因是不理解許可
如果對許可配置不當(dāng),就會給黑客留下機(jī)會。處理許可問題的最簡單方法是使用所謂的RWE方法,即Read(讀取)、Write(寫入)、Execute(執(zhí)行)。假設(shè)你想讓一個用戶能夠讀取一個文件但不能寫入文件。為此,你可以執(zhí)行:chmod
u+w,u-rx 文件名,一些新用戶可能會看到一個錯誤,說他們沒有使用文件的許可,因此他們就使用了:Chmod 777
文件名,以為這樣能夠避免問題。但這樣做實際上會導(dǎo)致更多的問題,因為它給了文件的可執(zhí)行的權(quán)限。
記住這一點:777將一個文件的讀取、寫入、執(zhí)行的許可給了所有用戶,666將一個文件的讀取、寫入權(quán)限給了所有用戶,而555將文件的讀取、執(zhí)行權(quán)限給了所有用戶,還有444、333、222、111等等。
linux管理常見錯誤二:忽視更新
這并不是說Linux管理員缺乏技巧。不過,許多Linux管理員在運(yùn)行了Linux之后,以為日后就無事可做了,以為它安全可靠。其實,新的更新可以為一些新的漏洞打上補(bǔ)丁。維持更新可以在一個易受損的系統(tǒng)與一個安全的系統(tǒng)之間構(gòu)造分水嶺。Linux的安全來自于不斷地維護(hù)。為了實現(xiàn)安全性,為了使用一些新的特性和穩(wěn)定性,任何管理員都應(yīng)當(dāng)跟上Linux的更新步伐。
linux管理常見錯誤三:不經(jīng)過嚴(yán)格審核,從多種渠道下載安裝各種類型的應(yīng)用程序
乍看起來,這也許是一個不錯的主意。如果你在運(yùn)行Ubuntu,你會知道包管理程序使用的是。deb軟件包。不過,你找到的許多應(yīng)用程序是以源代碼的形式提供的。沒有問題嗎?這些程序安裝后也許能夠正常工作。但是你為什么不能隨意安裝程序呢?道理很簡單,如果你以源的形式安裝了程序,那么,你的軟件包管理系統(tǒng)將無法跟蹤你所安裝的東西。
因此,在程序包A(以源的形式安裝)依賴于程序包B(從一個。deb庫安裝的),而軟件包B是從更新管理器更新的時候,會發(fā)生什么事情呢?程序包A可能運(yùn)行,也可能無法運(yùn)行。不過,如果程序包A和B都從。deb庫安裝的話,二者都能運(yùn)行的機(jī)會將更高。此外,在所有的程序包都來自于同樣的二進(jìn)制類型時,更新程序包將更為容易。
linux管理常見錯誤四:將服務(wù)器啟動進(jìn)入到X
在一臺機(jī)器是專用服務(wù)器時,你可能會想到安裝X,這樣一些管理任務(wù)就會簡單一些。不過,這并不意味著用戶需要將服務(wù)器啟動進(jìn)入到X.這樣會浪費(fèi)珍貴的內(nèi)存和CPU資源。相反地,你應(yīng)當(dāng)在級別3上停止啟動過程,進(jìn)入命令行模式。這樣做不但會將所有的資源留給服務(wù)器,而且還會防止泄露機(jī)器的機(jī)密。要登錄到X,用戶只需要以命令行方式登錄,然后鍵入startx進(jìn)入到桌面。
linux管理常見錯誤五:糟糕的口令
記住,root
的口令通常是linux王國的關(guān)鍵。所以為什么要讓root的口令那么容易被破解呢?保障你的用戶口令的健壯性至關(guān)重要。如果你的口令比較長,且難于記憶,可將這個口令存放在一個可被加密的位置。在需要這個口令時,可用解密軟件解開這個口令使用之。
linux管理常見錯誤六:沒有備份關(guān)鍵的配置文件
許多管理員都有這樣的體會,在升級到某個X版本,如X11之后,卻發(fā)現(xiàn)新版本破壞了你的xorg.conf配置文件,以至于你再也無法使用X?建議你在升級X之前,先對以前的/etc/x11/xorg.conf作一個備份,以免升級失敗。當(dāng)然,X的升級程序會設(shè)法為用戶備份xorg.conf文件,但它卻在/etc/x11目錄內(nèi)備份。即使這種備份看起來不錯,你最好還是自己做一個備份吧。筆者的一個習(xí)慣是將其備份到/root目錄中,這樣,用戶就可以知道只有根(root)用戶能夠訪問此文件。記住,安全第一。這里的方法也適用于其它的關(guān)鍵備份,如Samba、Apache、Mysql等。
linux管理常見錯誤七:忽視日志文件
/var/log的存在是有理由的。這是存放所有的日志文件的唯一位置。在發(fā)生問題時,你首先需要看一下這里。檢查安全問題,可看一下/var/log/secure.筆者看的第一個位置是/var/log/messages.這個日志文件保存著所有的一般性錯誤。在此文件中,你可以得到關(guān)于網(wǎng)絡(luò)、媒體變更等消息。在管理一臺機(jī)器時,用戶可以使用某個第三方的應(yīng)用程序,如logwatch,這樣就可以創(chuàng)建為用戶創(chuàng)建基于/var/log文件的各種報告。
linux管理常見錯誤八:沒有安裝一個可正常運(yùn)行的內(nèi)核
你可能不會在一臺機(jī)器上安裝10個以上的內(nèi)核。但你需要更新內(nèi)核,這種更新并沒有刪除以前的內(nèi)核。你是怎么做的呢?你一直保持使用最近的可正常工作的內(nèi)核。假設(shè)你目前正常工作的內(nèi)核是2.6.22,而2.6.20是備份內(nèi)核。如果你更新到2.6.26,而在新內(nèi)核中一切都工作正常,你就可以刪除2.6.20了。
linux管理常見錯誤九:逃避使用命令行
恐怕很少有人愿意記住那么多命令。在大多數(shù)情況下,圖形用戶界面是許多人的最愛。不過,有時,命令行使用起來更加容易、快捷、安全、可靠。逃避使用命令行是Linux管理的大忌。管理員至少應(yīng)當(dāng)理解命令行是如何工作的,至少還要掌握一些重要的管理命令。
linux管理常見錯誤十:以根用戶身份登錄
這是一種很危險的錯誤。如果用戶需要根特權(quán)來執(zhí)行或配置一個應(yīng)用程序,可以在一個標(biāo)準(zhǔn)的用戶賬戶中使用su切換到root用戶。登錄到root為什么不是一件好事兒?在用戶以標(biāo)準(zhǔn)用戶身份登錄時,所有正在運(yùn)行的X應(yīng)用程序仍擁有僅限于此用戶的訪問權(quán)。如果用戶以根用戶身份登錄,X就擁有了root的許可。這就會導(dǎo)致兩個問題,一、如果用戶由GUI犯了一個大錯,這個錯誤對系統(tǒng)來說,有可能是一個巨大的災(zāi)難。二、以根用戶的身份運(yùn)行X使得系統(tǒng)更易于遭受攻擊。
一、強(qiáng)化密碼強(qiáng)度
只要涉及到登錄,就需要用到密碼,如果密碼設(shè)定不恰當(dāng),就很容易被黑客破解,如果是超級管理員(root)用戶,如果沒有設(shè)立良好的密碼機(jī)制,可能給系統(tǒng)造成無法挽回的后果。
很多用戶喜歡用自己的生日、姓名、英文名等信息來設(shè)定,這些方式可以通過字典或者社會工程的手段去破解,因此建議用戶在設(shè)定密碼時,盡量使用非字典中出現(xiàn)的組合字符,且采用數(shù)字與字符、大小寫相結(jié)合的密碼,增加密碼被破譯的難度。
二、登錄用戶管理
進(jìn)入Linux系統(tǒng)前,都是需要登錄的,只有通過系統(tǒng)驗證后,才能進(jìn)入Linux操作系統(tǒng),而Linux一般將密碼加密后,存放在/etc/passwd文件中,那么所有用戶都可以讀取此文件,雖然其中保存的密碼已加密,但安全系數(shù)仍不高,因此可以設(shè)定影子文件/etc/shadow,只允許有特殊權(quán)限的用戶操作。
三、賬戶安全等級管理
在Linux操作系統(tǒng)上,每個賬戶可以被賦予不同的權(quán)限,因此在建立一個新用戶ID時,系統(tǒng)管理員應(yīng)根據(jù)需要賦予該賬號不同的權(quán)限,且歸并到不同的用戶組中。每個賬號ID應(yīng)有專人負(fù)責(zé),在企業(yè)中,如果負(fù)責(zé)某個ID的員工離職,該立即從系統(tǒng)中刪除該賬號。
四、謹(jǐn)慎使用"r"系列遠(yuǎn)程程序管理
在Linux操作系統(tǒng)中,有一系列r開頭的公用程序,如rlogin、rcp等,非常容易被不法分子用來攻擊我們的系統(tǒng),因此千萬不要將root賬號開放給這些公用程序,現(xiàn)如今很多安全工具都是針對此漏洞而設(shè)計的,比如PAM工具,就可以將其有效地禁止掉。
五、root用戶權(quán)限管理
root可謂是Linux重點保護(hù)對象,因為其權(quán)利是最高的,因此千萬不要將它授權(quán)出去,但有些程序的安裝、維護(hù)必須要求是超級用戶權(quán)限,在此情況下,可以利用其他工具讓這類用戶有部分超級用戶的權(quán)限。sudo就是這樣的工具。
六、綜合防御管理
防火墻、IDS等防護(hù)技術(shù)已成功應(yīng)用到網(wǎng)絡(luò)安全的各個領(lǐng)域,且都有非常成熟的產(chǎn)品,需要注意的是:在大多數(shù)情況下,需要綜合使用這兩項技術(shù),因為防火墻相當(dāng)于安全防護(hù)的第一層,它僅僅通過簡單地比較IP地址/端口對來過濾網(wǎng)絡(luò)流量,而IDS更加具體,它需要通過具體的數(shù)據(jù)包(部分或者全部)來過濾網(wǎng)絡(luò)流量,是安全防護(hù)的第二層。綜合使用它們,能夠做到互補(bǔ),并且發(fā)揮各自的優(yōu)勢,最終實現(xiàn)綜合防御。