歡迎您光臨本站 註冊首頁

熟悉Linux系統安全和優化(上)

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  第一章:介紹Linux

什麼是Linux?

Linux是一個操作系統。最初它是由在芬蘭赫爾辛基大學念書的Linus Torvalds作為一種業餘愛好開發出來的。Linus對用於教學的一種小型的Unix操作系統-Minix很感興趣,決定開發出超過Minix的操作系統。在1991年,他開始Linux的開發,那時候的Linux是0.02版。到了1994年,Linux內核的1.0版發布了。現在穩定的Linux內核版本是2.2版,開發工作還在繼續進行。
Linux的開發是遵循GPL的,它的源代碼任何人都可以免費獲得。但是這並不是說Linux以及Linux的發行版本是免費的。只要源代碼保持公開,開發人員是可以要求獲得適當的報酬。Linux可以用在很多方面,包括:網路、軟體開發和桌面平台。Linux常被認為是其它昂貴的操作系統的替代品。
因為Linux操作系統的穩定和健壯,以及很容易得到,它在世界上越來越流行。成千上萬的程序員在根據自己的需要利用Linux的源代碼。現在,有很多正在進行中的項目嘗試著把Linux移植到不同的硬體平台上,或把Linux用於其它的用途。


為什麼要用Linux

首先,它是免費的。儘管Linus Torvalds擁有Linux的商標。Linux的內核和相關的軟體是遵循GPL的。這意味著你可以更改源代碼,並靠買程序獲利,但是最初的作者擁有版權而且你必須公布修改過的源代碼。
儘管Linux在基於Intel平台的計算機上最流行,但是相對其它操作系統,它可以運行在更多的CPU和硬體平台上。其原因是:除了擁有很多天才的開發人員之外,Linux是帶著源代碼一起發行的,而且它的內核是可移植的。
現在軟體和硬體行業的趨勢是讓用戶去買更快的計算機,不斷地擴充內存和增加硬碟空間。Linux並不受這些「增肥」趨勢的影響,它甚至可以在內存不是很多的486計算機上運行得很好。
Linux很少死機,你可以停止那些有問題的進程,而讓操作系統正常地運行下去。而且,Linux用的是最先進的內存管理技術,不會讓你的操作系統失去控制,也根本不要經常重啟操作系統。
如果需要安裝的是一個伺服器操作系統,那麼Linux是有很多優勢的,特別是比起其它操作系統,如Windows 2000,要便宜得多了。還有一個優點是:Linux幾乎不受病毒的攻擊。因為遵循GPL和開放源代碼,基本上你可以獲得操作系統以及操作系統上所有軟體的源代碼。


讓我們排除對使用Linux的一些害怕和疑慮

Linux不過是一個象玩具一樣的操作系統
可能微軟公司希望這 嫻模??鞘率擋⒉皇竅笏?竅M?哪茄??inux正被越來越多的Fortune 5000的企業、政府部門和消費者所採用。不信的話,去問一問IBM、Compaq、Dell、Apple Computer、Burlington Coast Factory、Amtrak、Virginia Power、NASA或成百上千萬的Linux用戶吧。
Linux沒有技術支持
儘管有不少人認為Linux是沒有技術支持的操作系統,但是每個Linux的發行版都提供12,000多頁的文檔。Linux的商業發行版,例如:RedHat Linux、Caldera、SuSE 和OpenLinux給註冊用戶提供安裝支持,小企業和公司可以得到一些商業技術支持公司的服務支持。作為一個開放源代碼的操作系統,你可以得到Linux的全部源代碼。如果你遇到一些問題而且自己有解決問題的能力,就自己解決吧!不用為了得到技術支持等上很長的時間,許多嚴重的問題(如系統安全問題)可以在Internet上的Linux社團的幫助下幾個小時內解決。
第二章:安裝Linux伺服器

了解你的硬體環境

了解硬體環境是成功安裝RedHat Linux的關鍵。因此,必須用一些時間熟悉一下自己的硬體環境。準備好回答如下的問題:
1. 計算機上有幾個硬碟?
2. 每個硬碟的大小?
3. 如果有兩個以上的硬碟,哪一個是主盤?
4. 內存有多大?
5. 計算機上有SCSI卡嗎?如果有,型號是什麼?由哪家公司生產的?
6. 滑鼠是什麼類型的(串口,還是PS/2)?
7. 滑鼠有幾個鍵?
8. 如果是串口滑鼠,那麼連在哪個串口上?
9. 顯卡的產商和型號,有多少顯存?
10. 顯示器的產商和型號?
11. 如果想把計算機連接到網路上,請再注意下面幾個問題:
a) 計算機的IP地址?
b) 網路掩碼?
c) 網關地址?
d) 域名伺服器的地址?
e) 域名?
f) 主機名?
g) 網卡型號和廠商?


