Lựa chọn Hệ điều hành cho mỏy chủ

Một phần của tài liệu HỖ TRỢ BẢO MẬT HỆ THỐNG THÔNG TIN CHO CÁC MẠNG TIN HỌC VIỆT NAM (Trang 77 - 113)

- Nhúm BugSearch sẽ tiến hành kiểm tra (tức là thực hiện lại đỳng như cỏc thao tỏc mà cỏc hacker đĩ làm, kiểm tra cỏc dấu vết cỏc hacker đĩ để lại trờn hệ thống ) và gửi phỳc đỏp tớ

3. Lựa chọn Hệ điều hành cho mỏy chủ

a. căn cứ trờn cơ sở vật chất hiện cú

o Mụ hỡnh của mỏy chủ bugsearch được đưa ra dựa trờn

điều kiện của một cụng ty vừa và nhỏ, với mức đầu tư vừa phải

o Được sự hổ trợ của lĩnh đạo ĐHQG, 1 server với cấu hỡnh khụng mạnh lắm được sử dụng để làm mỏy chủ.

o Đõy là mỏy chủđược lắp rỏp ở Việt Nam b. những đỏp ứng cú thể

Trong điều kiện này, những hệđiều hành sau đĩ được chỳng tụi xột đến: Solaris for Intel, RedHat Linux, Windows server, Suse Linux,

c. so sỏnh giữa cỏc hệđiều hành server

o Solaris for Intel:

o RedHat Linux: đõy là hệđiều hành quen thuộc với nhúm quản trị. Hiện tại đĩ cú Linux RedHat version 9.0, nhưng chỳng tụi chọn versions 7.1 do tớnh ổn định sau gần hai năm triển khai trờn cỏc mỏy chủ của ĐHQG.

o Windows server: Đõy là hệđiều hành gần gũi nhất với người dựng ở Việt Nam. Tuy nhiờn phải lựa chọn Windows cho mỏy chủ Web server là một điều nguy hiểm vỡ trong quỏ trỡnh phỏt triển dự ỏn, chỳng tụi đĩ tỡm ra nhiều lỗi hết sức nghiờm trọng mà admin khụng lường trước được.

o Suse Linux: khụng phổ biến lắm ở Việtnam

Sau khi cõn nhắc giữa cỏc hệđiều hành, chỳng tụi đĩ chọn RedHat Linux 7.1 là hệđiều hành cho mỏy chủ bugsearch. Với mục đớch tạo sõn chơi thỡ RedHat Linux quả là một phương tiện hữu ớch để

tất cả cỏc bạn trẻ Việt Nam ( vốn quen thuộc với RedHat ) thi thố

tài năng.

4. Cài đặt hệđiều hành Linux trờn mỏy chủ

Theo như những kinh nghiệm nhỏ nhoi đỳc kết được trong quỏ trỡnh làm việc, chỳng tụi thấy những vấn đề sau đõy cần được tũn thủ trong quỏ trỡnh xõy dựng mỏy chủ.

78

Đõy là yờu cầu tiờn quyết đối với cỏc nhà quản trị hệ thống, bạn khụng kiểm soỏt được một ngụi nhà mà khụng biết ngụi nhà đú được làm từ chất liệu gỡ ? tường ra sao ? mỏi thế nào ? …

Thực ra nắm được cấu hỡnh của mỏy chủ rất quan trọng trong phần cấu hỡnh kernel cho mỏy chủ, bạn chỉ cú thể tối ưu được mỏy chủ của bạn khi bạn hiểu rừ tớnh năng cỏc thiết bị.

Cấu hỡnh của mỏy chủ Bugsearch như sau:

- 2 CPU Intel PIII, 850 MHz

- 1 IDE hard disk: 30 GB

- 256 MB RAM

- 1 CDROM

- 1 floppy disk

- 2 Network card

Đõy là cấu hỡnh của mỏy chủđược ghi nhận qua lệnh

/bin/dmesg

/*---start-dmesg---*/

Linux version 2.4.00-bugsearch (root@bugsearch) (gcc version 2.96 20000731 (Red Hat Linux 7.2 2.96-112.7.1)) #5 SMP Wed Aug 13 20:41:33 EDT 2003

BIOS-provided physical RAM map:

