Tải bản đầy đủ (.pdf) (33 trang)

Cài đặt redhat linux 8.0(2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (298.23 KB, 33 trang )


www.nhipsongcongnghe.net

CÀI

TH

I U HÀNH LINUX REDHAT
8.0

1. M t s đi u lưu ý trư c khi 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, và
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ó gì c n

tr b n cài Linux trên m t h th ng có c u hình th p hơn, nhưng khi đó b n ch có th
ch y v i các

ng d ng h n ch trên h th ng.

Nên tìm hi u thơng s c u hình c a h th ng trư c khi cài đ t.

i u này r t quan tr ng,

giúp b n thu n l i trong quá trình c u hình h th ng sau khi cài đ t. B n s ph i l a ch n
cho đúng thông s c a các linh ki n ph n c ng trong quá trình c u hình h th ng như: lo i
card màn hình, lo i màn hình( t n s quét ngang, d c), card m ng, card âm thanh. v.v.

C n chu n b phân vùng đĩa còn tr ng đ cài Linux. Linux c n t i thi u hai phân vùng là


Linux Native (ext3) và Linux swap.

ơn gi n, b n có th dùng Partition Magic đ phân chia

đĩa.

§ M t partition là Linux native ext3. C n kho ng 2GB tr lên đ cài Linux, bao g m c KDE
và Gnome, các ti n ích đ h a, multimedia, và l p trình. T i thi u b n c n 400MB và cài
tồn b là 4,5GB.

§ M t partition là Linux swap, là 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.

2. B t đ u cài đ t:

Cách đơn gi n và thông d ng nh t đ cài Redhat Linux là cài đ t t

Kh i đ ng h th ng t

b CDROM:

b đĩa CD cài đ t ( CD s 1), và 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 màn hình, màn hình và sau đó đi vào q trình cài đ t. Thơng qua
t ng bư c wizard đ b n ch n các thơng s v h th ng như bàn phím, chu t, ngơn ng
trong 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 này. Dung lư ng đĩa c n cho ki u cài đ t này 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 năng đ ho cao c p và các công
c phát tri n.

- Server: cài đ t h th ng đóng vai trị máy ch như webserver, ftpsever, SQL server.v.v.

- Custom: đây là l a ch n linh ho t cho b n trong quá trình cài đ t. B n có th ch n các
gói ph n m m, các 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 là quá trình nh y c m nh t và nguy hi m nh t trong quá trình cài đ t, vì ch c n b t
c n ch n sai thì d

li u trên

c ng c a b n có th b m t s ch.

Ch c năng “automatic partition” s giúp b n t

đ ng t o các 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”, vì như th t t c các
phân vùng trên

c ng c a b n đ u b xoá. Option “remove all Linux partition on this

system” s ch xoá các phân vùng c a Linux mà thơi

đây, đ thu n ti n thì b n có th dùng Partition Magic đ phân chia đĩa trư c. T i giai
đo n này ch là công vi c t o đ nh d ng cho phân vùng cài đ t mà thôi. 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 các phân vùng:

M t phân vùng ch a mount point là “/”, có ki u file h th ng là Linux Native ext3.

M t phân vùng swap cho Linux, ki u c a phân vùng này là Linux swap, kích thư c t i ưu
là g p đôi dung lư ng RAM c a h th ng hi n t i.


Các button trên màn hình giao di n cho phép b n thao tác phân chia và đ 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 là gì (ext3, swap, fvat…), qui đ nh l i kích thư c, là thư m c gì trong 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 nào đư c th c hi n cho đ n khi b n hồn thành cơng vi c v i Disk Druid.

c. Cách qu n lý đĩa trong Linux:

Trong c u trúc cây th

b c c a Linux, cao nh t là “/”, dư i đó là /boot, /etc, /root, /mnt

.v.v.

i v i Linux, m i thi t b ph n c ng đ u đư c coi như file ho c thư m c n m trong h
th ng phân c p cây thư m c. Ch ng h n h th ng c a b n có hai
nh t là /dev/had,

c ng th

hai là /dev/hdb. Trong cùng m t

chia thành các phân vùng khác nhau. M t
đánh s th


t

t

1 đ n 4. tương

ng v i

c ng thì đĩa c ng th

dĩa, các h th ng file đư c

c ng có 4 phân vùng chính (primary) đư c
c ng đ u tiên s là 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 là chương trình dùng đ kh i đ ng Linux cũng như các h đi u hành khác (dual boot)
khi b n có nhi u hơn m t h đi u hành đư c cài trên h th ng. Grub là boot loader m c
đ nh khi cài RedHat 8.0.

ây là chương trình r t m nh và uy n chuy n. Grub t

đ ng dị

các h đi u hành hi n có trên h th ng và thêm vào trong danh sách kh i đ ng. Các tuỳ

ch n trên mà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 trong

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 như system commander ch ng h n, b n
hãy ch n cài grub lên “first sector of boot partition”. Như v y, system commander s t
đ ng nh n ra Linux và 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 và có th t o thêm các account khác
đ log in vào h th ng khi vi c cài đ t hoàn t t.

Tài kho n root là tài kho n có quy n cao nh t trong 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 khi đăng nh p vào h th ng v i tài kho n này.

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 các gói ph n m m đ cài đ t đư c th c hi n r t thu n tiên khi
các gói ph n m m đư c gom l i thành nhóm. Có th ch n cài các gói ph n m m ngay lúc
này các gói c n thi t ho c có th cài thêm sau khi hoàn t t cài đ t.


B n ch n m c “select individual package” đ cài thêm các gói mà m c đ nh s khơng cài
cho b n. Ví d như mc (Midnight Commander, tương t

NC trong DOS). Sau khi l a ch n

xong, chương trình cài đ t s duy t các 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 chú ý đ không vư t quá dung lư ng phân vùng mà b n đã dành cho Linux
trong quá trình ch n l a. M t đi u chú ý là b n nên cài các programming develop và
kernerl source, các thư vi n l p trình đ thu n ti n cho vi c sau này c n biên d ch l i nhân
h đi u hành ho c cài đ t và biên d ch ph n m m và 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 và màn hình c a b n s n m trong 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 là ch n lo i vesa. V màn 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 màn hình.

Hãy c n th n vì quá trình này d làm h ng màn hình và card đ ho c a b n.

ây chính là

lý do b n c n n m v ng thông s c a các linh ki n ph n c ng.

N u khơng c n Linux t


dị tìm và 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 khi 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 suôn s , chúc m ng b n đã hoàn t t quá trình cài đ t Linux.

Lưu ý v card đ h a


www.nhipsongcongnghe.net
M c dù Linux nh n d ng và h tr đúng nhi u lo i card đ ho đư c s n xu t trong 2 năm
g n đây, sau khi c u hình, card đ ho v n ch y v i bus PCI cho dù card đ h a c a b n là
lo i AGP, và b n v n chưa t n d ng đư c các ch ng năng đ ho 3D cao c p c a nó. Lý do
là các nhà s n xu t linh ki n vì lý do b o m t và b n quy n nên chưa h tr cho các nhà
phát tri n Linux. Tuy nhiên, hi n nay nhi u nhà s n xu t ph n c ng đã b t đ u h tr
driver cho các linh ki n c a mình trên các 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 nó thơng qua www.nvidia.com ho c
Các game 3D ch y v i hình nh r t m n
màng khơng thua kém gì trên MS Window sau khi b n đã cài driver cho h th ng.


www.nhipsongcongnghe.net

Cách cài đ t font và in

n ti ng Vi t trên

Linux


Có 2 cách cài đ t Unicode fonts cho X Window.
1. S

d ng ttmkfdir (cách cũ)

2. S

d ng fontconfig (cách m i cho Mandrake-9.0, RedHat-8.0)

1. 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 trong 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 đi 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

2. S


d ng fontconfig (cách m i cho Mandrake-9.0, RedHat-8.0):

a. B utf8.tar.gz vơ /usr/share/fonts và m nó ra 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 thôi không c n kh i đ ng l i xfs hay X.

B n cũng có th b arial font (t i v đ a ch

dư i) vô trong ~/.fonts và không ph i restart

cái chi h t n u b n xài fontconfig (Red Hat 8 ho c 9 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 và cách in ti ng Vi t:


Thông thư ng n u b n xem trang web b ng Mozilla thì khơng c n ph i set font gì c . N u
b n xài Konqueror trên Red Hat 8.0 thì b n ph i set fonts trong Konqueror như hình

đây

thì m i xem và in đư c ti ng Vi t.

N u b n xài b n Mandrake m i nh t (9.1) thì b n s khơng c n làm gì h t. Vi c hi n th và
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

ho c

n u b n v n chưa hi n th đư c tiêng Vi t 100%
.fontconfig homepage t i .
.ttmkfdir có th t i v t

/>
.mkfontdir n m trong gói XFree86-3x (ho c XFree86-4x)
. Viet Unicode có nhi u fonts />

www.nhipsongcongnghe.net

Th

thu t b o m t cho Linux


Trong bài vi t này, chúng tôi 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, chúng tôi s

b ng RedHat, m t phiên b n Linux r t ph

bi n

Vi t Nam và trên th

gi i).

Hi n nay, trên môi trư ng máy ch , Linux ngày càng chi m m t v trí quan tr ng.
Nguyên nhân khi n Linux d n tr
Microsoft Windows là do tính

thành m t đ i th

n đ nh, đ

ti m nǎng c a h


linh ho t và kh

nh ng đ c đi m quan tr ng hàng đ u c a m t h

đi u hành

nǎng ch u t i l n: đây là

th ng máy ph c v .

Tính b o m t t t cũng là m t trong nh ng đi 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 các cu c t n công, ngư i qu n tr cũng
k nǎng nh t đ nh. Trong bài vi t này, chúng tơi xin

kinh nghi m nh m nâng cao tính an toàn cho m t h

theo dõi cho b n đ c, chúng tôi s

b n Linux r t ph


bi n

1.1. Lo i b

b ng RedHat, m t phiên

các account và nhóm đ c bi t

t tc

Vi t Nam và trên th

minh ho

th ng

gi i).