創建啟動盤,引導Linux

如果你安裝過很多次Linux,結果都失敗了,那麼可能需要一個修正過的軟盤鏡像。在這種情況下,可以去RedHat Linux的勘誤網站去下載特殊的軟盤鏡像。
因為這是很少見的情況,應該儘可能地先試一下標準的安裝軟盤,只有在實在不能完成安裝的情況下,才有必要去勘誤網站看看。RedHat 6.1的光碟可以從光碟機直接啟動。如果你的計算機不支持直接啟動,那麼也可以在MS-DOS下創建啟動盤,請用下面的命令(假定CD-ROM的盤符是d:,裡面放的是RedHat Linux 6.1的光碟):
在windows下打開MS-DOS方式(開始 | 程序 | MS-DOS方式):
C:$#@62; d:
D:$#@62; cd dosutils
D:dosutils$#@62; rawrite
Enter disk image source file name: ..imagesoot.img
Enter target diskette drive: a:
Please insert a formatted diskette into drive A: and press --ENTER-- :
D:dosutils$#@62;
當rawrite.exe要求輸入軟盤鏡像的時候,輸入完整的boot.img的路徑名,把軟盤插入A驅。當程序問你把鏡像寫入哪個軟盤驅動器的時候,輸入a:。
RedHat Linux的勘誤網站是:http://www.redhat.com/errata。
因為我們不從CD-ROM啟動,而從軟盤啟動安裝,所以把軟盤插入A:驅,然後重新啟動計算機。當出現boot:的時候,按下回車鍵,繼續引導。
* 選擇語言
* 選擇鍵盤類型
* 選擇滑鼠類型


安裝類型和方法

RedHat Linux 6.1有以下幾種安裝類型:
* GNOME工作站
* KDE工作站
* 伺服器
* 自定義
有些安裝類型(GNOME工作站、KDE工作站和伺服器),簡化了安裝過程,但是失去了很多靈活性。
因此,我們建議你選擇「自定義」安裝,這樣你可以選擇安裝什麼伺服器軟體以及如何劃分你的硬碟。
我們的目標是安裝儘可能少的軟體,以保證系統的高效率。而且,安裝的軟體越少,安全漏洞也就越少。
選擇「Custom」,繼續安裝。


創建分區

警告
我們強烈建議在分區之前,先備份你當前的系統。為了保證系統高效、穩定和安全,我們還建議你象下面介紹的那樣分區。我們這樣分區是假定你要配置一個Web和Proxy伺服器。
之所以在分區中有兩個特殊的「/chroot」和「/cache」分區是因為:「/chroot」分區是為DNS伺服器、Apache伺服器和其它需要改變根目錄的(chrooted)伺服器準備的;「/cache」分區是為Squid Proxy伺服器準備的。如果你不打算安裝Squid Proxy伺服器,那麼不必創建「/cache」分區,但是請注意:Squid+Apache的結合會把伺服器的性能和安全提高很多。
如果想讓數量比較多的用戶訪問你的伺服器,必須把「/tmp」和「/home」放在不同的分區上,這幾乎是強制的。這樣做可以避免分區被一些用戶文件填滿。把「/var」和「/usr」放在不同的分區也是一個好主意。使「/var」和其它分區分開也可以避免分區被填滿。
在我們的分區安排中,特別保留了400MB的磁碟空間給改變根目錄的(chrooted)程序,比如:Apache、DNS以及其它軟體。這是必須的,因為Apache的DocumentRoot文件和其它可執行的程序都會被安裝在這個分區上。注意:Apache chrooted目錄在「/chroot」分區上的大小是和「DocumentRoot」文件的大小成正比的。如果不準備安裝和使用Apache,可以把分區大小減小到10M,這10M是DNS伺服器所必需的。


最小的分區要求

下面是Linux能夠正常運行的最小分區要求。這樣的分區安排甚至可以適用於只有512MB硬碟的老式486計算機機。當然,這種分區安排只是一個建議。
/ 35MB
/boot 5MB
/chroot 10MB
/home 100MB
/tmp 30MB
/usr 232MB
/var 25MB


Disk Druid分區工具