BIOS-e820: 0000000000000000 - 000000000009f400 (usable) BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved) BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000000fff0000 (usable) BIOS-e820: 000000000fff0000 - 000000000ffffc00 (ACPI data) BIOS-e820: 000000000ffffc00 - 0000000010000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) 255MB LOWMEM available.

found SMP MP-table at 000f6ab0 hm, page 000f6000 reserved twice. hm, page 000f7000 reserved twice. hm, page 0009f000 reserved twice. hm, page 000a0000 reserved twice. On node 0 totalpages: 65520 zone(0): 4096 pages.

zone(1): 61424 pages. zone(2): 0 pages.

Intel MultiProcessor Specification v1.4 Virtual Wire compatibility mode.

OEM ID: INTEL Product ID: Lancewood APIC at: 0xFEE00000 Processor #1 Pentium(tm) Pro APIC version 17

Processor #0 Pentium(tm) Pro APIC version 17 I/O APIC #2 Version 17 at 0xFEC00000.

Enabling APIC mode: Flat. Using 1 I/O APICs Processors: 2

Kernel command line: auto BOOT_IMAGE=bugsearch ro root=301 BOOT_FILE=/boot/bugsearch Initializing CPU#0

Detected 845.645 MHz processor. Console: colour VGA+ 80x25

Calibrating delay loop... 1684.27 BogoMIPS

Memory: 256748k/262080k available (1271k kernel code, 4944k reserved, 293k data, 112k init, 0k highmem)

