Đồ án Hướng dẫn cơ bản Linux

Mục lục

Chương I: Giới thiệu về Linux . 4

1.1Sơ lược về Linux. 4

1.1.1 Giới thiệu về hệ điều hành Unix. 4

1.1.2 Giới thiệu về hệ điều hành Linux. . 5

1.2 Tính năng của Linux. . 7

1.3 Vấn đề bản quyền. 8

1.4 So sánh Linux và các hệ điều hành khác. 9

1.4.1 So sánh Linux với Windows 95, Windows 98. . 9

1.4.2 So sánh Linux với Windows NT. .10

1.5 Yêu cầu về phần cứng. .11

Chương II : các lệnh Linux cơ bản .14

2.1 Các phương thức hoạt động của dòng lệnh .14

2.2 Trang Man . 15

2.3 Các quy ước. . 16

2.4 Các lệnh cơ bản trong Linux. . 16

2.4.1 Thư mục và lệnh về thư mục. .16

2.4.1.1 Một số thư mục đặc biệt.16

2.4.1.2 Các lệnh chính liên quan đến thư mục. .18

2.4.2 Tập tin và các lệnh về tập tin.20

2.4.2.1 Các kiểu tập tin trong Linux.20

2.4.2.2 Các lệnh về tập tin. .21

2.4.3 Lệnh về Destop. 24

2.4.4 Lệnh về trình báo màn hình. .25

2.4.5 Các lệnh liên quan đến tài khoản người dùng. .25

2.4.5.1 Các lệnh liên quan đến người dùng.25

2.4.5.2 Thay đổi thuộc tính người dùng. .26

2.4.5.3 Xoá bỏ một người dùng.27

2.4.6 Các lệnh liên quan đến nhóm người dùng.27

2.4.7 Các lệnh khác có liên quan đến người dùng. .28

2.4.8 Các lệnh liên quan đến quản lý thiết bị. .30

2.4.9 Các lệnh về phân quyền.32

2.5 Shell. .33

Chương III: samba .37

3.1 Giới thiệu tổng quan. 37

3.2 Cài đặt. 37

3.3 cấu hình . 38

3.3.1 cấu hình global setting: .39

3.3.2 cấu hình Sharing Setting.42

3.4 Chia sẻ file. 43

3.5 Kiểm tra cấu hình vừa thiết lập . 44

3.5.1 Kiểm tra bằng công cụ Testparm .44

3.5.2 Kiểm tra bằng công cụ smbstatus .45

3.6 Chạy samba server. 46

3.6.1 Sử dụng câu lệnh smbclient.47

3.6.2 Truy cập từ máy Windows .49

Chương IV: Squid proxy server.50

4.1. Tầm quan trọng và phương thức hoạt động của Squid cache .50

4.2. Cài đặt. 52

4.3. Tập tin cấu hình /etc/squid/squid.conf .52

4.4. Cấu hình các tùy chọn cơ bản . 53

4.5. Access control list . 54

4.6. Khởi động squid . 56

Chương V: Cấu hình WEB SERVER.58

5.1 Cài đặt apache, php, mysql.58

5.1.1 Download và cài đặt Apache .58

5.1.2 Download và cài đặt php .59

5.1.3 Download và cài đặt Mysql.60

5.2 Cấu hình Apache cơ bản.63

5.3 Cấu hình bảo mật apache.67

5.3.1 Giới hạn địa chỉ ip. . 67

5.3.2 Giới hạn truy cập theo tài khoản sử dụng.69

Chương VI: Bảo mật với Firewall, ip tables .78

6.1 FireWall. 78

6.1.1 Định nghĩa .78

6.1.2 Chức năng.78

6.1.3 Cấu trúc của FireWall .78

6.1.4 Các thành phần của FireWall .79

6.1.4.1 Bộ lọc packet (Packet filtering router) .79

6.1.4.2 Cổng ứng dụng (applicationưlevel getway) .80

6.1.4.3 Cổng mạch (circuitưLevel Gateway) .81

6.1.5 Những hạn chế của firewall.82

6.2 IpTables . 82

6.2.1 Tổng quan về iptables.82

6.2.2 Bảng filter.83

6.2.3 Bảng nat .84

6.2.4 Bảng mangle. 85

6.2.5 Cấu hình iptables . 87

6.2.5.1 Cú pháp cơ bản của iptables .87

6.2.5.2 Các lệnh của iptables.88

6.2.5.3 Các điều kiện trong luật .90

6.2.5.3.1 Nhóm các điều kiện chung.90

6.2.5.3.2 Nhóm các điều kiện ẩn.92

6.2.5.3.3 Nhóm các điều hiện hiện.93

