搭建基于Linu桌面環(huán)境的影音平臺
時間:2022-11-17 10:17:00
導(dǎo)語:搭建基于Linu桌面環(huán)境的影音平臺一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
任何計算機(jī)安全措施的一個重要方面是維持實際控制服務(wù)的運(yùn)行。本文向你展示了在Linux操作系統(tǒng)的PC機(jī)上如何配置安全服務(wù)管理。
任何計算機(jī)安全措施的一個重要方面是維持實際控制服務(wù)的運(yùn)行,讓不必要的網(wǎng)絡(luò)服務(wù)接受請求將提高系統(tǒng)的安全風(fēng)險。即使這些網(wǎng)絡(luò)服務(wù)對于服務(wù)器的某些功能是必要的也需要仔細(xì)管理,并且對其進(jìn)行配置最小化不受歡迎的入侵和登錄的可能性。
為Linux系統(tǒng)配置安全性時,使用/etc/inittab文件、runlevels和一兩個服務(wù)管理“superdaemons”如inetd或xinetd直接管理服務(wù)。
inittab
/etc/inittab文件用于系統(tǒng)的初始化過程啟動系統(tǒng)服務(wù)。在一個配置好的系統(tǒng)上,雖然它一般都不會包括很多服務(wù),但是在某些Linux系統(tǒng)的默認(rèn)安裝中會加載很多其他服務(wù)。/etc/inittab文件內(nèi)容有些模糊,它的重要之處在于讓服務(wù)管理變得相對簡單。
首先,可不要通過/etc/inittab文件方式向系統(tǒng)啟動項中添加服務(wù)。
第二,不要移除/etc/inittab文件中第一個冒號之前其第一個字段是單精度型的數(shù)字,或整個登錄服務(wù)的前面部分。以單精度數(shù)字開頭的行可以打開TTY控制臺,所有服務(wù)在它們打開之前都一一列出,甚至列出其更重要的功能。也許有些例外情況,在不改動它時是很安全的,尤其如果不確定的情況下請不要改動。
第三,/etc/inittab在導(dǎo)入和runlevel選擇的時候用于過程管理。一般不用于正常的系統(tǒng)操作。
第四,在導(dǎo)入時由rc系統(tǒng)開始添加步驟,而不是init系統(tǒng)。如果看看/etc/inittab的內(nèi)容,將會注意到登錄以rc0到rc6這樣的字符結(jié)束。這是初始化系統(tǒng)如何處理runlevels的說明。
runlevels
基于linux操作系統(tǒng)的運(yùn)轉(zhuǎn)可以通過runlevels進(jìn)行管理。不同的runlevels被定義成有不同的行為,就像Windows操作系統(tǒng)一樣,它有正常操作模式、安全模式、在某些情況下還有DOS模式。
Runlevel0用于關(guān)閉系統(tǒng),如果軟電源設(shè)置恰當(dāng),它能關(guān)閉系統(tǒng)電源。
Runlevel1是單用戶無網(wǎng)絡(luò)的模式,它用于低水平的故障修復(fù)和管理操作。
Runlevel2到Runlevel5正常系統(tǒng)操作的多用戶模式。Runlevel2和3是命令行模式,3有網(wǎng)絡(luò)連接而2沒有網(wǎng)絡(luò)連接。Runlevel5用于啟動XWindows提供圖形用戶接口。
Runlevel6用于系統(tǒng)重啟,當(dāng)整個init系統(tǒng)甚至bootloader需要重啟時采用它。
其他runlevels由系統(tǒng)管理員進(jìn)行定義,但是“傳統(tǒng)”UNIX系統(tǒng)沒有此功能。這種情況下,他們不能被定義也不能被使用。
在shell處,可以輸入runlevel命令找到以前的renlevel和當(dāng)前runlevel。如果沒有更改系統(tǒng)runlevel,命令的輸出結(jié)果為大寫N后面跟runlevel的數(shù)字,這里的N表示沒有前runlevel,如果要更改runlevel,可以使用init命令,后面跟想要使用到的runlevel的數(shù)字。例如,輸入init6表示重啟系統(tǒng),或init1進(jìn)入單用戶模式。
配置runlevel的過程每一版本的情況都不同。例如,在DebianGNU/Linux系統(tǒng)中,位于/etc/init.d的服務(wù)腳本有來自/etc/rcN.d的路徑與它們進(jìn)行鏈接,這里的N表示需要配置的runlevel數(shù)字。以字母K開頭的symlinks指示在進(jìn)入runlevel時被殺死的程序,而以字母S開頭的symlinks指示在進(jìn)入runlevel時被啟動的程序。字母后面的數(shù)字值越大,從1到99,表示啟動或殺死的時間愈靠后。
大多數(shù)基于RPM的版本都采用RedHat所用到的rc系統(tǒng)。比起基于Debian的系統(tǒng),這一系統(tǒng)使用更復(fù)雜的路徑結(jié)構(gòu),并且不同的基于RPM的系統(tǒng)之間也有很大的不同。說明書上提供了更多的關(guān)于管理runlevel的信息。
inetd
一個用于Linux后臺程序管理的“superdaemon”是眾所周知的inetd,它是個用于服務(wù)管理的命令行工具。終止服務(wù)很簡單:首先,作為根用戶用文本編輯器打開/etc/inetd.conf文件。接下來,找到文件中需要終止的服務(wù)。最后,在服務(wù)所在行的最前面添加#符號(其他還有“尖頂符”和“英鎊符”),如下所示。“注釋掉”這一行,因此inted以后都不會啟動這一服務(wù)。
編輯之前服務(wù)登錄可能是下面這樣:
identstreamtcpwaitidentd/usr/sbin/identdidentd
停止之后,服務(wù)登錄變成下面這個樣子:
#identstreamtcpwaitidentd/usr/sbin/identdidentd
如果正在卸載被登錄參考的后臺程序,可以刪除文件中的某些行——是否通過包管理器進(jìn)行卸載或刪除執(zhí)行文件卸載(對于上面的例子是/usr/sbin/identd文件)。
編輯/etc/inetd.conf文件之后,保存它,inetd以后則可以使用更改。編輯和保存一旦完成,可以在根部輸入下面的命令使更改即時生效:
kill-HUP`pidofinetd`
使用修改(保存)后的配置文件會導(dǎo)致inetd重啟。
xinetd
另外一個稱為xinetd的superdaemon比inetd更新穎更復(fù)雜,能完成更多的功能。但是對于關(guān)閉服務(wù)來說,他們的使用方法相似。
使用xinetd時,必須在/etc/xinetd.conf文件中添加一行關(guān)閉服務(wù)。如果只想簡單的刪除服務(wù),必須刪除好幾行代碼而不是一行。找到想要關(guān)閉的服務(wù)所在的那一塊,在塊的后面添加“disable=yes”這一行,或者刪除整個塊。例如,如果關(guān)閉telnet服務(wù),需要像下面這樣做。(這里的省略號代表了塊的其他內(nèi)容)
servicetelnet
{
...
disable=yes
}
在某些系統(tǒng)中,對于某些服務(wù),服務(wù)配置并不在/etc/xinetd.conf文件中。例如,像telnet這樣的服務(wù)有可能在文件/etc/xinetd.d/telnet中,改變其服務(wù)配置方法與它在/etc/xinetd.conf文件中的方法是一樣的。
編輯保存了/etc/xinetd.conf文件后或者更改了服務(wù)文件后,可以輸入下面的命令讓修改即時生效:
kill-USR2`pidofxinetd`
這將通知xinetd程序,使用更改后的配置。
Xinetd除了關(guān)閉或移除服務(wù)配置之外,還可以用于控制遠(yuǎn)程主機(jī)登錄服務(wù)。這將通過幾個機(jī)制完成:
可以為服務(wù)指定一個允許的主機(jī)。例如:可以通過在服務(wù)配置文件中添加only_from=192.168.0.101這一行限制主機(jī)登錄telnet服務(wù)。盡管使用了詞語“only”,但是它只能限制主機(jī)的數(shù)目,而不僅僅只一臺主機(jī)。也可以使用部分地址指定完整的網(wǎng)絡(luò)。例如:可以使用“only_from=192.168.0.to”表示本地ClassC的任何主機(jī)都能訪問這個服務(wù)。
可以在配置文件中為某個服務(wù)指定禁止的主機(jī)。例如:可以在配置文件中添加“no_access=192.168.0.102”這一行禁止這個主機(jī)遠(yuǎn)程訪問telnet服務(wù)。這個也可以使用多次而且也可以使用部分地址指定多個主機(jī)。萬一某個主機(jī)滿足only_from和no_access兩個限制,則會權(quán)衡確定其訪問權(quán)限。如果xinetd不能確定哪個限制能被應(yīng)用,則系統(tǒng)默認(rèn)更安全的選項——服務(wù)不會開啟。
超越服務(wù)管理
對于安全的遠(yuǎn)程服務(wù)訪問,還有更多的事情可以做。應(yīng)該恰當(dāng)配置防火墻保護(hù)服務(wù)免受攻擊。服務(wù)器、通過網(wǎng)關(guān)服務(wù)器端口推進(jìn)以及網(wǎng)絡(luò)地址轉(zhuǎn)移都能有效減少服務(wù)攻擊的風(fēng)險。針對安全使用,那些用于登錄正在運(yùn)行的服務(wù)工具也應(yīng)進(jìn)行配置,例如,如果使用安全shell進(jìn)行遠(yuǎn)程連接而沒有使用XServer時,在SSH中調(diào)低Xforwarding是很重要的。直接進(jìn)行安全管理是保證Linux系統(tǒng)安全的重要部分,但是它也只是全面安全計劃的一部分。