Inode cache hash table entries: 16384 (order: 5, 131072 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 16384 (order: 4, 65536 bytes) Page-cache hash table entries: 65536 (order: 6, 262144 bytes) CPU: L1 I cache: 16K, L1 D cache: 16K

CPU: L2 cache: 256K

Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0.

CPU: After generic, caps: 0383fbff 00000000 00000000 00000000 CPU: Common caps: 0383fbff 00000000 00000000 00000000 Enabling fast FPU save and restore... done.

Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... OK.

POSIX conformance testing by UNIFIX CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K

Intel machine check reporting enabled on CPU#0.

CPU: After generic, caps: 0383fbff 00000000 00000000 00000000 CPU: Common caps: 0383fbff 00000000 00000000 00000000 CPU0: Intel Pentium III (Coppermine) stepping 06

per-CPU timeslice cutoff: 731.25 usecs. enabled ExtINT on CPU#0

ESR value before enabling vector: 00000000 ESR value after enabling vector: 00000000 Booting processor 1/0 eip 2000

Initializing CPU#1

masked ExtINT on CPU#1

ESR value before enabling vector: 00000000 ESR value after enabling vector: 00000000 Calibrating delay loop... 1690.82 BogoMIPS CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 256K

Intel machine check reporting enabled on CPU#1.

CPU: After generic, caps: 0383fbff 00000000 00000000 00000000 CPU: Common caps: 0383fbff 00000000 00000000 00000000 CPU1: Intel Pentium III (Coppermine) stepping 06

Total of 2 processors activated (3375.10 BogoMIPS). ENABLING IO-APIC IRQs

Setting 2 in the phys_id_present_map

...changing IO-APIC physical APIC ID to 2 ... ok. init IO_APIC IRQs

IO-APIC (apicid-pin) 2-0, 2-9, 2-10, 2-11, 2-16, 2-17, 2-18, 2-20, 2-22, 2-23 not connected. ..TIMER: vector=0x31 pin1=2 pin2=0

number of MP IRQ sources: 17. number of IO-APIC #2 registers: 24. testing the IO APIC... IO APIC #2...

.... register #00: 02000000 ... : physical APIC id: 02 ... : Delivery Type: 0 ... : LTS : 0 .... register #01: 00170011

... : max redirection entries: 0017 ... : PRQ implemented: 0

80 .... register #02: 00000000

... : arbitration: 00 .... IRQ redirection table:

NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 1 0 0 0 0 0 0 00 01 003 03 0 0 0 0 0 1 1 39 02 003 03 0 0 0 0 0 1 1 31 03 003 03 0 0 0 0 0 1 1 41 04 003 03 0 0 0 0 0 1 1 49 05 003 03 0 0 0 0 0 1 1 51 06 003 03 0 0 0 0 0 1 1 59 07 003 03 0 0 0 0 0 1 1 61 08 003 03 0 0 0 0 0 1 1 69 09 000 00 1 0 0 0 0 0 0 00 0a 000 00 1 0 0 0 0 0 0 00 0b 000 00 1 0 0 0 0 0 0 00 0c 003 03 0 0 0 0 0 1 1 71 0d 003 03 0 0 0 0 0 1 1 79 0e 003 03 0 0 0 0 0 1 1 81 0f 003 03 0 0 0 0 0 1 1 89 10 000 00 1 0 0 0 0 0 0 00 11 000 00 1 0 0 0 0 0 0 00 12 000 00 1 0 0 0 0 0 0 00 13 003 03 1 1 0 1 0 1 1 91 14 000 00 1 0 0 0 0 0 0 00 15 003 03 1 1 0 1 0 1 1 99 16 000 00 1 0 0 0 0 0 0 00 17 000 00 1 0 0 0 0 0 0 00 IRQ to pin mappings:

IRQ0 -> 0:2 IRQ1 -> 0:1 IRQ3 -> 0:3 IRQ4 -> 0:4 IRQ5 -> 0:5 IRQ6 -> 0:6 IRQ7 -> 0:7 IRQ8 -> 0:8 IRQ12 -> 0:12 IRQ13 -> 0:13 IRQ14 -> 0:14 IRQ15 -> 0:15 IRQ19 -> 0:19 IRQ21 -> 0:21 ... done. Using local APIC timer interrupts. calibrating APIC timer ...

... CPU clock speed is 845.6892 MHz. ... host bus clock speed is 99.4926 MHz. cpu: 0, clocks: 994926, slice: 331642

CPU0<T0:994912,T1:663264,D:6,S:331642,C:994926> cpu: 1, clocks: 994926, slice: 331642

CPU1<T0:994912,T1:331616,D:12,S:331642,C:994926> checking TSC synchronization across CPUs: passed. Waiting on wait_init_idle (map = 0x2)

All processors have done init_idle

PCI: Using configuration type 1 PCI: Probing PCI hardware

PCI: Discovered primary peer bus ff [IRQ]

PCI: Using IRQ router PIIX [8086/7110] at 00:12.0 PCI->APIC IRQ transform: (B0,I12,P0) -> 19 PCI->APIC IRQ transform: (B0,I12,P0) -> 19 PCI->APIC IRQ transform: (B0,I14,P0) -> 21 PCI->APIC IRQ transform: (B0,I18,P3) -> 21 Linux NET4.0 for Linux 2.4

Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket

apm: BIOS not found. Starting kswapd

VFS: Diskquotas version dquot_6.4.0 initialized Journalled Block Device driver loaded

pty: 256 Unix98 ptys configured

Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A

ttyS01 at 0x02f8 (irq = 3) is a 16550A Real Time Clock Driver v1.10e Floppy drive(s): fd0 is 1.44M

FDC 0 is a National Semiconductor PC87306

eth0: 3c5x9 at 0x300, 10baseT port, address 00 60 8c ea 5a c3, IRQ 5. 3c509.c:1.19 16Oct2002 becker@scyld.com

http://www.scyld.com/network/3c509.html

eepro100.c:v1.09j-t 9/29/99 Donald Becker http://www.scyld.com/network/eepro100.html eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin

<saw@saw.sw.com.sg> and others

eth1: PCI device 8086:1229, 00:D0:B7:88:34:D1, IRQ 21.

Board assembly 000000-000, Physical connectors present: RJ45 Primary interface chip i82555 PHY #1.

General self-test: passed.

Serial sub-system self-test: passed. Internal registers self-test: passed.

ROM checksum self-test: passed (0x04f4518b).

Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx hda: ST330630A, ATA DISK drive

hdc: CRD-8520B, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

ide1 at 0x170-0x177,0x376 on irq 15 hda: attached ide-disk driver.

hda: 59777640 sectors (30606 MB) w/2048KiB Cache, CHS=3720/255/63 hdc: attached ide-cdrom driver.

hdc: ATAPI 52X CD-ROM drive, 128kB Cache Uniform CD-ROM driver Revision: 3.12 ide-floppy driver 0.99.newide

Partition check:

hda: hda1 hda2 < hda5 hda6 hda7 hda8 > ide-floppy driver 0.99.newide

NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP

IP: routing cache hash table of 2048 buckets, 16Kbytes TCP: Hash tables configured (established 16384 bind 16384) IPv4 over IPv4 tunneling driver

82 ip_tables: (C) 2000-2002 Netfilter core team

arp_tables: (C) 2002 David S. Miller

NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. VFS: Mounted root (ext2 filesystem) readonly.

Freeing unused kernel memory: 112k freed Adding Swap: 530104k swap-space (priority -1)

eth0: Setting 3c5x9/3c5x9B half-duplex mode if_port: 0, sw_info: 1310 eth0: Setting Rx mode to 1 addresses.

/*---end-dmesg---*/

e. Ngắt mỏy chủ ra khỏi mạng

Đõy là điểm cần chỳ ý khi xõy dựng mỏy chủ secure, trỏnh trường hợp ngụi nhà xõy chưa xong đĩ bị trộm khoột sạch. f. Tạo đĩa mềm boot

Trong cỏc tỡnh huống khẩn cấp, cú một đĩa mềm boot luụn là niềm hạnh phỳc của cỏc admin. Cú thể tạo đĩa mềm boot bằng bộđĩa RedHat từ hệđiều hành Windows hay Linux một cỏch đơn giản. Từ một mỏy window

C:\> E:

E:\> cd \dosutils E:\dosutils> rawrite

Enter disk image source file name: ..\images\boot.img Enter target diskette drive: a:

Please insert a formatted diskette into drive A: and press --ENTER-- : E:\dosutils>

Từ một mỏy Linux # mount /mnt/cdrom/

[root@test /]# cd /mnt/cdrom/images/ [root@test images]# dd if=boot.img of=/dev/fd Display all 277 possibilities? (y or n)

[root@test images]# dd if=boot.img of=/dev/fd0H1440 bs=1440k 1+0 records in

1+0 records out [root@test images]# cd /

[root@test /]# umount /mnt/cdrom/

g. Tiến hành cài đặt mỏy chủ

Sau cỏc bước chuẩn bị cơ bản trờn, ta tiến hành cài đặt mỏy chủ theo quy trỡnh sau:

o Chọn kiểu cài đặt : custom

Thụng thường RedHat hổ trợ cho ta 3 phương thức cài đặt như sau

- Workstation

- Laptop

- Server

H01.serv01

Workstation, server là những cỏch cài đặt tương đối đơn giản và thớch hợp với những người mới làm quen với RedHat. Custom là một sự lựa chọn tốt đối với cỏc admin vỡ nú cho phộp bạn lựa chọn số lượng pations, dung lượng của cỏc partion, số package cần cài đặt,…

o Chia partitions cho đĩa cứng

Cú 2 lựa chọn khi chia partitions: automatics Partitioning và manual partitioning, ta chọn manual.

Tiếp theo ta chọn cụng cụđể chia partition: Disk druid hay fdisk, disk druid là cụng cụ cú giao diện đồ hoạ và dễ sử

dụng hơn fdisk, tuy nhiờn nếu ta đĩ quen với fdisk thỡ cũng khụng cú khỏc biệt lớn lắm giữa 2 cụng cụ này.

Vấn đề tiếp theo là ta chia đĩa thành nhiều partitions với dung lượng sao cho hợp lý, vấn đề chia thành nhiều patitions cú thể giỳp ta cú những lợi điểm sau:

- trỏnh bị tấn cụng DOS

- hạn chế sự nguy hiểm của cỏc chương trỡnh SUID

- tăng tốc độ boot

- dễ dàng backup và quản lý việc nõng cấp

- cú thể giới hạn dung lượng của cỏc thư mục trong hệ thống file Căn cứ theo dung lượng bộ nhớ và đĩa cứng trờn mỏy chủ

mà ta đưa ra cơ chế phõn chia cỏc partition cho hợp lý. Thụng thường ta chia thành cỏc partitions như sau: - /boot 50 MB chứa image của kernel

-swap 512 MB bộ nhớảo của hệđiều hành Linux - / tựy theo dung lượng đĩa cứng và số lượng user, packages cần cài đặt mà ta thiết lập cho hợp lý.

-/usr : chứa file binary của Linux, thư viện -/var : chứa log, cache của hệ thống

-/home: chia theo user, trung bỡnh khoảng 100MB/user -/tmp: vựng lưu trữ tạm trờn Linux

o chọn cỏc packages

trong quỏ trỡnh cài đặt hệđiều hành, cú rất nhiều packages mặc định được chọn sẳn, ta chỉ chọn những package thật sự

cần thiết cho server. Một sốđiểm cần chỳ ý như sau:

- bỏ chọn tất cả cỏc dấu chọn mặc định của RedHat như:

o Printer support

o X windows

o GNOME

o KDE

84 o dos/windows connectivity o Graphic Manipulator o Games o Multimedia support o networked workstation o Dial-up workstation o News server o NFS server o SMB server o IPX/Netware Connectivity o anonymous FTP server o SQL server o Web server o DNS Name server

o Network Management Workstation

o Authoring/Publishing o Emacs o Development o kernel development o Utilities o Everything

- chọn vào invidial packages để chọn lại 1 lần nữa

- bước tiếp theo, cỏc packages được cần đến sẽđược hỏi và ta chọn install relative packages.

- thụng thường sau quỏ trỡnh chọn cỏc packages, dung lượng cần thiết để cài đặt khoảng 260MB

- bước tiếp theo, đĩa cứng sẽđược format( nếu ta chọn option này) và sau đú quỏ trỡnh cài đặt cỏc packages bắt đầu.

h. lệnh rpm

o đõy là tiện ớch dựng để loại bỏ, thờm cỏc dịch vụ vào hệ

thống sau khi cài đặt.

o những cỏch sử dụng thụng thường 1. install package

- để install một package vào hệ thống: rpm –ivh ten_file_package.rpm

- trong một số trường hợp cú sựđụng độ giữa cỏc packages, ta dựng cỳ phỏp sau:

rpm –i -- force ten_file_package.rpm 2. remove package

- loại 1 package ra khỏi hệ thống rpm –e ten_package

- trường hợp package cần loại bỏđược một số

packages khỏc dựng đến, ta loại bỏ mà khụng quan tõm đến vấn đề này:

rpm –e - - nodeps ten_package 3. Upgrade một package

ta cú thể dựng rpm để upgrade 1 package, khi đú rpm sẽ tự tỡm và xoỏ package cũ và install

package mới rpm –Uvh ten_package_moi.rpm 4. phục hồi cơ sở dữ liệu của rpm một số trường hợp do cỏc thao tỏc thờm,bớt cỏc packages ta dẫn đến cơ sở dữ liệu của rpm bị hư, khi đú ta phải hiệu chỉnh lại: rpm ----rebuilddb 5. tỡm một package khi ta khụng biết chớnh xỏc tờn và version của một package mà ta chỉ biết tờn đơn giản của nú, ta tỡm package đầy đủ như sau: rpm –q tendongian ex: rpm –q mc Hoặc ta dựng cỏch liệt kờ tất cả cỏc packages đĩ cài rồi lọc ra cỏc packages cú chứa từ khoỏ cần tỡm

rpm –qa| grep tukhoa ex:

rpm –qa| grep mc

6. truy tỡm tờn package sinh ra file

ta cú thể xỏc định được package đĩ sinh ra một file (nếu file đú được sinh ra sau lệnh rpm –i một package nào đú)

rpm –qf duongdan_tenfile 7. tỡm cỏc file do package sinh ra

- một trong những cỏch để xoỏ một package mà khụng dựng lệnh rpm là xoỏ tất cả cỏc file sinh ra bởi package đú rồi restore rpm. Hay đơn giản là ta muốn quản lý cỏc file vừa được sinh ra bởi một package nào đú:

rpm –ql ten_package

chỳ ý: nếu xoỏ một package bằng cỏch xoỏ cỏc file của package đú ta cần tiến hành thờm 1 bước nữa để xoỏ package đú ra khỏi cơ sở dữ liệu của rpm, bằng cỏch:

86

- tỡm cỏc file sẽđược sinh ra bởi một package

Một phần của tài liệu HỖ TRỢ BẢO MẬT HỆ THỐNG THÔNG TIN CHO CÁC MẠNG TIN HỌC VIỆT NAM (Trang 77 - 113)

Tải bản đầy đủ (PDF)

(163 trang)