6.2.5.4 Các hành động trong luật .95

6.2.5.4.1 userưdefinedưchain.95

6.2.5.4.2 DROP .96

6.2.5.4.3 REJECT.96

6.2.5.4.4 RETURN.96

6.2.5.4.5 SNAT.96

6.2.5.4.6 MASQUERADE .97

6.2.5.4.7 DNAT.98

6.2.5.5 Các ví dụ. 99

Tài liệu tham khảo.103

pdf104 trang | Chia sẻ: maiphuongdc | Lượt xem: 2369 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Hướng dẫn cơ bản Linux, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
việc chia sẻ các tập tin và máy in. Các nhân viên có thể làm việc trên các máy trạm nh− Linux, Microsoft Windows 95/98/NT, OS/2 hay Novel và vẫn cần phải truy cập máy server trong các công việc th−ờng ngày của họ. Samba là một dịch vụ mạng rất mạnh trong việc chia sẻ tập tin và máy in, nó làm việc tốt trên các hệ điều hành chủ yếu hiện nay. Khi đã đ−ợc thực hiện tốt bởi ng−ời quản trị, nó sẽ nhanh hơn và bảo mật hơn các dịch vụ chia sẻ tập tin tự nhiên đã có sẵn trên các máy Microsoft Windows. Samba là một giao thức có nhiều máy PC kết nối với nhau cùng chia sẻ các tập tin, các máy in, và các thông tin khác, chẳng hạn nh− liệt kê danh sách các tập tin và máy in. Các HĐH mà nó hỗ trợ dịch vụ này một cách tự nhiên gồm có Windows 95/98/NT, OS/2 và Linux. ở đây chúng ta sẽ tìm hiểu Samba với tính năng nh− một cây cầu nối giữa Linux và Windows, samba cho phép các máy tính chạy Linux có thể hoạt động và giao tiếp trên cùng một giao thức mạng với máy Windows. 3.2 Cài đặt Có hai cách cài đặt Samba: • Cách 1: cài đặt từ tập tin samba-2.2.7a-7.9.0.i386.rpm có sẵn trong CD cài đặt Redhat 9.0. • Cách 2: cài đặt từ tập tin samba-2.2.7a-7.9.0.i386.tar.gz. Phần này chỉ tập trung cho việc cài đặt và cấu hình samba từ tập tin samba- 2.2.7a-7.9.0.i386.rpm. Đồ án tốt nghiệp 38 Trong Redhat 9.0 tr−ớc khi cài đặt, chúng ta kiểm tra xem samba có cài đặt trên hệ thống của bạn hay ch−a với lệnh: [root@localhost root]#rpm –q samba Nếu samba ch−a đ−ợc cài đặt trên hệ thống thì chúng ta tiến hành cài đặt theo những lệnh sau: [root@ localhost root]# mount /mnt/cdrom [root@ localhost root]#cd /mnt/cdrom/redhat/RPMS [root@ localhost root]#rpm –ivh samba-2.2.7a-7.9.0.i386.rpm Lệnh đầu tiên kết gắn ổ CD vào hệ thống, lệnh thứ hai chuyển vào th− mục chứa ch−ơng trình nguồn samba-2.2.7a-7.9.0.i386.rpm và lệnh thứ ba sẽ cài đặt package samba-2.2.7a-7.9.0.i386.rpm vào hệ thống của bạn. Sau khi cài đặt thành công samba vào hệ thống, tập tin cấu hình smb.conf sẽ nằm trong th− mục /etc/samba/smb.conf và tất cả những gì chúng ta cấu hình về samba sẽ đ−ợc thực hiện từ tập tin này. 3.3 cấu hình File cấu hình chính của Samba là smb.conf đ−ợc cất trong th− mục /etc/Samba. Trong file này có hai kiểu chú thích đ−ợc xác định bằng dấu (;) và (#) đặt ở đầu các dòng. Dấu (#) là dấu chú thích thực và bạn không thể bỏ dấu này đi đ−ợc nh−ng dấu (;) là dấu chú thích xác định thuộc tính ở hàng t−ơng ứng có đ−ợc chọn hay không, kiểu chú thích này có thể bỏ đi đ−ợc. Ví dụ trong file này có đoạn: ;encrypt password =yes Nếu bỏ dấu (;) đi thì Samba sẽ hiểu rằng mật khẩu sẽ đ−ợc mã hóa (encrypt), ng−ợc lại mật khẩu khi truyền đi sẽ đ−ợc để ở dạng không mã hoá (clear text). Đồ án tốt nghiệp 39 Để việc thay đổi thông số trong file smb.conf an toàn, chúng ta sao l−u file smb.conf đến một th− mục khác, đồng thời đảm bảo rằng kết nối giữa máy Linux và Windows vẫn ở trạng thái tốt (Kiểm tra bằng lệnh ping 2 máy với nhau). File smb.conf đ−ợc chia làm 2 phần: global setting và sharing setting. Trong mỗi phần lại có nhiều tham số khác nhau. Để thiết lập cấu hình file smb.conf bạn có thể mở file này bằng một trình soạn thảo có sẵn trên hệ thống nh− vi, mc, pico: #vi /etc/Samba/smb.conf 3.3.1 cấu hình global setting: Phần này sẽ chứa thông số điều khiển Samba server. Giá trị đầu tiên cần thiết lập là giá trị của thẻ workgroup : [global] # workgroup = NT-Domain-Name or Workgroup-Name workgroup = MYGROUP Là tham số xác định tên workgroup của Windows mà máy Linux đăng nhập, nhóm này phải tồn tại tr−ớc khi chúng ta cấu hình Samba. L−u ý: Nên nhập tên workgroup ở dạng chữ in hoa. # server string is the equivalent of the NT Description field server string =Samba Server Tham số server string là tham số gán mô tả về tên máy Linux trên mạng. Mặc định tham số này đ−ợc gán bằng Samba Server, tuỳ theo chức năng của máy Linux mà bạn có thể đặt các tên khác nhau. Việc gán giá trị cho tham số này không gây ảnh h−ởng lớn đến việc cấu hình Samba. ;hosts allow = 192.168.1. 192.168.2. Đồ án tốt nghiệp 40 Nếu bỏ dấu (;) thì các máy có địa chỉ IP không thuộc lớp mạng đã liệt kê không thể truy nhập vào máy Linux. ở đây lấy ví dụ với lớp mạng C, nh− vậy các máy có địa chỉ IP bắt đầu bằng 192.168.1. và 192.168.2. đều có thể truy nhập tài nguyên trên máy Linux. # this tells Samba to use a separate log file for each machine # that connects log file = /var/log/Samba/%m.log Tham số logfile sẽ xác định tên file log cho từng máy khi truy cập, %m có nghĩa là tên máy trên mạng. Ví dụ: Nếu trên mạng có máy tên là nampt truy cập vào máy Linux thì Samba sẽ tạo ra một file là nampt.log l−u trong th− mục /var/log/Samba. Kích th−ớc của file này đ−ợc xác định bằng tham số max log size: # Put a capping on the size of the log files (in Kb). max log size = 150 Samba hỗ trợ 4 kiểu bảo mật trong việc chia sẻ dữ liệu: USER, SHARE, DOMAIN và SERVER. Để biết thêm chi tiết từng kiểu bạn có thể đọc file security_level.txt. Mặc định khi cài Samba để ở mode USER # Security mode. Most people will want user level security. See # security_level.txt for details. security = share # Use password server option only with security = server or # security = domain ;password server=MyServer Nếu bạn chọn kiểu USER và SHARE thì nên đặt dấu (;) vào đầu dòng: ;password server = Đồ án tốt nghiệp 41 Nếu bạn muốn sử dụng tài khoản (account) và mật khẩu (password) trên máy chủ điều khiển vùng để truy nhập vào máy Linux thì phải đặt tham số: security = domain và điền tên máy điều khiển vùng vào vùng password server nh− d−ới đây: password server = tên domain # You may wish to use password encryption. Please read # ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba #documentation. # Do not enable this option unless you have read those documents encrypt passwords = yes smb passwd file = /etc/Samba/smbpasswd Với các hệ điều hành từ Win95 OME service release 2 hoặc cao hơn, mật khẩu đ−ợc mã hoá mặc định, cũng nh− vậy đối với hệ điều hành Windows NT4 service pack 3 mật khẩu đ−ợc chuyển từ không mã hoá (Clear text) thành mã hoá (Encrypted). Để mật khẩu mã hoá của Windows làm việc đ−ợc với Samba thì hai dòng trên phải bỏ dấu chú thích và nhập tên tài khoản và mật khẩu cho máy Linux bằng lệnh smbpasswd. Ví dụ: #smbpasswd -a nampt L−u ý: user nampt phải tồn tại là user của hệ điều hành. Nếu bạn định thiết lập security mode= domain hoặc server thì nên đặt mật khẩu trùng với mật khẩu trên server hay domain t−ơng ứng. # Enable this if you want Samba to be a domain logon server for # Windows95 workstations. domain logons = yes Đồ án tốt nghiệp 42 Nếu để tham số domain logons =yes sẽ làm cho máy Linux trở thành domain để các máy Windows95 có thể đăng nhập (logon) vào . Kịch bản đăng nhập cho các máy trạm và user sẽ đ−ợc hai tham số logon script d−ới đây xác định: # if you enable domain logons then you may want a per-machine or # per user logon script # run a specific logon batch file per workstation (machine) logon script = %m.bat # run a specific logon batch file per username logon script = %U.bat 3.3.2 cấu hình Sharing Setting. Khi có yêu cầu truy xuất dữ liệu từ máy trạm, Samba sẽ tìm các th− mục này trong phần Sharing Setting. Nếu th− mục tồn tại nó sẽ kiểm tra mật khẩu mà máy trạm cung cấp với mật khẩu của Samba, nó sẽ chia sẻ th− mục này qua mạng nếu mật khẩu thoả mãn. Trong phần này có nhiều tham số khác nhau, ở đây chúng ta chỉ trích ra một th− mục để làm ví dụ và giới thiệu những tham số thông dụng: [chi] comment = Thu muc cua user chi browseable = no read only=no path=/home/chi valid users=chi Tham số comment cũng gần giống nh− tham số server string mà chúng ta đã đề cập ở phần tr−ớc nh−ng chỉ khác đây là chú thích cho th− mục. Đồ án tốt nghiệp 43 Nếu bỏ dấu chú thích ở dòng browseable = no thì Samba sẽ không chỉ thị th− mục này trên trình duyệt mạng (ví dụ Windows Explorer), mặc dù nó vẫn đ−ợc chia sẻ, việc này giống nh− chia sẻ th− mục trên Windows với dấu $. Tham số read only sẽ cho phép ng−ời dùng trên máy trạm có thể thay đổi nội dung file hay không. Nếu bỏ dấu chú thích tại dòng: ;read only=no thì ng−ời dùng có thể thay đổi nội dung của file hay tạo file mới, ng−ợc lại nếu để dấu (;) ở đầu dòng, ng−ời dùng chỉ có thể đọc nội dung th− mục và không đ−ợc phép tạo bất cứ thay đổi nào trong th− mục. Trong file smb.conf có một số thông số không thể gán giá trị bằng “yes”. Ví dụ: nếu viết: read only=yes thì smbd không hiểu giá trị và phát sinh lỗi cấu hình. Thực chất giá trị read only=yes chính là ; read only=no. Tham số path xác định đ−ờng dẫn đến th− mục cần đ−ợc chia sẻ trên server. Tham số valid users=chi xác định quyền hạn truy cập vào th− mục chi - ở ví dụ này chỉ có user chi mới đọc đ−ợc nội dung của th− mục đó. 3.4 Chia sẻ file Sau khi cấu hình phần global setting, chúng ta có thể tự tạo ra một th− mục chia sẻ và giới hạn truy cập theo nhóm hoặc ng−ời dùng có trên hệ thống. Ví dụ: Để tạo th− mục chia sẻ huong trên máy Linux, chúng ta làm nh− sau: Thêm vào vùng Sharing Setting những dòng d−ới đây: [huong] comment= thu muc cua huong path=/home/huong Đồ án tốt nghiệp 44 valid users =huong browseable=yes public=no writeable=yes Nh− vậy Samba sẽ tạo ra một th− mục chia sẻ huong trên máy chủ, do tham số browseable=yes nên th− mục này sẽ đ−ợc nhìn thấy khi ng−ời dùng mở Windows Explorer, tuy nhiên do public=no và valid users =huong nên chỉ có user huong có thể đăng nhập. Ngoài việc phân cấp theo user Samba cũng có thể phân quyền truy cập cho cả nhóm ng−ời dùng, với nhóm chúng ta sử dụng dấu @ tr−ớc tên nhóm. Ví dụ: Valid users=huong,@Tin5 3.5 Kiểm tra cấu hình vừa thiết lập Sau khi thiết lập file cấu hình chúng ta nên kiểm tra lại, Samba cung cấp 2 công cụ là testparm và smbstatus. Để kiểm tra chính xác bạn phải đảm bảo máy trạm và máy chủ phải nối đ−ợc với nhau (Kiểm tra bằng lệnh ping). 3.5.1 Kiểm tra bằng công cụ Testparm Testparm là ch−ơng trình cho phép kiểm tra giá trị của thông số trong file cấu hình. Cấu trúc của câu lệnh này là: Testparm configfile [hostname hostIP] Configfile là đ−ờng dẫn và tên file cấu hình, mặc định nó lấy file smb.conf cất trong th− mục /etc/Samba/smb.conf (từ Redhat 9.0) Hostname và HostIP là hai thông số không nhất thiết phải có, nó h−ớng dẫn Samba kiểm tra cả các dịch vụ đã liệt kê trong file smb.conf trên máy xác định bởi Hostname và HostIP. Đồ án tốt nghiệp 45 Ví dụ: [root@localhost root]# testparm /etc/Samba/smb.conf thuong 10.0.0.2 3.5.2 Kiểm tra bằng công cụ smbstatus Smbtatus là ch−ơng trình thông báo các kết nối hiện tại, cấu trúc của câu lệnh này nh− sau: Smbstatus [-d][-p][-s config file] Tham số configfile mặc định đ−ợc gán là /etc/Samba/smb.conf. Tham số – d cho ra kết quả đầy đủ. Ví dụ: [root@localhost root]# smbstatus –d –s /etc/samba/smb.conf Đồ án tốt nghiệp 46 3.6 Chạy samba server Samba server có hai tiến trình là smbd và nmbd. Tiến trình smbd cung cấp dịch vụ chia sẻ file và dữ liệu, tiến trình nmbd cung cấp khả năng hỗ trợ NetBIOS name. Cũng nh− các dịch vụ khác, trên mạng Samba có 3 câu lệnh điều khiển là stop, start, restart. Cú pháp của chúng là: /etc/init.d/smb start| stop| restart Sau khi cấu hình file smb.conf bạn phải khởi động dịch vụ Samba để máy Linux đăng nhập vào workgroup, câu lệnh khởi động là: #/etc/init.d/smb start Sau khi khởi động dịch vụ máy Windows có thể truy cập đến máy Linux thông qua NetworkNeighborhood hoặc Windows Explorer, máy Linux có thể dùng 2 câu lệnh smbclient hoặc smbmount để truy cập đến máy Windows và trên cả máy Linux khác có cài Samba. #smbclient -L 10.0.0.2 Đồ án tốt nghiệp 47 3.6.1 Sử dụng câu lệnh smbclient Smbclient cung cấp giao diện dòng lệnh gần giống nh− giao diện của FTP để truyền file qua mạng. Chi tiết về câu lệnh smbclient bạn có thể tham khảo nhờ câu lệnh: #man smbclient Để liệt kê các th− mục chia sẻ có trên máy 10.0.0.2 bạn dùng smbclient với tham số –L: #smbclient -L 10.0.0.2 Kết quả sẽ cho ra một số th− mục có trên máy 10.0.0.2, để vào một trong các th− mục trên bạn dùng lệnh smbclient với tham số -U tên user (tên user có quyền truy cập vào th− mục t−ơng ứng). #smbclient //10.0.0.2/tên_th−_mục -U tên_user Sau khi gõ vào mật khẩu bạn sẽ nhận đ−ợc dấu nhắc: smb:\> Tại dấu nhắc này bạn có thể dùng các câu lệnh nh− sau: Ví dụ : Dùng smbclient nối đến máy Windows có địa chỉ IP là 10.0.0.2, để lấy file trên máy này ta phải làm lần l−ợt các b−ớc sau: Xác định các th− mục đ−ợc chỉa sẻ trên máy 10.0.0.2: #smbclient -L 10.0.0.2 -U thuong added interface ip=10.0.0.1 bcast=10.255.255.255 nmask=255.0.0.0 session request to 10.0.0.2 failed (Called name not present) session request to 10 failed (Called name not present) Password: Sau khi nhập mật khẩu của tài khoản thuong (trên Windows) ta nhận đ−ợc danh sách các th− mục share trên máy 10.0.0.2 nh− hình d−ới đây: Đồ án tốt nghiệp 48 Sau khi biết đ−ợc các th− mục trên máy, bạn phải dùng câu lệnh: [root@localhost root]# smbclient //10.0.0.2/SETUP -U thuong Can’t find include file /etc/Samba/smb.conf. added interface ip=10.0.0.1 bcast=10.255.255.255 nmask=255.0.0.0 session request to 10.0.0.2 failed (Called name not present) session request to 10 failed (Called name not present) Password: Domain=[GROUP] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager] smb: \> Đồ án tốt nghiệp 49 Tại dấu nhắc này bạn có thể xem các file bên trong th− mục tienna bằng lệnh ls, lấy nó về máy Linux bằng lệnh get hoặc mget: 3.6.2 Truy cập từ máy Windows Với máy Windows việc truy cập dễ dàng hơn nhiều, bạn chỉ cần mở Windows Explore và tìm đến domain mà máy Linux đăng nhập, nhấn chuột lên tên máy Linux sau đó nhập vào tên tài khoản và mật khẩu t−ơng ứng, bạn sẽ nhìn thấy các th− mục chia sẻ (sharing) hiện ra. Tại đây bạn cũng có thể thực hiện các tính năng nh− map ổ đĩa, đồng bộ th− mục, sao chép file nh− ở các máy Windows thông th−ờng. Đồ án tốt nghiệp 50 CHƯƠNG iV: Squid proxy server 4.1. Tầm quan trọng và ph−ơng thức hoạt động của Squid cache Squid là một ch−ơng trình cache proxy chạy trên nền tảng Unix và Linux. Nó chuyển tiếp các yêu cầu từ máy khách (trong tr−ờng hợp này là web browsers) tới server. Khi mà đối t−ợng yêu cầu trả về tới squid server nó sẽ chuyển về cho client và giữ một bản copy ở cache. Một trong những lợi ích của cache là khi vài client yêu cầu cùng một đối t−ợng thì nó sẽ đợc lấy từ trong cache giúp cho các client nhận đ−ợc dữ liệu nhanh hơn là từ Internet. Việc này cũng giảm các traffic trên mạng. Cùng với caching squid còn có các đặc tính nh− chia tải bằng cách liên kết các proxy server, định nghĩa chặt chẽ các danh sách điều khiển truy cập cho các client truy cập proxy, cho phép hay từ chối truy cập tới các trang web đặc biệt. Squid không phải là proxy chung mà nó thông th−ờng là proxy cho kết nối HTTP. Nó cũng hỗ trợ các giao thức FTP, Gopher, SSL, và WAIS nh−ng nó lại không hỗ trợ các giao thức internet khác nh Real Audio, news hoặc hội thảo trực tuyến bởi vì Squid chỉ hỗ trợ giao thức UDP để liên kết giữa các cache nhiều ch−ơng trình multimedia khác cũng không đợc hỗ trợ. Proxy caches Là một Proxy caches Squid có thể đ−ợc sử dụng theo một vài cách. Khi mà kết hợp với Firewall nó có thể giúp cho việc bảo mật. Nhiều Proxy có thể đ−ợc sử dụng với nhau và có thể xác định loại đối tợng nào cần l−u trong cache và l−u trong bao lâu. Squid và bảo mật Chúng ta có thể sử dụng squid cùng với Firewall để bảovệ mạng nội bộ từ bên ngoài sử dụng proxy cache. Fireawall từ chối tất cả client truy cập tới dịch vụ Đồ án tốt nghiệp 51 bên ngoài ngoại trừ squid. Mọi kết nối tới web phải đ−ợc thiết lập theo cách của proxy. Nếu cấu hình Firewall bao gồm một DMZ proxy có thể vận hành trong vùng này. Trong tr−ờng hợp này tất cả máy tính trong DMZ gửi các file log tới máy trong mạng bảo mật là rất quan trọng. Multiple caches Vài proxy có thể đ−ợc cấu hình theo cách mà các đối t−ợng có thể trao đổi giữa chúng. Việc này làm giảm tải toàn bộ hệ thống và tăng khả năng tìm một đối t−ợng đã tồn tại trên mạng cục bộ. Còn có khả năng để cấu hình cache thứ bậc để một cache có thể đa ra yêu cầu tới một cache cấp thấp hơn hay cao hơn. Việc chọn đ−ợc mô hình thích hợp cho cache thứ bậc là rất quan trọng. Bởi vì chúng ta không muốn tăng các traffic trên mạng. Với mạng rất lớn chúng ta có thể cấu hình proxy server cho tất cả các mạng con và kết nối nó tới một proxy cha mà nó kết nối tới proxy của ISP. Tất cả các giao tiếp đó đ−ợc thực hiện bởi ICP ( Internet cache protocol) chạy trên giao thức UDP. Dữ liệu l−u thông giữa các cache thì sử dụng HTTP dựa trên giao thức TCP. Tìm server thích hợp nhất để nhận các đối t−ợng thì một cache gửi một gói tin ICP yêu cầu tới tất cả các proxy ngang hàng. Gói tin ICP trả lời sẽ kèm theo mã HIT nếu đối t−ợng đ−ợc tìm thấy hoặc mã MISS nếu không thấy. Nếu nhiều gói tin trả lời với mã HIT thì proxy server sẽ quyết định server để tải về dựa vào các nhân tố nh−: cache nào gửi gói tin trả lời sớm nhất hoặc cái nào gần nhất. Trong tr−ờng hợp nhận đợc tín hiệu trả lời với mã MISS thì yêu cầu sẽ gửi tới cache cha. Chú ý: Để tránh sự trùng hợp dữ liệu giữa các cache trong một mạng thì giao thức ICP khác đợc sử dụng nh−: CARP (cache array routing protocol) hoặc Đồ án tốt nghiệp 52 HTCP (hyper text cache protocol). Càng nhiều đối t−ợng l−u trong mạng thì càng nhiều khả năng tìm thấy dữ liệu mong muốn. Caching Internet Không phải tất cả các đối t−ợng có trên mạng đều là tĩnh mà có rất nhiều các trang động đợc tạo bởi CGI nh− đếm l−ợng khách truy nhập và nội dung tài liệu SSL đ−ợc mã hóa. Các đối t−ợng nh− vậy không đ−ợc cache bởi vì nó thay đổi mỗi khi chúng đ−ợc truy cập. Câu hỏi l−u trữ các đối t−ợng trong bao lâu ở cache vẫn còn khó có lời giải thích hợp. Để xác định điều này tất cả các đối t−ợng trong cache đ−ợc gán một trong các tình trạng: “Last modified” hoặc “Expires” vào header. Server sử dụng thuật toán LRU (last recently used) để thay thế các đối t−ợng trong cache nhằm tăng dung l−ợng đĩa đơn giản là server sẽ loại bỏ các đối t−ợng mà lâu không có yêu cầu truy cập. 4.2. Cài đặt Vào trang www.squid-cache.org để load phần mềm squid về máy Sử dụng lệnh sau để cài squid: [root@home]#rpm -i squid-version.i386.rpm Sau khi cài sẽ có các th− mục liên quan: /usr/bin: L−u những th− viện của squid. /ect/squid : L−u các file cấu hình squid. /var/log/squid :L−u các tập tin log của squid. 4.3. Tập tin cấu hình /etc/squid/squid.conf Tất cả những điều chỉnh đối với proxy server Squid đợc tạo trong /etc/squid/squid.conf. Để chạy squid lần đầu tiên không cần phải thay đổi nội dung của file này nh−ng tất cả các yêu cầu của client bên ngoài sẽ bị từ chối theo mặc định. Nó chỉ có cho loccalhost. Cổng mặc định là 3128. Sau khi cài thì Đồ án tốt nghiệp 53 /etc/squid/squid.conf cung cấp thông tin chi tiết về các tùy chọn và nhiều ví dụ. Gần nh− tất cả các khóa đều bắt đầu với “ # ” ( Các dòng chú thích). Các đặc tả có liên quan có thể tìm thấy ở cuối dòng. Các giá trị đ−a ra hầu hết là các giá trị t−ơng quan với giá trị mặc định do vậy loại bỏ dấu chú thích mà không thay đổi các tham số thì sẽ có một ít thay đổi trong hầu hết tr−ờng hợp. 4.4. Cấu hình các tùy chọn cơ bản - http_port :Cấu hình port mà squid sẽ lắng nghe những yêu cầu đ−ợc gửi đến. Cú pháp: http_port Mặc định: http_port 3128 Ta th−ờng thay đổi cổng này là : 8080 http_port 8080 - Cache_peer: Nếu proxy không kết nối trực tiếp đến Internet hoặc nằm sau một firewall thì ta phải cấu hình proxy này truy vấn đến proxy khác bằng tham số cache_peer: Cú pháp: cache_peer là tên hay địa chỉ IP của proxy truy vấn đến. = “parent” , “sibling” hay “multicast” là port mà đợc thiết lập bởi parent proxy thờng là 8080 là port mà icp chạy. Ví dụ: để truy vấn đến proxy của ISP. cache_peer www.vdc.com.vn parent 8080 8082 Ngoài ra trong cùng một mạng nếu có nhiều proxy thì có thể cấu hình để các proxy này truy vấn lẫn nhau: Đồ án tốt nghiệp 54 cache_peer proxy1.vdc.com.vn sibling 8080 8082 cache_peer proxy2.vdc.com.vn sibling 8080 8082 sibling có nghĩa la ngang hàng - Những tùy chọn ảnh h−ởng đến cache cache_mem : khóa này định nghĩa l−ợng bộ nhớ dùng cho cache. cache_mem 8 MB cache_dir: cấu hình th− mục l−u trữ dữ liệu đ−ợc cache cache_dir /usr/local/squid/cache 100 16 256 có nghĩa là th− mục cache nằm ở /usr/local/squid/cache có dung l−ợng là 100 MB có 16 th− mục con trong nó mỗi th− mục con có 256 th− mục con nữa. Nếu có vài đĩa mà chia sẽ cache thì có thể thêm vài dòng cache_dir cache_access_log cache_access_log /var/log/squid/access.log cache_log cache_log /var/log/squid/cache.log cache_store_log cache_store_log /var/log/squid/store.log - Ng−ời dùng và nhóm có thể thay đổi squid. Cache_efactive_user, Cache_efactive_group cache_efactive_user chi cache_efactive_group chi - access control list và access control operator 4.5. Access control list Bạn có thể dùng access control list để ngăn chặn, giới hạn việc truy xuất dựa vào tên miền, địa chỉ IP đích (IP máy hoặc mạng). Mặc định squid từ chối phục vụ tất cả vì vậy phải cấu hình tham số này. Đồ án tốt nghiệp 55 Định nghĩa access list dùng thẻ acl cú pháp: acl ... acl ... acl src / acl src - / acl srcdomain acl dst / acl dstdomain acl port .. acl port - acl proto acl method [GET] [POST] Sử dụng acl với các thể điều khiển Thẻ điều khiển truy xuất HTTP http_access allow/deny [!] Thẻ điều khiển truy xuất cache_peer cache_peer_access cache host allow/deny [!] Các ví du: - Chỉ cho phép mạng 172.16.1.0/24 đ−ợc dùng proxy server bằng từ khóa src trong acl acl MyNetwork src 172.16.1.0/255.255.255.0 http_access allow MyNetwork http_access deny all Đồ án tốt nghiệp 56 - Cấm các máy truy xuất đến site www.mail.yahoo.com acl BadDomain srcdomainwww.mail.yahoo.com http_access deny BadDomain http_access deny all Nếu danh sách site cấm truy xuất quá dài thì có thể lu chúng cào tập tin văn bản. Nội dung của danh sách này là các địa chỉ mà ta cấm. Mỗi địa chỉ ghi trên 1 dòng. [root@home]#cat >/etc/squid/cam nội dung file cấm: www.mail.yahoo.com www.gmail.com www.vnexpress.net acl BadDomain srcdomain “/etc/squid/cam” http_access deny BadDomain http_access deny all Nếu có nhiều acl thì ứng với mỗi acl có một http_access - Cấm các máy truy xuất đến site www.mail.yahoo.com. Chỉ có mạng 172.16.1.0/24 là đ−ợc phép dùng proxy acl MyNetwork src 172.16.1.0/255.255.255.0 acl BadDomain srcdomain www.mail.yahoo.com http_access deny BadDomain http_access allow MyNetwork http_access deny all 4.6. Khởi động squid Để khởi động squid ta dùng lệnh: Đồ án tốt nghiệp 57 [root@home]# /etc/init.d/squid start Để dừng squid ta dùng lệnh: [root@home]# /etc/init.d/squid stop Để khởi động lại squid ta dùng lệnh: [root@home]# /etc/init.d/squid restart Đồ án tốt nghiệp 58 Ch−ơng V: Cấu hình WEB SERVER 5.1 Cài đặt apache, php, mysql. Apache là một Web server rất mạnh và cũng là một phần mềm đ−ợc chọn làm web server để chạy trên hầu hết các server Linux. Do đáp ứng đ−ợc nhiều yêu cầu của ng−ời dùng nh− phát triển ứng dụng, kết nối với các hệ cơ sở dữ liệu thông dụng, khả năng bảo mật, chạy trên nhiều hệ điều hành khác nhau và một điều mà chúng ta đều biết là nó miễn phí. ở đây chúng ta lấy ví dụ máy chủ có địa chỉ IP là 10.0.0.1 cài apache còn máy trạm có địa chỉ IP còn lại của lớp A 5.1.1 Download và cài đặt Apache Chúng ta có thể download apache ở địa chỉ: Để đơn giản hơn có thể copy tập tin apache-2.0.15.i386.rpm trên đĩa cài đặt RedHat 9.0 Sau khi đã có file apache-2.0.15.i386.rpm thì copy nó vào th− mục nào đó rồi chạy lệnh rpm với tham số ivh chẳng hạn ta copy vào th− mục /var/apache #cp apache-2.0.15.i386.rpm /var/apache chuyển vào th− mục /var/apache #cd /var/apache cài đặt #rpm -ivh apache-2.0.15.i386.rpm sau khi thực hiện các lệnh trên thì apache đã đ−ợc cài đặt trên Linux. để khởi động dịch vụ ta gõ lệnh: #/etc/rc.d/init.d/httpd start Đồ án tốt nghiệp 59 Có thể vào trình duyệt để kiểm tra. Vào trình duyệt gõ nếu thấy màn hình nh− sau thì apache đã hoạt động. 5.1.2 Download và cài đặt php Chúng ta có thể download php ở địa chỉ: Sau khi đã có file php.rpm thì copy nó vào th− mục nào đó rồi chạy lệnh rpm với tham số ivh chẳng hạn ta copy vào th− mục /var/php #cp php.rpm /var/php chuyển vào th− mục /var/php #cd /var/p

Các file đính kèm theo tài liệu này:

  • pdfDoanTNHuongdancobanLinux.pdf