Ngay sau khi cài đ t Linux, ngư i qu n tr nên xoá b
(group) đã đư c t o s n trong h

t tc

các account và nhóm

th ng nhưng khơng có nhu c u s

d ng, ví d

như 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 và nhóm nào khơng c n cho h

th ng

c a mình r i hãy 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 trên h

th ng, có th

xố account lp như

sau:

# userdel lp

Tương t

như v y, có th


th c hi n vi c xố b

các 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 và c

Linux, m t kh u c a toàn b

các account đã t ng

đư c lưu ngay trong file /etc/password, file có quy n đ c b i t t c
trong h

th ng!

ây là m t k

h


l n cho các k

phá ho i: M c dù các m t kh u

đ u đư c mã hoá, nhưng vi c gi i mã ngư c là có th
th c hi n khá d

dàng, đ c bi t vì cơ ch

và ngày nay kh

nǎng tính tốn và x

các account

th c hi n đư c (và có th

mã hỗ m t kh u khơng ph i là khó phá

lý c a máy tính r t m nh). Vì lí do trên, g n

đây các nhà phát tri n Unix và 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 trong file

/etc/password ngư i ta đánh d u "x")


N u b n đ c đang s
7.x) thì nh

d ng các phiên b n RedHat g n đây (ví d

RedHat 6.x hay

ch n l a Enable the shadow password khi cài đ t RedHat đ

s

d ng

tính nǎng che gi u m t kh u này (Cũng th t may vì ch n l a này là m c đ nh
trong h u h t các phiên b n Linux đang 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 ra kh i d u nh c shell khi k t thúc

công vi c. B n thân tôi cũng đã t ng nhi u l n khi đang th c hi n vi c qu n tr
v i account root thì b
m tk


phá ho i

đi vì m t s

đó: K

này 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 nào c .

gi m nguy cơ này, ngư i qu n tr nên cài đ t tính nǎng t

đ ng thốt ra kh i

shell khi khơng có s

truy xu t nào trong 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 duy 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 và gán cho nó

hi n kho ng th i gian tính b ng giây h

th c hi n đi u này cho t t c

các account trong h

nh t là đ t nó vào file /etc/profile dòng l nh sau: (gi
là 600 giây)

th ng v n duy trì d u

s

th ng, cách đơn gi n


ta đ t kho ng th i gian


www.nhipsongcongnghe.net
TMOUT=600

Như v y là n u trong kho ng 10 phút ngư i s
s

t

d ng không truy xu t shell, shell

đ ng thoát ra. Tuy nhiên c n chú ý: M o này s

khơng "ǎn" n u lúc đó ngư i

dùng đang ch y m t chương trình nào đó như vi hay mc,... Có nghĩa là ngư i dùng
ph i đang làm vi c tr c ti p v i shell ch

không ph i v i b t kỳ m t chương trình

nào khác.

4.4. Lo i b

các d ch v

không s


d ng

M t đi u khá nguy hi m là sau khi cài đ t, h
d ch v

(và đa s

là các d ch v

nên nhi u nguy cơ v

th ng t

đ ng b t ch y khá nhi u

không mong mu n), d n t i t n tài nguyên và gây

b o m t. Ngư i qu n tr nên lo i b

ngay l p t c các d ch v

không dùng t i ngay sau khi cài máy. Ho c đơn gi n b ng cách xoá b
ph n m m/d ch v
RedHat) ho c s

không s

d ng (qua công c


d ng công c

ntsysv đ

đ t r i vơ hi u hố nh ng d ch v
d ch v

không s

D ch v
h

y u đã bi t.

duy t xem t t c

các d ch v

không c n thi t (b ng cách b

không mong mu n s

thông tin v

cho phép truy xu t h

th ng, d

qu n tr gói ph n m m rpm c a
đang cài


đánh d u các

d ng v i phím Space). Sau khi thốt ra kh i ntsysv thì kh i

đ ng l i máy: các d ch v

5.5. Khơng ti t l

các gói

h

th ng qua telnet

th ng t

xa telnet có kh

t o đi u ki n cho nh ng k
i u này r t d

không ch y n a.

nǎng ti t l

phá ho i t n công d a vào nh ng đi m

nh n th y: M i ngư i dùng k t n i t


telnet đ u nh n đư c thông tin v

thông tin v

xa vào d ch v

tên máy, phiên b n Linux và phiên b n c a

nhân (kernel) c a máy ch .

tránh đi u này, ta c n th c hi n vi c kích ho t telnetd (telnet server) v i tham
s

-h. (Tham s

-h s

ngǎn telnet ti t l

"Login:" cho nh ng ngư i k t n i t

các thông tin và ch in ra d u nh c

xa).

Do các phiên b n RedHat 7.x khi ch y telnetd khơng cịn s
s

d ng inetd n a (mà


d ng xinetd - m t phiên b n nâng c p và có nhi u c i ti n so v i inetd) nên

cách c u hình l i telnetd s

khác nhau tuỳ theo phiên b n RedHat đang s

+ V i các phiên b n RedHat 6.x và trư c đó, th c hi n các bư c sau:

Trong file /etc/inetd.conf, thay đ i dòng

d ng.


www.nhipsongcongnghe.net
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

chuy n thành :

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h

Ti p theo, kh i đ ng l i inetd b ng câu l nh:

# /etc/rc.d/init.d/inetd restart

+ V i các phiên b n RedHat 7.x, th c hi n bư c sau:

Trong file /etc/xinetd.d/telnet , thêm ch n l a:

server_args = -h


File trên s

có d ng như sau;

service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
server_args = -h
}

Ti p theo, kh i đ ng l i xinetd b ng câu l nh:

# /etc/rc.d/init.d/xinetd restart

6.6. Tránh s

M c dù

d ng các d ch v

khơng mã hố thơng tin trên đư ng truy n

trên chúng tơi đã trình bày cách ngǎn d ch v


nhưng chúng tơi xin có l i khuyên: Tuy t đ i tránh s
như telnet, ftp (ngo i tr
h

telnet ti t l

thông tin,

d ng nh ng d ch v

ftp anonymous) vì nh ng d ch v

mã hoá m t kh u khi truy n qua m ng. B t kỳ m t k

ki u

này hoàn toàn khơng

phá ho i nào cũng có


www.nhipsongcongnghe.net
th

d

dàng "tóm" đư c m t kh u c a b n b ng nh ng công c

nghe lén ki u như


sniffer.

Ơ' nh ng trư ng h p có th , nên s
telnet: d ch v

d ng d ch v

SSH (Secure Shell) dùng cơ ch

thông tin, th c hi n mã hoá c
Hi n đang đư c s

ssh thay th

cho c

mã hố cơng khai đ

ftp và
b om t

m t kh u l n thông tin chuy n trên đư ng truy n.

d ng khá r ng rãi, gói ph n m m c a SSH cũng đư c đóng

kèm trong h u h t các phiên b n g n đây c a Linux. Ch ng h n, các phiên b n
RedHat t
th

s


7.0 tr

lên m c đ nh đ u cài OpenSSH, m t s n ph m mã ngu n m

d ng hồn tồn mi n phí. (B n đ c có th

www.openssh.org v



tham kh o website

s n ph m này).

Ngoài ra, nh ng d ch v
nên tuy t đ i tránh s

"r" ki u như rsh, rcp hay rlogin chúng tôi cũng khuyên
d ng. Lý do là các d ch v

này ngoài vi c truy n m t kh u

khơng mã hố cịn th c hi n vi c ki m tra quy n truy xu t d a trên đ a ch máy
k t n i, là m t đi u c c kỳ nguy hi m. Các k
đ u có th

d

Có th


d ng k thu t spoofing

dàng đánh l a đư c cách ki m tra này khi "làm gi " đư c đ a ch

c a máy truy xu t d ch v

7. 7. C m s

phá ho i s

h pl .

d ng account root t

consoles

b n đ c đ u nh n th y, ngay sau khi cài đ t RedHat, account root s

không có quy n k t n i telnet vào d ch v
account thư ng m i có th

telnet trên h

th ng (ch nh ng

k t n i). Nguyên nhân là do file /etc/securetty quy

đ nh nh ng console đư c phép truy nh p b i root ch li t kê nh ng console "v t
lý" (t c là ch truy xu t đư c khi ng i tr c ti p t i máy ch ) mà b

n i qua m ng. D ch v

ftp cũng s

b h n ch

qua nh ng k t

này: account root không đư c phép

truy xu t ftp qua m ng.

tǎng tính b o m t hơn n a, so n th o file /etc/securetty và b
console b n không mu n root truy nh p t

đi nh ng

đó.

8.8. C m "su" lên root

Trong Linux, l nh su (Substitute User) cho phép ngư i dùng chuy n sang m t
account khác. N u không mu n m t ngư i b t kỳ "su" thành root, thêm hai dòng
sau vào n i dung file /etc/pam.d/su

auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/Pam_wheel.so group=wheel


www.nhipsongcongnghe.net


Như v y, ch có nh ng ngư i có đǎng ký là thành viên c a nhóm wheel m i có
quy n "su" thành root.

cho phép m t ngư i dùng có quy n này, ngư i qu n tr

ch vi c gán account c a ngư i này vào nhóm wheel (qua file /etc/group)

9.9. H n ch

các thơng tin ghi b i bash shell

Thông thư ng, t t c

các l nh đư c th c hi n t i d u nh c shell c a các account

đ u đư c ghi vào file ".bash_history" n m trong thư m c cá nhân c a các
account.

i u này cũng gây nên nh ng nguy hi m ti m

n, đ c bi t v i nh ng

ng d ng địi h i ph i gõ các thơng m t như m t kh u trên dòng l nh. Ngư i
qu n tr nên h n ch

nguy cơ này d a trên 2 bi n môi trư ng HISTFILESIZE và

HISTSIZE: Bi n môi trư ng HISTFILESIZE xác đ nh s
s


l nh (gõ t i d u nh c shell)

đư c lưu l i cho l n truy nh p sau, cịn bi n mơi trư ng HISTSIZE xác đ nh s

l nh s

đư c ghi nh

trong phiên làm vi c hi n th i. Ta có th

HISTSIZE và đ t b ng 0 giá tr HISTFILESIZE đ

gi m giá tr c a

gi m t i đa nh ng nguy hi m đã

nêu trên.

th c hi n vi c này, ch c n đơn gi n thay đ i giá tr hai bi n này trong file
/etc/profile như sau:

HISTFILESIZE=0
HISTSIZE=20

Như v y, t i phiên làm vi c hi n th i, shell ch ghi nh

20 l nh g n nh t, đ ng

th i không ghi l i các l nh ngư i dùng đã gõ khi ngư i dùng thoát ra kh i shell.


10.10. C m nhịm ngó t i nh ng file script kh i đ ng Linux

Khi kh i đ ng Linux, các file script đư c đ t t i thư m c /etc/rc.d/init.d s
th c hi n.

tránh nh ng s

đư c

tị mị khơng c n thi t, ngư i qu n tr nên h n ch

quy n truy xu t t i nh ng file này ch cho account root b ng l nh sau:

# chmod -R 700 /etc/rc.d/init.d/*

11.11. Xố b

nh ng chương trình SUID/SGID khơng s

Thông thư ng, nh ng
hi n
m ts

d ng

ng d ng đư c th c hi n dư i quy n c a account g i th c

ng d ng. Tuy nhiên, Unix và Linux s


d ng m t k thu t đ c bi t cho phép

chương trình th c hi n dư i quy n c a ngư i qu n lý chương trình (ch


www.nhipsongcongnghe.net
không ph i ngư i th c hi n).
th ng đ u có th

ây chính là lý do t i sao t t c

đ i m t kh u c a mình trong khi khơng h

m i user trong h
có quy n truy xu t

lên file /etc/shadow: Nguyên nhân vì l nh passwd có gán thu c tính SUID và
đư c qu n lý b i root, mà ch có root m i có quy n truy xu t /etc/shadow.

Tuy nhiên, kh

nǎng này có th

gây nên nh ng nguy cơ ti m tàng: N u m t

chương trình có tính nǎng th c thi đư c qu n lý b i root, do thi t k
đư c cài đ t c
t it

tình b i nh ng k


đ u có th

x y ra. Th c t

phá ho i mà l i có thu c tính SUID thì m i đi u
cho th y, khá nhi u k thu t xâm nh p h

mà khơng có quy n root đư c th c hi n nh
nào đó t o đư c m t shell (ví d

k thu t này: k

th ng

phá ho i b ng cách

bash) đư c qu n lý b i root, có thu c tính SUID.

Sau đó m i truy xu t phá ho t s
hi n trong shell s

t i ho c do

đư c th c hi n qua shell này vì m i l nh th c

đư c th c hi n dư i quy n c a root.

Thu c tính SGID cũng tương t


như thu c tính SUID: các chương trình đư c th c

hi n v i quy n nhóm là nhóm qu n lý chương trình ch

khơng ph i nhóm c a

ngư i ch y chương trình.

Như v y, ngư i qu n tr s
nh ng

ph i thư ng xuyên ki m tra xem trong h

th ng có

ng d ng nào có thu c tính SUID ho c SGID mà khơng đư c phép khơng?

tìm t t c

các file có thu c tính SUID/SGID, s

d ng l nh find như sau:

# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls ưlg {} \;

N u phát hi n đư c m t file có thu c tính SUID/SGID m t cách khơng c n thi t,
có th

lo i b


các thu c tính này b ng l nh:

# chmod a-s

12.12. Tǎng tính b o m t cho nhân (kernel) c a Linux

Th c t

cho th y, Linux không h n đư c thi t k

ch t ch : khá nhi u l
th ng. Do đó, vi c s

h ng có th
d ng m t h

b l i d ng b i nh ng tin t c thông th o v
đi u hành v i nhân đư c c ng c

tr ng: M t khi nhân - ph n c t lõi nh t c a h
nguy cơ b phá ho i s

B n đ c có th

v i các tính nǎng b o m t th t
h

là r t quan

đi u hành - đư c thi t k


t t thì

gi m đi r t nhi u.

xem xét vi c c ng c

nhân Linux thông qua các mi ng vá (patch).

Tôi xin gi i thi u m t trong nh ng website t t nh t chuyên cung c p các mi ng


www.nhipsongcongnghe.net
vá b

sung cho nhân Linux v

đ c có th

b o m t t i đ a ch www.grsecurity.net. T i đây b n

tìm hi u thơng tin h u ích và t i xu ng các mi ng vá b

th ng Linux c a mình.

sung cho h


www.nhipsongcongnghe.net


B om th
1.

th ng *nix v i PAM

tv nđ

Ch c h n b n đã t ng t

h i t i sao các chương trình ftp, su, login, passwd, sshd, rlogin …

l i có th hi u và làm vi c v i shadow password; hay t i sao các chương trình su, rlogin l i
địi hịi password; t i sao m t s h th ng ch cho m t nhóm nào đó có quy n su, hay
sudo, hay h th ng ch cho phép m t s ngư i dùng, nhóm ngư i dùng đ n t

các host xác

đ nh và các thi t l p gi i h n cho nh ng ngư i dùng đó, …T t c đ u có th lý gi i v i PAM.
ng d ng c a PAM còn nhi u hơn nh ng gì tơi v a nêu nhi u, và nó bao g m các module
đ ti n cho ngư i qu n tr l a ch n.

2. C u trúc PAM

- Các

ng d ng PAM đư c thi t l p trong thư m c /etc/pam.d hay trong file /etc/pam.conf

( login, passwd, sshd, vsftp, …)
- Thư vi n các module đư c lưu trong /lib/security ( pam_chroot.so, pam_access.so,
pam_rootok.so, pam_deny.so, … )

- Các file c u hình đư c lưu trong /etc/security ( access.conf, chroot.conf, group.conf ,… )
+access.conf –
+group.conf –

i u khi n quy n truy c p, đư c s
i u khi n nhóm ngư i dùng, s

d ng cho thư vi n pam_access.so.

d ng b i pam_group.so

+limits.conf – thi t l p các gi i h n tài nguyên h th ng, đư c s
+pam_env –

i u khi n kh năng thay đ i các bi n môi trư ng, s

d ng b i pam_limits.so.
d ng cho thư vi n

pam_env.so .
+time – Thi t l p h n ch th i gian cho d ch v và quy n ngư i dùng, s

d ng cho thư

vi n pam_time.so.

3. Cách ho t đ ng c a PAM

Thu t ng
- Các chương trình login, pass, su, sudo, … trên đư c g i là privilege-granting application (

chương trình trao đ c quy n ).

- PAM-aware application: là chương trình giúp các privile-granting application làm vi c v i
thư vi n PAM.

Các bư c ho t đ ng:

1. Ngư i dùng ch y m t

ng d ng đ truy c p vào d ch v mong mu n, vd login.


www.nhipsongcongnghe.net
2. PAM-aware application g i thư vi n PAM đ th c hi n nhi m v xác th c.
3. PAM library s d a vào file c u hình c a chương trình đó trong /etc/pam.d ( vd

đây là

login -> file c u hình /etc/pam.d/login ) xác đ nh lo i xác th c nào đư c yêu c u cho
chương trình trên. Trong trư ng h p khơng có file c u hình, thì file /etc/pam.d/other s
đư c s

d ng.

4. PAM library s load các module yêu c u cho xác th c trên.
5. Các modules này s t o m t liên k t t i các hàm chuy n đ i ( conversation functions )
trên chương trình.
6. Các hàm này d a vào các modules mà đưa ra các yêu c u v i ngư i dùng, vd chúng yêu
c u ngư i dùng nh p password.
7. Ngư i dùng nh p thông tin vào theo yêu c u.

8. Sau khi quá trình xác th c k t thúc, chương trình này s d a vào k t qu mà đáp

ng

yêu c u ngư i dùng ( vd cho phép login vào h th ng ) hay thông báo th t b i v i ngư i
dùng.

4. Bây gi chúng ta s nghiên c u file config

Listing 10-1: The /etc/pam.d/rlogin file
#%PAM-1.0
auth required /lib/security/pam_securetty.so
auth sufficient /lib/security/pam_rhosts_auth.so
auth required /lib/security/pam_stack.so service=system-auth
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_stack.so service=system-auth
password required /lib/security/pam_stack.so service=system-auth
session required /lib/security/pam_stack.so service=system-auth

Các dịng trong file config có d ng sau:

module-type control-flag module-path module-args

----MODULE TYPE
auth: th c hi n xác th c. Thông thư ng, m t auth module s yêu c u password đ ki m
tra, hay thi t l p các đ nh danh như nhóm ngư i dùng, hay th kerberos.

Account đi u khi n s

ki m tra “b m t” v i yêu c u xác th c. Ví d , nó có th ki m tra


ngư i dùng truy c p d ch v t

m t host và trong th i gian cho phép hay không.


www.nhipsongcongnghe.net

Password: thi t l p password. Thơng thư ng, nó ln có s

tương

ng gi a m t module

auth và m t module password..

Session: đi u khi n các 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 khi đã đư c xác th c..

----PAM MODULE CONTROL FLAGS

Require: c đi u khi n này nói v i PAM library 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 thì q trình xác th c th t
b i. Nhưng lúc đó, PAM v n ti p t c v i các module khác, tuy nhiên 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 này đã b th t b i

giai đo n

nào.

Sufficient: c này khác v i c trên

ch , khi có m t module th c hi n thành cơng nó s

thơng báo hồn thành ngay q trình xác th c, mà khơng duy t các module khác n a.

Requisite: c này có ý nói PAM library lo i b ngay quá trình xác th c khi g p b t kỳ thông
báo th t b i c a module nào.

Optional: c này ít khi đư c s

d ng, nó có ý nghĩa là module này đư c th c hi n thành

công hay th t b i cũng không quan tr ng, không nh hư ng quá 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 các module.


Các module ( auth, account, password, session ) đư c th c hi n trong stack và chúng đư c
th c hi n theo th

t

xu t hi n trong file config.

Các chương trình yêu c u xác th c đ u có th s

d ng PAM.

5.Sau đây tôi xin gi i thi u ch c năng c a m t s module

_ pam_access.so:

- Support module type :account
- Module này s

d ng file thi t l p trong etc/security/access.conf .


www.nhipsongcongnghe.net
File c u hình này có d ng như sau:
< + or - > : : + : grant permission
- : deny permission
V i username list là ngư i dùng hay nhóm ngư i dùng, tty list là login qua console, host
list xác đ nh các host hay domain. Chúng ta có th s

d ng các 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 , và 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 các user thi t l p trong /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 trong
/home/osg mà khơng có quy n truy c p đ n các thư m c home c a ngư i dùng khác
Thêm dòng sau trong /etc/pam.d/sshd ( lưu ý trong /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 này luôn tr v giá tr false. Vd nó đư c dùng trong /etc/pam.d/other đ t

ch i


m i truy c p c a ngư i dùng khi truy c p vào các PAM-aware program mà không có 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 trong

/etc/pam.d/other. Khi ngư i dùng login vào h th ng, đ u tiên s g i các module trong
/etc/pam.d/login ra và yêu c u ngư i dùng nh p thông tin tương
password ), n u các thông tin này không đáp
deny quy n truy c p.

#/etc/pam.d/other

ng ( username,

ng thì PAM s g i /etc/pam.d/other ra đ


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 các gi i h n tài nguyên trong /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


trong /etc/security/limits.conf

Vd dư i đây, t t c user gi i h n 10 MB m i session và cho phép max là 4 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 , và các user thu c
wwwusers không th t o files l n hơn 50 MB = 500000 KB.

Listing 3. Setting quotas and limits


www.nhipsongcongnghe.net

* hard rss 10000
* hard maxlogins 4
* hard core 0
bin ftp hard maxlogins 10
@managers hard nproc 40
@developers hard memlock 64000
@wwwusers hard fsize 50000

active các 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 này đ c thông tin trong file và th c hi n hành đ ng đư c thi t l p ( như 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 các nhân t như


username, host, groups, …

Ví d trong 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 và đ c trong /etc/ftpusers, n u /etc/ftpusers ch a
các dịng username, thì PAM s s

d ng sense=deny đ quy t đ nh ngăn c n các user này

truy c p vào. V y các user trong /etc/ftpusers s ko có quy n truy c p vào ftp.

_ pam_rootok.so

S

d ng module này đ yêu c u root không c n nh p password khi th c hi n chương

trình, vd nó đư c gán vào su đ chi r ng root không c n gõ passwd khi đá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: />Mã ngu n module:
/>

www.nhipsongcongnghe.net

Cách biên d ch nhân (kernel)

1. L y kernel v :

Kernel source có th

t iv

t

. B n stable hi n t i là

2.4.21 và developer là 2.5.73. N u b n không mu n test nh ng ch c năng m i
c a kernel thì nên s

d ng 2.4.21 cho công vi c hàng ngày.


2. Bung nén và chu n b kernel: gi
ch y các dòng l nh dư i b n s

s

b nv at iv

linux-2.4.21.tar.bz2, sau khi

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 đây b n đã s n sàng cho vi c compile nhưng đơi lúc có l
m t patch nào đó thì có th

b ns

c n apply

ch y l nh sau trong thư m c /usr/src/linux

$patch -p1 --dry-run < /đ a đi m/và tên/c a patch

Lưu ý: --dry-run s


'gi

đò' apply cái patch nhưng th c s

nên xài --dry-run trư c khi apply đ

phịng h

chưa làm gì h t. B n

cái patch khơng ph i cho kernel

b n đang xài ho c patch còn b l i. Sau khi ch y --dry-run và khơng th y báo l i
gì thì b n có th

th t s

apply patch b ng l nh $patch -p1 < /đ a đi m/và

tên/c a patch

3. Compile kernel: s

đư c th c hi n v i các 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 mình s

m t ch c năng nào đó thì nên tr
n u b n lư ng l

l i Y còn khơng thì tr

khơng bi t cái ph n c ng c a mình s

l i N, tr

xài

l i M (module)

xài driver này hay driver

khác, nh t là ph n cho network card hay sound card. N u b n không rõ câu h i
này h i cái gì thì gõ h s

có ph n gi i thích khá rõ ràng.


www.nhipsongcongnghe.net

B n có th

t iv

m t b n config m u mà mình 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 và ipsec VPN compiled vô
kernel, tulip, intel, realtek modules cho network cards, iptables và wireless
modules. N u b n không c n cái nào thì ch vi c comment out (b

cái d u #

phía trư c) cái hàng đó. Ch ng h n máy b n là Petium4 thì nên thay đ i v i giá tr
tương

ng. Sau đó ch y l nh $make oldconfig thay vì $make menuconfig như

trên.

3b. $make dep s

chu n b các 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 và t o các source tree.

compile kernel. N u m i chuy n sn s


có bzImage n m trong thư m c /usr/src/linux/arch/i386/boot

3e. $make modules s
menuconfig

compile các modules b n ch n trong lúc ch y $make

trên.

3f. $make modules_install s

cài các 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 và compile SCSI card ho c filesystem (ext3, reiserfs,..v..)
mà máy s

d ng dư i d ng module thì 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 và filesytem vơ ln kernel thì bái bai initrd.

:

4. 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 trên

/dev/hda3 và /boot n m trên /dev/hda1, thêm vào nh ng hàng sau:

title MyKernel-2.4.21


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×