Disk Druid是RedHat Linux帶的一個分區工具。選擇「Add」添加新的分區,「Edit」改變分區,「Delete"刪除分區,「Reset」恢復原來的分區狀態。在添加一個新分區的時候,會出現一個窗口,要求你添上有關這個分區的一些必要的信息。要求添的信息是:
* Mount Point: 分區裝載(mount)的目錄
* Size: 分區的大小,以兆為單位
* Partition Type: 分區類型。Linux的文件系統要使用Linux native類型的分區,Linux交換分區請用Linux Swap類型。
如果你有一個SCSI硬碟,那麼這個設備的名稱將是「/dev/sda」;如果你有一個IDE硬碟,那麼這個設備名稱將是「/dev/hda」。如果很在意系統的高性能和穩定性,我們建議你用SCSI硬碟。
Linux分區的命名方式是字母和數字相結合的,這種命名方式很靈活也很直觀。下面是一個小小的總結:
* 前兩個字母:前兩個字母表示設備類型,「hd」代表IDE硬碟,「sd」表示SCSI硬碟
* 第三個字母:這個字母是說明具體的設備。例如:「/dev/hda」表示第一個IDE硬碟;「/dev/hdb」表示第二個IDE硬碟。
請記住這些,這樣給Linux分區的時候,會覺得容易一些也不會混淆。


交換分區

交換分區是用於虛擬內存的。如果計算機的內存少於16M,你必須創建交換分區。即使有更多的內存,我們還是建議你建立交換分區。交換分區最小必須等於計算機的內存,如果內存多於16M,最小隻要16M就行了。交換分區最大大約為1GB,(Linux 2.2內核現在可以支持1GB的交換文件,如果多於1GB就是浪費)。注意:可以創建多於一個的交換分區,儘管只有在安裝大型伺服器的時候才有這個必要。盡量把交換分區放在硬碟驅動器的起始位置,因為一個磁碟的起始位置在物理上是在最外的柱面上,所以磁頭每轉一圈可以覆蓋更大的面積。
下面是一個例子,教你怎麼建立分區(這樣的分區安排是安裝我們在書中介紹的伺服器所需要的),下面的例子是用Disk Druid的命令:

Add
Mount Point: /boot our /boot directory
Size (Megs): 5
Partition Type: Linux Native
Ok

Add
Mount Point: /usr our /usr directory.
Size (Megs): 1000
Partition Type: Linux Native
Ok

Add
Mount Point: /home our /home directory.
Size (Megs): 500
Partition Type: Linux Native
Ok

Add
Mount Point: /chroot our /chroot directory.
Size (Megs): 400
Partition Type: Linux Native
Ok

Add
Mount Point: /cache our /cache directory.
Size (Megs): 400
Partition Type: Linux Native
Ok

Add
Mount Point: /var our /var directory.
Size (Megs): 200
Partition Type: Linux Native
Ok

Add
Mount Point: our /Swap partition (leave the Mount Point Blank).
Size (Megs): 150
Partition Type: Linux Swap
Ok

Add
Mount Point: /tmp our /tmp directory.
Size (Megs): 100
Partition Type: Linux Native
Ok

Add
Mount Point: / our / directory.
Size (Megs): 316
Partition Type: Linux Native
Ok

分區完畢之後,你可以在屏幕上看到類似的信息:
Mount Point
Device
Requested
Actual
Type
/boot
sda1
5M
5M
Linux Native
/usr
sda5
1000M
1000M
Linux Native
/home
sda6
500M
500M
Linux Native
/chroot
sda7
400M
400M
Linux Native
/cache
sda8
400M
400M
Linux Native
/var
sda9
200M
200M
Linux Native
$#@60;Swap$#@62;
sda10
150M
150M
Linux Swap
/tmp
sda11
100M
100M
Linux Native
/
sda12
316M
315M
Linux Native

Drive
Geom [C/H/S]
Total (M)
Free (M)
Used (M)
Used (%)
sda
[3079/64/32]
3079M
1M
3078M
99%

現在,選擇「Next」繼續安裝。分區創建完之後,安裝程序會讓你格式化分區。選擇想要格式化的分區,選中「Check for bad blocks during format」選擇框,按「Next」繼續。這樣就開始格式化分區,並且激活分區。Linux就可以使用這個分區了。
下一步如果選擇安裝LILO,你會看到LILO的配置。可以選擇把LILO裝在主引導扇區(MBR),或引導分區的第一個扇區。
在通常情況下,應該選擇把LILO安裝在主引導扇區。(如果你的計算機上裝有NT,或一些多重引導程序,如System Command,你最好仔細看一遍LILO-HOWTO,以免不必要的損失)。然後,開始配置網路和時鐘。接著,要輸入root口令和進行安全驗證的配置。不要忘了選上:
* Enable MD5 passwords
* Enable MD5 passwords
沒有必要選擇Enable NIS,因為我們不在這台伺服器上安裝NIS服務。



[火星人 ] 熟悉Linux系統安全和優化(上)已經有457次圍觀

http://coctec.com/docs/security/show-post-72776.html