Cài đặt redhat linux 8.0(2
www.nhipsongcongnghe.net CÀI TH I U HÀNH LINUX REDHAT 8.0 M t s u lưu ý trư c cài: cài RedHat 8.0 ch y trơn tru tho i mái, b n c n có h th ng PII, 64MB Ram tr lên, phân vùng c ng dành đ cài Linux c n kho ng 2GB tr lên Tuy nhiên khơng có c n tr b n cài Linux m t h th ng có c u hình th p hơn, b n ch có th ch y v i ng d ng h n ch h th ng Nên tìm hi u thơng s c u hình c a h th ng trư c cài đ t i u r t quan tr ng, giúp b n thu n l i trình c u hình h th ng sau cài đ t B n s ph i l a ch n cho thông s c a linh ki n ph n c ng trình c u hình h th ng như: lo i card hình, lo i hình( t n s quét ngang, d c), card m ng, card âm v.v C n chu n b phân vùng đĩa tr ng đ cài Linux Linux c n t i thi u hai phân vùng Linux Native (ext3) Linux swap ơn gi n, b n có th dùng Partition Magic đ phân chia đĩa § M t partition Linux native ext3 C n kho ng 2GB tr lên đ cài Linux, bao g m c KDE Gnome, ti n ích đ h a, multimedia, l p trình T i thi u b n c n 400MB cài toàn b 4,5GB § M t partition Linux swap, phân vùng tráo đ i c a Linux dành cho vi c s nh o, làm không gian trao đ i Thông thư ng, dung lư ng b nh d ng b o t i ưu s g p đôi dung lư ng b nh RAM c a h th ng B t đ u cài đ t: Cách đơn gi n thông d ng nh t đ cài Redhat Linux cài đ t t Kh i đ ng h th ng t b CDROM: b đĩa CD cài đ t ( CD s 1), nh n Enter t đ m c đ nh cài đ t theo ch đ đ ho Chương trình cài đ t s t d u nh c kh i đ ng đ ng dị thơng s c a bàn phím, chu t, card hình, hình sau vào q trình cài đ t Thơng qua t ng bư c wizard đ b n ch n thơng s v h th ng bàn phím, chu t, ngơn ng q trình cài đ t, gi h th ng a Ch n ki u cài đ t: www.nhipsongcongnghe.net - Personal Desktop: dành cho ngư i m i b t đ u v i Linux ho c cho nh ng h th ng desktop cá nhân Chương trình cài đ t s ch n l a nh ng gói ph n m m c n thi t nh t cho c u hình Dung lư ng đĩa c n cho ki u cài đ t chi m kho ng 1,5GB, bao g m c môi trư ng đ ho - WorkStation: dành cho nh ng tr m làm vi c v i ch c đ ho cao c p công c phát tri n - Server: cài đ t h th ng đóng vai trị máy ch webserver, ftpsever, SQL server.v.v - Custom: l a ch n linh ho t cho b n trình cài đ t B n có th ch n gói ph n m m, môi trư ng làm vi c, boot loader tuỳ theo ý b n b Thi t l p phân vùng cài Linux: ây trình nh y c m nh t nguy hi m nh t trình cài đ t, ch c n b t c n ch n sai d li u c ng c a b n có th b m t s ch Ch c “automatic partition” s giúp b n t đ ng t o phân vùng cho Linux Hãy c n th n n u b n ch n option “remove all partition on this system”, th t t c phân vùng c ng c a b n đ u b xoá Option “remove all Linux partition on this system” s ch xoá phân vùng c a Linux mà thơi đây, đ thu n ti n b n có th dùng Partition Magic đ phân chia đĩa trư c T i giai đo n ch công vi c t o đ nh d ng cho phân vùng cài đ t mà Tuy nhiên b n v n có th thao tác phân chia phân vùng cài đ t d dàng v i Disk Druid Thông thư ng, b n nên ch n “ Manually partition with Disk Druid ” đ t o phân vùng: M t phân vùng ch a mount point “/”, có ki u file h th ng Linux Native ext3 M t phân vùng swap cho Linux, ki u c a phân vùng Linux swap, kích thư c t i ưu g p đơi dung lư ng RAM c a h th ng hi n t i Các button hình giao di n cho phép b n thao tác phân chia đ nh d ng phân www.nhipsongcongnghe.net vùng Nút New, Delete đ t o m i hay xoá m t phân vùng Nút Edit đ đ nh d ng phân vùng đó, có ki u (ext3, swap, fvat…), qui đ nh l i kích thư c, thư m c h th ng phân c p b nh B n có th Reset q trình thao tác n u chưa tho mãn yêu c u c a mình, chưa có m t thay đ i đư c th c hi n cho đ n b n hồn thành cơng vi c v i Disk Druid c Cách qu n lý đĩa Linux: Trong c u trúc th b c c a Linux, cao nh t “/”, dư i /boot, /etc, /root, /mnt v.v i v i Linux, m i thi t b ph n c ng đ u đư c coi file ho c thư m c n m h th ng phân c p thư m c Ch ng h n h th ng c a b n có hai nh t /dev/had, c ng th hai /dev/hdb Trong m t chia thành phân vùng khác M t đánh s th t t đ n tương ng v i c ng đĩa c ng th dĩa, h th ng file đư c c ng có phân vùng (primary) đư c c ng đ u tiên s hda1, hda2 v.v, phân vùng thu c ph n m r ng (extended) đư c đánh s b t đ u t s 5: ví d hda5, hda6 … d Cài đ t boot loader ây chương trình dùng đ kh i đ ng Linux h u hành khác (dual boot) b n có nhi u m t h u hành đư c cài h th ng Grub boot loader m c đ nh cài RedHat 8.0 ây chương trình r t m nh uy n chuy n Grub t đ ng dò h u hành hi n có h th ng thêm vào danh sách kh i đ ng Các tuỳ ch n hình tương đ i d hi u V i tuỳ ch n “ configure advance boot loader option” cho phép b n ch n vi c cài grub lên đâu c ng: N u ch n Grub đ kh i đ ng h th ng , grub s đư c cài lên Master boot record ( /dev/hda) N u ch n m t chương trình khác đ kh i đ ng system commander ch ng h n, b n ch n cài grub lên “first sector of boot partition” Như v y, system commander s t đ ng nh n Linux thêm vào m c nh p kh i đ ng cho Linux e C u hình account: www.nhipsongcongnghe.net Vi c c u hình acount dùng đ thi t l p m t kh u root có th t o thêm account khác đ log in vào h th ng vi c cài đ t hoàn t t Tài kho n root tài kho n có quy n cao nh t h th ng B n có th cài đ t, c u hình h th ng hay làm m i chuy n m t đăng nh p vào h th ng v i tài kho n f Các lưu ý l a ch n gói ph n m m cài đ t: V i Redhat 8.0, vi c ch n gói ph n m m đ cài đ t đư c th c hi n r t thu n tiên gói ph n m m đư c gom l i thành nhóm Có th ch n cài gói ph n m m lúc gói c n thi t ho c có th cài thêm sau hoàn t t cài đ t B n ch n m c “select individual package” đ cài thêm gói mà m c đ nh s khơng cài cho b n Ví d mc (Midnight Commander, tương t NC DOS) Sau l a ch n xong, chương trình cài đ t s t gói ph thu c đ b n cài thêm Trong su t q trình ch n gói ph n m m cài đ t, b n đư c thông báo dung lư ng c n đ cài đ t Nên ý đ không vư t dung lư ng phân vùng mà b n dành cho Linux trình ch n l a M t u ý b n nên cài programming develop kernerl source, thư vi n l p trình đ thu n ti n cho vi c sau c n biên d ch l i nhân h u hành ho c cài đ t biên d ch ph n m m driver cho h th ng g C u hình X làm vi c đư c v i giao di n đ ho , b n c n c u hình cho X Window N u may m n, card đ ho hình c a b n s n m danh sách đư c Linux h tr Còn n u không, cách ch c ch n v i lo i card đ h a đ ch y đư c ch n lo i vesa V hình, Linux s t dò cho b n ho c b n s c u hình b ng tay vi c ch n t n s quét cho hình Hãy c n th n trình d làm h ng hình card đ ho c a b n ây lý b n c n n m v ng thông s c a linh ki n ph n c ng N u không c n Linux t dị tìm c u hình dùm b n, b n có th m file /etc/X11/XF86Config (ho c XF86Config-4) đ c u hình b ng tay Sau nh n nút test đ ki m tra h th ng có ch y t t v i ch đ đ h a chưa, n u m i vi c sn s , chúc m ng b n hồn t t trình cài đ t Linux Lưu ý v card đ h a www.nhipsongcongnghe.net M c dù Linux nh n d ng h tr nhi u lo i card đ ho đư c s n xu t năm g n đây, sau c u hình, card đ ho v n ch y v i bus PCI cho dù card đ h a c a b n lo i AGP, b n v n chưa t n d ng đư c ch ng đ ho 3D cao c p c a Lý nhà s n xu t linh ki n lý b o m t b n quy n nên chưa h tr cho nhà phát tri n Linux Tuy nhiên, hi n nhi u nhà s n xu t ph n c ng b t đ u h tr driver cho linh ki n c a h th ng Linux Ch ng h n v i nhà s n xu t Nvidia, b n có th t i driver c a thơng qua www.nvidia.com ho c ftp://download.nvidia.com/XFree86_40/1.0-3123 Các game 3D ch y v i hình nh r t m n màng khơng thua MS Window sau b n cài driver cho h th ng www.nhipsongcongnghe.net Cách cài đ t font in n ti ng Vi t Linux Có cách cài đ t Unicode fonts cho X Window S d ng ttmkfdir (cách cũ) S d ng fontconfig (cách m i cho Mandrake-9.0, RedHat-8.0) S d ng ttmkfdir (cách cũ): a T o /usr/share/fonts, n u chưa có, b ng l nh: mkdir /usr/share/fonts b M utf8.tar.gz thư m c /usr/share/fonts b ng l nh: cd /usr/share/fonts && tar xvzf utf8.tar.gz c T o danh sách ch a fonts b ng l nh: cd utf8 && ttmkfdir > fonts.scale && mkfontdir d Báo cho fonts server bi t đ a m c a Unicode fonts b ng l nh: chkfontpath add /usr/share/fonts/utf8 e Kh i đ ng l i X font server b ng l nh: /etc/rc.d/init.d/xfs restart S d ng fontconfig (cách m i cho Mandrake-9.0, RedHat-8.0): a B utf8.tar.gz vơ /usr/share/fonts m b ng l nh: cp utf8.tar.gz /usr/share/fonts && cd /usr/share/fonts && tar xvzf utf8.tar.gz b C p nh t danh sánch fonts b ng l nh: fc-cache Ch v y không c n kh i đ ng l i xfs hay X B n có th b arial font (t i v đ a ch dư i) vô ~/.fonts không ph i restart chi h t n u b n xài fontconfig (Red Hat ho c ho c Mandrake-9.1) www.nhipsongcongnghe.net Ví d : cd ~ mkdir ~/.fonts (n u chưa có) tar xvjf arial.tar.bz2 cp arialuni.ttf ~/.fonts Xem trang web ti ng Vi t cách in ti ng Vi t: Thông thư ng n u b n xem trang web b ng Mozilla khơng c n ph i set font c N u b n xài Konqueror Red Hat 8.0 b n ph i set fonts Konqueror hình m i xem in đư c ti ng Vi t N u b n xài b n Mandrake m i nh t (9.1) b n s khơng c n làm h t Vi c hi n th in n ti ng Vi t đư c h tr r t t t Thêm chi ti t: Unicode fonts: có th t i v t http://www.vnlinux.org/fonts/utf8.tar.gz ho c http://www.vnlinux.org/arial.tar.bz2 n u b n v n chưa hi n th đư c tiêng Vi t 100% fontconfig homepage t i http://www.fontconfig.org .ttmkfdir có th t i v t http://www.joerg-pommnitz.de/TrueType/xfsft.html mkfontdir n m gói XFree86-3x (ho c XFree86-4x) Viet Unicode có nhi u fonts http://sourceforge.net/project/showfiles.p lease_id=132517 www.nhipsongcongnghe.net Th thu t b o m t cho Linux Trong vi t này, xin gi i thi u m t s tính an tồn cho m t h minh ho th ng Linux (đ d kinh nghi m nh m nâng cao theo dõi cho b n đ c, s b ng RedHat, m t phiên b n Linux r t ph bi n Vi t Nam th gi i) Hi n nay, môi trư ng máy ch , Linux ngày chi m m t v trí quan tr ng Nguyên nhân n Linux d n tr Microsoft Windows tính thành m t đ i th n đ nh, đ ti m nǎng c a h linh ho t kh nh ng đ c m quan tr ng hàng đ u c a m t h u hành nǎng ch u t i l n: th ng máy ph c v Tính b o m t t t m t nh ng m n i b t c a Linux Tuy nhiên, đ m th th ng Linux có kh c n ph i n m đư c m t s gi i thi u m t s Linux (đ d nǎng ch ng l i cu c t n công, ngư i qu n tr k nǎng nh t đ nh Trong vi t này, xin kinh nghi m nh m nâng cao tính an tồn cho m t h theo dõi cho b n đ c, s b n Linux r t ph bi n 1.1 Lo i b b ng RedHat, m t phiên account nhóm đ c bi t t tc Vi t Nam th minh ho th ng gi i) Ngay sau cài đ t Linux, ngư i qu n tr nên xoá b (group) đư c t o s n h t tc account nhóm th ng khơng có nhu c u s d ng, ví d lp, sync, shutdown, halt, news, uucp, operator, games, gopher, v.v (Tuy nhiên b n đ c c n bi t rõ nh ng account nhóm khơng c n cho h th ng c a r i xố) Th c hi n vi c xoá b account v i l nh : # userdel Ví d , n u khơng có nhu c u v in n h th ng, có th xố account lp sau: # userdel lp Tương t v y, có th th c hi n vi c xố b nhóm khơng c n thi t v i l nh www.nhipsongcongnghe.net # groupdel 2.2 Che gi u file ch a m t kh u T l ch s xa xưa c a Unix c Linux, m t kh u c a toàn b account t ng đư c lưu file /etc/password, file có quy n đ c b i t t c h th ng! ây m t k h l n cho k phá ho i: M c dù m t kh u đ u đư c mã hoá, vi c gi i mã ngư c có th th c hi n d dàng, đ c bi t ch ngày kh nǎng tính tốn x account th c hi n đư c (và có th mã hỗ m t kh u khơng ph i khó phá lý c a máy tính r t m nh) Vì lí trên, g n nhà phát tri n Unix Linux ph i đ t riêng m t kh u mã hoá vào m t file mà ch có account root m i đ c đư c: file /etc/shadow (Khi s pháp này, đ d ng phương đ m b o tính tương thích, nơi v n đ t m t kh u file /etc/password ngư i ta đánh d u "x") N u b n đ c s 7.x) nh d ng phiên b n RedHat g n (ví d RedHat 6.x hay ch n l a Enable the shadow password cài đ t RedHat đ s d ng tính nǎng che gi u m t kh u (Cũng th t may ch n l a m c đ nh h u h t phiên b n Linux s 3.3 T d ng r ng rãi hi n nay) đ ng thoát kh i shell Ngư i qu n tr h th ng r t hay quên thoát kh i d u nh c shell k t thúc công vi c B n thân t ng nhi u l n th c hi n vi c qu n tr v i account root b m tk phá ho i m t s đó: K có th cơng vi c khác Th t nguy hi m n u lúc có d dàng có quy n truy xu t h th ng m c cao nh t mà ch ng c n t n m t chút công s c c gi m nguy này, ngư i qu n tr nên cài đ t tính nǎng t đ ng kh i shell khơng có s truy xu t m t kho ng th i gian đ nh trư c b ng cách đ t m t tham s quy đ nh kho ng th i gian h th ng v n trì d u nh c shell Mu n cài đ t tham s m t giá tr s nh c th này, ngư i s d ng bi n mơi trư ng TMOUT gán cho hi n kho ng th i gian tính b ng giây h th c hi n u cho t t c account h nh t đ t vào file /etc/profile dịng l nh sau: (gi 600 giây) th ng v n trì d u s th ng, cách đơn gi n ta đ t kho ng th i gian www.nhipsongcongnghe.net Password: thi t l p password Thơng thư ng, ln có s tương ng gi a m t module auth m t module password Session: u n nhi m v qu n lý session dùng s cs d ng đ đ m b o r ng ngư i d ng tài kho n c a h đư c xác th c PAM MODULE CONTROL FLAGS Require: c u n nói v i PAM library yêu c u s thành công c a modules tương ng, vd “auth required /lib/security/pam_securetty.so” module pam_securetty.so ph i thành cơng N u module khơng đư c th c hi n thành cơng q trình xác th c th t b i Nhưng lúc đó, PAM v n ti p t c v i module khác, nhiên ch có tác d ng nh m tránh kh i vi c ngư i dùng có th đốn đư c q trình b th t b i giai đo n Sufficient: c khác v i c ch , có m t module th c hi n thành cơng s thơng báo hồn thành q trình xác th c, mà không t module khác n a Requisite: c có ý nói PAM library lo i b trình xác th c g p b t kỳ thông báo th t b i c a module Optional: c đư c s d ng, có ý nghĩa module đư c th c hi n thành công hay th t b i không quan tr ng, không nh hư ng trình xác th c MODULE-PATH – ng d n đên thư vi n PAM ARGUMENTS – Các bi n tùy ch n cho module Các module ( auth, account, password, session ) đư c th c hi n stack chúng đư c th c hi n theo th t xu t hi n file config Các chương trình u c u xác th c đ u có th s d ng PAM 5.Sau xin gi i thi u ch c c a m t s module _ pam_access.so: - Support module type :account - Module s d ng file thi t l p etc/security/access.conf www.nhipsongcongnghe.net File c u hình có d ng sau: < + or - > : : + : grant permission - : deny permission V i username list ngư i dùng hay nhóm ngư i dùng, tty list login qua console, host list xác đ nh host hay domain Chúng ta có th s d ng t khóa ALL=t t c , EXCEPT=tr , LOCAL=c c b Ví d sau cho c m osg login t t t c , cho phép linet login t xa account required pam_access.so -:osg:ALL +:linet:ALL EXCEPT LOCAL pam_chroot.so: Support module type :account; session; authentication Dùng đ chroot cho user thi t l p /etc/security/chroot.conf Ví d , tơi th c hi n chroot cho sshd đ ngư i dùng linet ch có quy n truy c p /home/osg mà khơng có quy n truy c p đ n thư m c home c a ngư i dùng khác Thêm dòng sau /etc/pam.d/sshd ( lưu ý /etc/sshd/sshd_config ph i thi t l p UsePAM = yes ) session required pam_chroot.so _ pam_deny.so: Support module type: account; authentication; password; session Module tr v giá tr false Vd đư c dùng /etc/pam.d/other đ t ch i m i truy c p c a ngư i dùng truy c p vào PAM-aware program mà file c u hình PAM - Acount module type: T ch i ngư i dùng quy n truy c p vào h th ng #add this line to your other login entries to disable all accounts login account required pam_deny.so - Authentication module type: t ch i truy c p, thi t l p giá tr m c đ nh vd /etc/pam.d/other Khi ngư i dùng login vào h th ng, đ u tiên s g i module /etc/pam.d/login yêu c u ngư i dùng nh p thông tin tương password ), n u thông tin không đáp deny quy n truy c p #/etc/pam.d/other ng ( username, ng PAM s g i /etc/pam.d/other đ www.nhipsongcongnghe.net auth required /lib/security/$ISA/pam_deny.so account required /lib/security/$ISA/pam_deny.so password required /lib/security/$ISA/pam_deny.so session required /lib/security/$ISA/pam_deny.so - Password module type: Khơng cho phép change password ví d khơng cho phép ngư i dùng đ i passwd Thêm dòng sau vào /etc/pam.d/passwd password required pam_deny.so _ pam_limits.so - Support module type: session Thi t l p gi i h n tài nguyên /etc/security/limit username|@groupname type resource limit A resource can be one of these keywords: core - Limits the size of a core file (KB) data - Maximum data size (KB) fsize - Maximum file size (KB) memlock - Maximum locked-in memory address space (KB) nofile - Maximum number of open files rss - Maximum resident set size (KB) stack - Maximum stack size (KB) cpu - Maximum CPU time in minutes nproc - Maximum number of processes as - Address space limit maxlogins - Maximum number of logins allowed for this user Thông tin chi ti t /etc/security/limits.conf Vd dư i đây, t t c user gi i h n 10 MB m i session cho phép max logins đ ng th i ftp đư c cho phép 10 login đ ng th i ( h u ích cho anonymous ftp ); thành viên c a nhóm manager gi i h n 40 process, nhóm developers gi i h n 64MB b nh , user thu c wwwusers không th t o files l n 50 MB = 500000 KB Listing Setting quotas and limits www.nhipsongcongnghe.net * hard rss 10000 * hard maxlogins * hard core bin ftp hard maxlogins 10 @managers hard nproc 40 @developers hard memlock 64000 @wwwusers hard fsize 50000 active limits này, b n c n thêm dòng sau vào cu i /etc/pam.d/login: session required /lib/security/pam_limits.so _ pam_listfile.so Module đ c thông tin file th c hi n hành đ ng đư c thi t l p ( cho phép hay không cho phép truy c p ) d a vào s t n t i hay không c a nhân t username, host, groups, … Ví d vsftpd auth required /lib/security/pam_listfile.so item=user \ sense=deny file=/etc/ftpusers onerr=succeed Yêu c u PAM load pam_listfile module đ c /etc/ftpusers, n u /etc/ftpusers ch a dịng username, PAM s s d ng sense=deny đ quy t đ nh ngăn c n user truy c p vào V y user /etc/ftpusers s ko có quy n truy c p vào ftp _ pam_rootok.so S d ng module đ yêu c u root không c n nh p password th c hi n chương trình, vd đư c gán vào su đ chi r ng root không c n gõ passwd đánh l nh su _pam_wheel.so Ch cho phép quy n truy c p root v i group wheel Ví d ch cho phép nh ng ngư i thu c nhóm wheel có quy n su lên root # # root gains access by default (rootok), only wheel members can # become root (wheel) but Unix authenticate non-root applicants www.nhipsongcongnghe.net # auth sufficient pam_rootok.so auth required pam_wheel.so auth required pam_unix_auth.so -> Tham kh o Document: http://www.kernel.org/pub/linux/libs/pam/pre/doc/ Mã ngu n module: http://cvs.sourceforge.net/viewcvs.py/pam/Linux-PAM/modules/ www.nhipsongcongnghe.net Cách biên d ch nhân (kernel) L y kernel v : Kernel source có th t iv t http://www.kernel.org B n stable hi n t i 2.4.21 developer 2.5.73 N u b n không mu n test nh ng ch c m i c a kernel nên s d ng 2.4.21 cho công vi c hàng ngày Bung nén chu n b kernel: gi ch y dòng l nh dư i b n s s b nv at iv linux-2.4.21.tar.bz2, sau s n sàng cho vi c compile kernel 2a $mv linux-2.4.21.tar.bz2 /usr/src/ 2b $cd /usr/src && tar -xvjf linux-2.4.21.tar.bz2 2c $ln -s linux-2.4.21 linux n b n s n sàng cho vi c compile đơi lúc có l m t patch có th b ns c n apply ch y l nh sau thư m c /usr/src/linux $patch -p1 dry-run < /đ a m/và tên/c a patch Lưu ý: dry-run s 'gi đò' apply patch th c s nên xài dry-run trư c apply đ phịng h chưa làm h t B n patch không ph i cho kernel b n xài ho c patch b l i Sau ch y dry-run không th y báo l i b n có th th t s apply patch b ng l nh $patch -p1 < /đ a m/và tên/c a patch Compile kernel: s đư c th c hi n v i l nh sau đây: 3a $make menuconfig (ho c make config, ho c make xconfig) s h ib nm t lo t câu h i cho kernel phù h p v i máy c a b n N u b n bi t ch c s m t ch c nên tr n u b n lư ng l l i Y cịn khơng tr khơng bi t ph n c ng c a s l i N, tr xài l i M (module) xài driver hay driver khác, nh t ph n cho network card hay sound card N u b n không rõ câu h i h i gõ h s có ph n gi i thích rõ ràng www.nhipsongcongnghe.net B n có th t iv m t b n config m u mà xài cho máy Pentium3, Tekram SCSI card, SB Live! sound card, bt848 Haupauge TV card, ext2/ext3/reiserfs/jfs/tmpfs/iso9660/vfat/ntfs ipsec VPN compiled vô kernel, tulip, intel, realtek modules cho network cards, iptables wireless modules N u b n khơng c n ch vi c comment out (b d u # phía trư c) hàng Ch ng h n máy b n Petium4 nên thay đ i v i giá tr tương ng Sau ch y l nh $make oldconfig thay $make menuconfig 3b $make dep s chu n b dependencies c n thi t 3c $make clean s d n d p o files mà developers đ 3d $make bzImage s b ns b t đ u th t s quên t o source tree compile kernel N u m i chuy n sn s có bzImage n m thư m c /usr/src/linux/arch/i386/boot 3e $make modules s menuconfig compile modules b n ch n lúc ch y $make 3f $make modules_install s cài modules vào thư m c /lib/modules/2.4.21 3g $cp /usr/src/linux/arch/i386/boot/bzImage /boot/mykernel-2.4.21 s cp kernel image b n m i compile vô thư m c /boot N u b n có SCSI card compile SCSI card ho c filesystem (ext3, reiserfs, v ) mà máy s d ng dư i d ng module b n ph i t o initial ramdisk v i l nh $mkinitrd -o /boot/initrd-2.4.21.img /lib/modules/2.4.21 Còn n u b n compile SCSI card filesytem vô kernel bái bai initrd : Chu n b boot loader 4a N u b n dùng GRUB: t o h n m t section m i cho kernel c a b n b ng cách s a menu.lst v i l nh $vi /boot/grub/menu.lst gi s / c a b n n m /dev/hda3 /boot n m /dev/hda1, thêm vào nh ng hàng sau: title MyKernel-2.4.21 www.nhipsongcongnghe.net kernel (hd0,0)/boot/mykernel-2.4.21 root=/dev/hda3 initrd (hd0,0)/boot/initrd-2.4.21.img N u b n khơng xài initrd khơng c n hàng cu i 4b N u b n dùng LILO: t o h n m t section cho kernel c a b n b ng cách s a file lilo.conf v i l nh $vi /etc/lilo.conf thêm vào nh ng hàng sau: image=/boot/mykernel-2.4.21 label=MyKernel-2.4.21 root=/dev/hda3 initrd=/boot/initrd-2.4.21.img read-only Nh ch y l nh $lilo n u không b n s B n nên gi không th y kernel m i c a reboot l i /usr/src/linux/.config đ ch ng h n có th xài l i b ng cách ch y $make oldconfig thay $make menuconfig Lưu ý: $make mrproper s d p s ch s mai n u b n mu n compile 2.4.22 xóa /usr/src/linux/.config file d n o files symlinks (ln -s command) B n s không th dùng config file c a kernel 2.4 cho kernel 2.5 đư c Hy v ng vi t s giúp b n hi u rõ trình c p nh t kernel t source Như thư ng l , cám ơn bác #unixcircle cho feedback M i góp ý xin g iv em_mê_compile_kernel@vnlinux.org www.nhipsongcongnghe.net Làm reverse proxy v i Linux + Apache, B o v máy ch Gi i thi u Chào fan hâm m Linux, Bài vi t ch y u d a hai tài li u "Web Security Appliance With Apache and mod_security" c a Ivan, tác gi mod_security "Securing Apache 2: Step-by-Step" c a Artur Maj Bà có th xem m t b n d ch ti ng Vi t c a hai tài li u trên, kèm theo nh ng suy nghĩ riêng c a b n thân d a vào kinh nghi m th c t tri n khai reverse proxy -0- Bài vi t có th xem m t case study thu c t p tài li u "B o v máy ch an toàn v i ph n m m t do" Nhi m v c a b o v m t hay nhi u content web-server -1- n m vùng Internal -2-, web-server có th Apache httpd, ho c Microsoft IIS, ho c có th ch m t web-server đơn gi n đư c embedded vào m t ng d ng hồn thành nhi m v , s t p trung vào xây d ng m t firewall/ids ho t đ ng t ng application, tài li u g i reverse-proxy, s d ng Apache httpd -3- n n Linux Reverse proxy gì? M t proxy, theo đ nh nghĩa, m t thi t b đ ng gi a server client, tham gia vào "cu c trò chuy n" gi a hai bên Khái ni m proxy mà thư ng dùng hàng ngày t t nên đư c g i m t forward proxy: m t thi t b đ ng gi a m t client t t c server mà client mu n truy c p vào M t reverse proxy làm cơng vi c hồn tồn ngư c l i: đ ng gi a m t server t t c client mà server ph i ph c v Reverse proxy gi ng m t nhà ga kiêm m t tr m ki m soát, request t client, b t bu c ph i ghé vào reverse proxy, t i reverse proxy s ki m sốt, l c b request khơng h p l , luân chuy n request h p l đ n đích cu i server Chú ý m t reverse proxy có th luân chuy n request cho nhi u server lúc L i th l n nh t c a vi c s d ng reverse proxy kh qu n lí t p trung M t đ y đư c t t c traffic qua m t tr m ki m soát nh t (là reverse proxy), có th áp d ng nhi u "đ ngh " khác đ tăng cư ng an ninh cho h th ng c a Dĩ nhiên, b t kì s n ph m hay cơng ngh có ưu khuy t m c a nó, v i single point of access bao gi "bóng ma" single point of failure Single point of failure có th đư c gi i quy t b ng cách xây d ng cluster ây m t v n đ hoàn toàn vư t qua kh i ph m vi c a vi t này, ch xin gi i thi u b mu n tìm hi u v cluster Linux th ghé vào http://www.linux-ha.org Ngồi áp d ng reverse proxy cách s giúp tăng cư ng performance nâng cao scalability c a web-application ch y content server Chút xíu n a, s vào chi ti t ưu m c a reverse proxy làm th đ khai thác ưu m Cài đ t máy ch reverse-proxy www.nhipsongcongnghe.net 3.1 Ch n cài đ t h u hành cho reverse proxy Dĩ nhiên s d ng linux cho máy ch reverse proxy Tơi khơng mơ t q trình cài đ t linux b i có r t nhi u tài li u hay Internet nói v đ tài này, n a nghĩ m t nghĩ đ n chuy n làm reverse proxy ch c ch n chuy n cài đ t Linux khơng v n đ Linux có q tr i distro, th mrro ch n distro nào? Theo tơi distro c thơi, n u h i tơi câu h i câu tr l i s Trustix -4- B t k ch n distro nào, nh sau cài đ t xong, dành m t chút th i gian đ secure distro c a l i trư c đ c ti p -5- Ph n ti p theo s bàn v vi c cài đ t Apache httpd module kèm theo c a 3.2 1.3.x hay 2.x? Trư c tiên, nghĩ c n ph i tr l i câu h i s ch n phiên b n Apache đ làm reverse proxy đây, 1.3.x hay 2.x? Tơi ch n 2.x ba lý do: th nh t "nghe đ n" có r t nhi u 0-day phiên b n 1.3.x Lý th hai Apache 2.x cung c p m t b filtering API t t so v i phiên b n 1.3.x, cho phép module có th nhìn th y tương tác v i n i dung c a request response tương ng t tr l i t server i u r t quan tr ng đ i v i m t reverse proxy đóng vai trị m t application gateway b i ph i ki m tra t t c thông tin xuyên qua trư c chuy n giao cho bên nh n -6- Lý cu i Apache httpd 2.x có performance cao h n 1.3.x ph c v static content file HTML file hình nh Tơi quan tâm đ n v n đ tơi có ý đ nh gi m t i cho content server bên b ng cách tách content làm hai lo i dynamic (các lo i file CGI/Perl, PHP) static (các file HTML file hình nh), content server ch ph c v dynamic content, t t c static content đưa qua máy ch reverse proxy ln Lúc request c a client vào reverse proxy, n u request có đích đ n m t static content, máy ch reverse proxy s tr l i cho client mà không c n forward request đ n content server phía sau, ch nh ng request đ n dynamic content m i đư c forward đ content server x lí Tơi s vào chi ti t v n đ ph n sau, ch lưu ý m t u cu i l i không dùng Apache httpd cho m c đích mà l i s d ng m t máy ch web khác chuyên tr static content 3.3 Ch n module cho Apache httpd Ngoài nh ng module mà tài li u "Securing Apache 2: step by step" đ ngh , ph i ch n thêm module sau đây: -mod_rewrite, mod_proxy, mod_proxy_http: module s h tr vi c thi t l p reverse proxy -mod_security: module giúp c u hình reverse proxy thành m t application firewall đ ch ng l i d ng t n công thư ng th y vào web-application ch y content server -7-mod_ssl: module giúp mã hóa d li u c a k t n i t client đ n server thông qua giao th c SSL TLS, bi n giao th c HTTP khơng an tồn thành giao th c HTTPS r t b o m t -8Ph n quan tr ng ti p theo ch n m t MPM phù h p v i m c đích làm reverse proxy c a MPM vi t t t c a c m t Multi-Processing Module, m t c i thi n đáng k c a Apache httpd 2.x so v i Apache 1.x Trong ki n trúc c a Apache 2.x, MPM đóng vai trị h t s c quan tr ng, ch u trách nhi m l ng nghe c ng m ng, ch p nh n yêu c u k t n i t phía client, chuy n yêu c u vào bên đ Apache httpd x lí 9- Trong trư ng h p ch n MPM worker MPM worker s d ng thread đ ph c v request, có kh ph c v m t lư ng l n request l i t n r t tài nguyên so v i process-based MPM khác prefork ng th i MPM worker v n khai thác đ c tính n đ nh c a cá process-based MPM b ng cách t o nhi u process đ trư c, m i process có nhi u thread đ s n sàng ph c v client -10- 3.4 Biên d ch cài đ t Apache httpd Câu h i k ti p biên d ch module theo ki u Như đ u bi t, có hai cách www.nhipsongcongnghe.net biên d ch module Apache httpd Cách th nh t, g i phương pháp đ ng, biên d ch module thành thư vi n liên k t chia s (tương t thư vi n DLL Windows) V i cách này, module s đư c biên d ch thành file so, s đư c t i lên Apache httpd kh i đ ng n u c n (tùy theo câu l nh LoadModule file c u hình conf/httpd.conf) Cách biên d ch th hai, g i phương pháp tĩnh, gom t t c module nhét vào file bin/httpd (link statically) Khi kh i đ ng q trình ch y, Apache httpd khơng c n ph i t i thêm module n a Phương pháp tĩnh đư c xem l a ch n t t h t Ch n phương pháp tĩnh, không c n dùng đ n module mod_so (module c n thi t đ t i file so phương pháp đ ng) Hơn n a, theo khuy n cáo c a Apache, s d ng phương pháp tĩnh s giúp tăng 5% v m t performance so v i phương pháp đ ng Chúng ta t i Apache httpd 2.x http://httpd.apache.org/download.cgi t i mod_security t i http://www.modsecurity.org s d ng l nh sau: CODE localhost$ localhost$ localhost$ localhost$ wget http://www.tux.org/pub/net/apache/dist/htt d-2.0.54.tar.gz wget http://www.modsecurity.org/download/modsecurity-1.8.7.tar.gz tar -xzf httpd-2.0.54.tar.gz -C /usr/local/src tar -xzf modsecurity-1.8.7.tar.gz -C /usr/local/src Tài li u kèm theo c a mod_security ch hư ng d n cách biên d ch mod_security thành m t thư vi n chia s c a Apache httpd, c n ph i chu n b đơi ch đ có th biên d ch tĩnh mod_security: CODE localhost$ localhost$ localhost$ localhost$ cd /usr/local/src mkdir -p httpd-2.0.54/modules/security cp modsecurity-1.8.7/apache2/mod_security.c httpd-2.0.54/modules/security cp httpd-2.0.54/modules/echo/Makefile.in httpd-2.0.54/modules/security Okay, xong xuôi, b t đ u biên d ch sau: CODE localhost$ cd /usr/local/src/httpd-2.0.54 localhost$ /configure \ with-mpm=worker \ disable-charset-lite \ disable-include \ disable-env \ disable-status \ disable-autoindex \ disable-asis \ disable-cgid \ disable-cgi \ disable-negotiation \ disable-imap \ disable-actions \ disable-userdir \ disable-alias \ disable-so \ with-module=security:mod_security.c \ enable-modules='ssl rewrite proxy proxy_http' N u q trình biên d ch thành cơng, s ti p t c sau đ cài Apache httpd vào h th ng (t i thư m c m c đ nh /usr/local/apache): CODE localhost$ make localhost$ su localhost# umask 022 localhost# make install localhost# chown -R root:sys /usr/local/apache www.nhipsongcongnghe.net 3.5 i "root" c a server Ph n xin vui lòng tham kh o tài li u "Securing Apache 2:Step by Step." -m (còn ti p) Ph n sau: C u hình Apache httpd làm reverse proxy 0-: Th c t ph n ti ng Vi t c a tài li u "Securing Apache 2: Step-by-Step" chép nhi u t b n d ch m r ng tài li u "Securing Apache: Step-by-Step" (http://www.securityfocus.com/infocus/1694) c a hnd aka conmale Tham kh o thêm v b n d ch m r ng c a anh conmale t i http://www.hvaonline.net/forum/index.php?a T&f=161&t=46199 -1-: web-server ra, gi i pháp reverse proxy (ho c tương t ) có th áp d ng cho d ch v khác VNC (xem th http://sourceforge.net/projects/vnc-reflector/), mail (xem th tài li u "Qmail as the mail gateway" c a hnd@diendantinhoc.org) Ch nh t m t d ch v tui chưa làm đư c reverse proxy FTP, b có thơng tin v ftp reverse proxy cho tui vài xu -2-: v n có th thi t l p reverse proxy đ b o v cho web-server n m vùng DMZ, ho c thi t l p m t reverse-proxy đ t vùng Internal đ b o v web-server vùng Internal t m i hi m h a đ n t bên -3-: Ngoài Apache httpd ra, cịn có r t nhi u software khác có th đư c reverse proxy mà đáng k nh t pound Thao kh o thêm t i đ a ch http://www.apsis.ch/pound/ ng d ng đ làm -4-: Trustix m t distro nh g n (tr n b cài đ t ch có m t CD nh t) đư c xây d ng d a RedHat v i hai m c tiêu b o m t n đ nh Phiên b n stable m i nh t c a Trustix 2.2, phiên b n unstable 3.0 RC2 Tham kh o thêm t i www.trustix.org -5-: Tham kh o tài li u Linux Security HOWTO có t i http://www.tldp.org đ bi t thêm chi ti t Ph n m m Bastille-Linuxcũng s r t h u d ng vi c secure cho Linux server -6-: Ch có s tác d ng d ng Apache 2.x nh ng lu t c n l c OUTPUT c a mod_security m i có -7-: Tham kh o thêm tài li u v mod_security t i đ a ch http://www.modsecurity.org lo t kí s c a conmale v v t n công DDoS vào HVA -8-: K t phiên b n Apache httpd 2.0, mod_ssl đư c th c đưa vào Apache httpd Tham kh o thêm tài li u v mod_ssl t i đ a ch http://www.modssl.org -9-: Ch n l a MPM cho Apache 2.x m t v n đ c c kì quan tr ng, nh hư ng r t nhi n đ n performance c a server, tơi đ ngh nh ng quan tâm đ n Apache 2.x, nên tham kh o thêm tài li u v MPM t i http://httpd.apache.org/docs-2.0/mpm.html -10-: T i thread l i "ngon" process v performance? Nh ng quan tâm đ n v n đ xin tìm tìm đ c tài li u sau đây: Advanced Linux programming (http://www.advancedlinuxprogramming.com) Understanding the Linux kernel Tác gi Mrro - Nhóm HVAonline www.nhipsongcongnghe.net ng d ng t p tin htaccess máy ch Apache ng d ng t p tin htaccess máy ch Apache - 15/11/2004 12h:37 B n t ng nghe v t p tin htaccess máy ch h Unix (FreeBSD, Linux, Solaris, True64 )? B n bi t r ng t p tin có th u n đư c nhi u th , th m chí thay đ i đư c c thi t l p m c đ nh c a máy ch Apache http://apache.org/ Th b n t n d ng đư c l nh t p tin đ làm cho website c a m nh m , an tồn hơn? Trong vi t t ng h p này, tác gi s b n nghiên c u, ng d ng m t s l nh thông d ng nh t đ th c hi n tác v b o v , u n website theo ý b n mu n Nào, xin m i b n! T o trang báo l i mang màu s c cá nhân Trong trình làm vi c v i client, n u có l i x y (ví d khơng tìm th y t p tin) Apache s báo l i b ng m t trang có s n hi n th mã s c a l i đó, r t khơng đ p khó hi u V i haccess b n có th t t o trang báo l i hay làm đư c u t p tin htaccess b n thêm dòng sau: ErrorDocument mã s l i /trangloi.html Trong mã s l i mã s c a l i phát sinh, sau nh ng l i hay g p: - 401 400 403 500 404 - Authorization Required (c n password đ truy nh p) Bad request (L i yêu c u) Forbidden (không đư c vào) Internal Server Error (l i server) Wrong page (l i trang, khơng tìm th y ) trangloi.html trang web mà b n mu n hi n th l i phát sinh, có th đưa vào t p tin n i dung hay đ ho tùy b n, ch ng h n liên k t tr v trang c a trang web Ví d : ErrorDocument 404/trangloi.html ho c: ErrorDocument500/loi/500.html Bây gi b n t i (upload) t p tin htaccess trangloi.html lên hosting c a Ch ng ăn c p băng thông (bandwidth) Thông thư ng nh ng d ch v lưu tr web ch cung c p cho b n m t lư ng d li u luân chuy n (data transfer) nh t đ nh hàng tháng b n s d ng h t lư ng d li u này, website c a b n s t đ ng b đóng c a B n s ph i tr thêm ti n cho lư ng băng thông vư t ho c ph i bu c lòng ch đ n tháng sau N u hình nh, d li u, … c a b n b website khác “ăn tr m” (b ng th thu t đơn gi n) làm cho lư ng d li u luân chuy n c a b n tăng lên, có nghĩa b n s ph i tr ti n cho mà b n không s d ng S d ng t p tin htaccess m t gi i pháp hoàn h o, đ ngăn ch n vi c s d ng hình nh trái phép website c a b n B n ch vi c đưa vào t p tin htaccess n i dung sau : RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC] RewriteRule \.(gif|jpg)$ - [F] đo n mã s d ng module Rewrite c a máy ch Apache, b n ch vi c thay đ i trangweb.com thành đ a ch website c a Có th s d ng m t hình nh c nh cáo nh ng k “ăn tr m” băng thơng, b n dùng dịng l nh sau: www.nhipsongcongnghe.net RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC] RewriteRule \.(gif|jpg)$ http://www.trangweb.com/diehotlinker.jpg [R,L] Không cho hi n danh sách t p tin thư m c Trong trư ng h p m t thư m c khơng có t p tin index ho c default, Apache s hi n th m t danh sách li t kê nh ng t p tin có thư m c Tuy nhiên n u nh ng tài li u nh y c m, b n không mu n ngư i khác th y, thêm l nh sau vào t p tin htaccess Options –Indexes Thay th trang index Thông thư ng truy nh p vào m t trang web, Apache s tìm t p tin index.htm ho c default.htm tr k t qu v cho trình t, b n có th dùng htaccess thay đ i m c đ nh DirectoryIndex index.php index php3 messagebrd.pl index.html index.htm V i dòng l nh t t c t p tin đư c li t kê s đư c tìm theo th t có yêu c u t i thư m c hi n hành, trang đư c tìm th y đ u tiên s thành trang index c a thư m c C m/h n ch IP truy nh p M t s ngư i mu n làm ng p (flood) trang web c a b n, vi c c n làm ngăn c m nh ng IP c a nh ng ngư i truy nh p vào trang web, b n thêm đo n mã sau vào htaccess: deny from 203.262.110.20; cho phép IP truy nh p: allow from 203.262.110.20 N u b n ch vi t IP dư i d ng: 203.262.110 s c m t t c IP d i t 203.262.110.1 đ n 203.262.110.254 S d ng dòng l nh sau: Deny from all s c m t t c m i truy nh p đ n trang web thư m c, nhiên t p tin v n có th đư c s d ng t bên ngồi thơng qua l nh d ng require hay include (trong l p trình PHP), có th xem thêm mã ngu n c a PHPBB forum,IBF đ hi u rõ T đ ng chuy n đ n đ a ch m i (Redirection) B n chuy n trang web c a đ n đ a ch m i không ph i bi t u này, redirect truy nh p t xa m t cách đơn gi n b ng l nh sau: Redirect/olddirectory http://www.trangwebmoi.com/thumucmoi ; Tuỳ bi n đuôi t p tin Thông thư ng, tuỳ thu c vào ngôn ng l p trình web mà b n s d ng t p tin s có ph n m r ng khác như: html, htm, asp, aspx, php, cgi, …Tuy nhiên n u s d ng htaccess b n có th tác đ ng vào máy ch Apache, Apache s g i đ n t p tin c a b n tr v cho trình t web c a ngư i dùng v i ph n m r ng b n quy đ nh htaccess B n s d ng đo n l nh sau t p tin htaccess: RewriteEngine on RewriteRule (.*)\.dll$ $1.html Html ph n m r ng th c s c a nh ng t p tin website, dll ph n m r ng b n l a ch n Lưu ý liên k t trang web, b n ph i g i đư ng d n đ n t p tin v i ph n m r ng m i ( dll), ví d http://www.trangweb.com/in dex.dll Lưu ý s d ng t p tin htaccess: www.nhipsongcongnghe.net - Ch áp d ng máy ch Apache b t ch đ htaccess, n u chưa b n th v i nhà cung c p dich v hosting liên h t o t p tin b n có th s d ng chương trình Notepad c a Windows: ch n ch đ save as v i tên htaccess, lưu nh b txt -.htaccess ch có tác d ng đ i v i nh ng t p tin ngang hàng (trong thư m c v i nó) ho c thư m c V i thư m c, ch có tác d ng thư m c ch a thư m c con, cịn vơ tác d ng v i thư m c m (parent directory) - B n có th dùng m t s chương trình FTP (Leaf FTP, WS FTP, Cute FTP) đ t i t p tin htaccess lên hosting c a v i ch đ ASCII, n u khơng ho t đ ng b n th CHMOD v i giá tr 644 ...www.nhipsongcongnghe.net CÀI TH I U HÀNH LINUX REDHAT 8.0 M t s u lưu ý trư c cài: cài RedHat 8.0 ch y trơn tru tho i mái, b n c n có h th ng PII, 64MB Ram tr lên, phân vùng c ng dành đ cài Linux c n kho... u cài đ t: Cách đơn gi n thông d ng nh t đ cài Redhat Linux cài đ t t Kh i đ ng h th ng t b CDROM: b đĩa CD cài đ t ( CD s 1), nh n Enter t đ m c đ nh cài đ t theo ch đ đ ho Chương trình cài. .. đ cài Linux Linux c n t i thi u hai phân vùng Linux Native (ext3) Linux swap ơn gi n, b n có th dùng Partition Magic đ phân chia đĩa § M t partition Linux native ext3 C n kho ng 2GB tr lên đ cài