1. Trang chủ
  2. » Công Nghệ Thông Tin

An toàn và bảo mật trên hệ điều hành Linux docx

36 636 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 889,23 KB

Nội dung

Trong các giao dịch giữa người dùng với máy chủ, tất cả các thông tin dạng gói được truyền qua mạng dưới hình thức văn bản không được mã hoá.Các góitin này có thể dễ dàng bịchặn và sao c

Trang 2

Gi ới thi ệu

Ngày nay, t rên mạng Int ernet kỳ di ệu, người t a đang t hực hi ện hàng t ỷ đô l a gi ao dị ch mỗi ngày( t rên dưới 2 ngàn t ỷ USD mỗi năm) Một khối ượng hàng hoá và t ền bạc khổng l ồ đang được tỷ t ỷ các đi ện

t ử t í hon chuyển đi và nó t hực sự l à mi ếng mồi béo bở cho những t ay

ăn t rộm hay khủng bố có có “ t ri t hức” Sự phát t ri ển nhanh chóng của mạng máy tí nh l à đi ều t ất yếu Hàng ngày có không bi ết bao nhi êu người tham gi a vào hệ t hống t hông t i n t oàn cầu mà chúng t a gọi l à Int ernet Những công t y l ớn, các doanh nghi ệp, các t rường đại học cùng như các t rường phổ t hông ngày càng tăng và hơn cả t hế có rất rất nhi ều người đang nối mạng t rực tuyến suốt 24/24 gi ờ mỗi ngày, bảy ngày t rong t uần Trong bối cảnh một i ên mạng t oàn cầu với hàng chục t ri ệu người sử dụng như Int ernet thì vấn đề an t oàn thông t n t rở nên phức t ạp và cấp t hi ết hơn Do đó một câu hỏi không mấy dễ chị u đặt ra l à : l ệu mạng máy t nh của chúng t a sẽ phải bị ấn công bất cứ lúc nào?

Sự bảo vệ của bất kỳ mạng máy tí nh nào đầu t ên cũng l à f rewall

và phần mền nguồn mở như Li nux Và câu chuyện về an t oàn mạng không có hồi kết t húc Vi ệc gi ữ an t oàn một hệ t hống kéo t heo chúng

t a phải có nhưng ki ến t hức t ốt về hệ đi ều hành, mạng TCP/IP cơ sở và quản t rị dị ch vụ Cùng với sự gợi ý của gi á vi ên hướng dẫn và t ầm quan t rọng của vi ệc an t oàn t hông ti n l i ên mạng, ở đây chúng t ôi chỉ

t rì nh bày một cách t ổng quan những vùng nơi Li nux có t hể và cần phải được gi ữ an t oàn, những t hêm vào đó l à các l ệnh cơ bản, những ki nh ngi ệm t rong nguyên t ắc an t oàn và bảo vệ hệ t hống mạng.

Nhóm si nh vi ên t hực hi ện:

- Nguyễn Huy Chương

- Lê Thị Huyền Trang

Trang 3

I An toàn cho các gi ao dị ch trên mạng

Có rất nhiều dịch vụ mạng truyền thống giao tiếp thông qua giao thức văn bản không mã hoá, như TELNET, FTP, RLOGIN, HTTP, POP3 Trong các giao dịch giữa người dùng với máy chủ, tất cả các thông tin dạng gói được truyền qua mạng dưới

hình thức văn bản không được mã hoá.Các góitin này có thể dễ dàng bịchặn và sao chép ở một điểm nào đó trên đường đi.Việc giảimã các góiin này rất dễ dàng,cho phép lấy được các thông tin như tên người dùng, mật khẩu và các thông tin quan trọng khác Việc sử dụng các giao dịch mạng được mã hoá khiến cho việc giải mã thông tin trở nên khó hơn và giúp bạn giữ an toàn các thông tin quan trọng Các kỹ thuật thông dụng hiện nay là IPSec,SSL,TLS,SASL và PKI

Quản trị từ xa là một tính năng hấp dẫn của các hệ thống UNIX Người quản trịmạng có thể dễ dàng truy nhập vào hệ thống từ bất kỳ nơinào trên mạng thông qua các giao thức thông dụng như telnet, rlogin Một số công cụ quản trị từ xa được sử dụng rộng rãi như linuxconf, webmin cũng dùng giao thức không mã hoá Việc thay thế tất cả các dịch vụ mạng dùng giao thức không mã hoá bằng giao thức có mã hoá

là rất khó Tuy nhiên, bạn nên cung cấp việc truy cập các dịch vụ truyền thống như HTTP/POP3 thông qua SSL,cũng như thay thế các dịch vụ telnet,rlogin bằng SSH

Nguyên tắc bảo vệ hệ thống mạng

1 Hoạch định hệ thống bảo vệ mạng

Trong môi trường mạng, phải có sự đảm bảo rằng những dữ liệu có tính bí mật phảiđược cất giữ riêng,sao cho chỉcó ngườicó thẫm quyền mớiđược phép truy cập chúng.Bảo mật thông tin là việc làm quan trọng,và việc bảo vệ hoạt động mạng cũng có tầm quan trong không kém

Mạng máy tính cần được bảo vệ an toàn, tránh khỏi những hiểm hoạ do vô

tình hay cố ý.Tuy nhiên một nhà quản trị mạng cần phải biết bất cứ cái gì cũng có mức độ, không nên thái quá Mạng không nhaats thiết phải được bảo vệ quá cẩn mật,đến mức ngườidùng luôn gặp khó khăn khitruy nhập mạng để thực hiện nhiệm

vụ của mình Không nên để họ thất vọng khi cố gắng truy cập cá tập tin của chính

mình.Bốn hiểm hoạ chính đốivớisự an ninh của mạng là:

o Truy nhập mạng bất hợp pháp

o Sự can thiệp bằng phương tiện điện tử

o Kẻ trộm

o Taihoạ vô tình hoặc có chủ ý

x Mức độ bảo mật :Tuỳ thuộc vào dạng môi trường trong đó mạng đang hoạt động

x Chính sách bảo mật : Hệ thống mạng đòi hỏi một tập hợp nguyên tắc, điều luật và chính sách nhằm loại trừ mọi rủi ro Giúp hướng dẫn vược qua các thay đổi và những tình huống không dự kiến trong quá trình phát triển mạng

x An toàn cho thiết bị: Tuỳ thuộc ở: quy mô công ty,độ bímật

dữ lệu,các tàinguyên khả dụng.Trong môitrường mạng ngang hàng,có thể không

Trang 4

có chính sách bảo vệ phàn cứng có tổ chức nào Người dùng chịu trách nhiệm đảm bảo an toàn cho máy tính và dữ lệu của riêng mình.

x Truy cập khi được sự cho phép : là chỉ định một số quyền nhất

định trên cơ sở người dùng, kiểm tra truy nhập tài nguyên dùng chung căn cứ vào CSDL user-access trên máy server

3 Nâng cao mức độ bảo mật

x Kiểm toán : Theo dõihoạt động trên mạnh thông qua tàikhoản người dùng, ghi lại nhiều dạng biến cố chọn lọc vào sổ nhật ký bảo mật của máy server Giúp nhận biết các hoạt động bất hợp lệ hoặc không chủ định Cung cấp các thông tin về cách dùng trong tình huống có phòng ban nào đó thun phísử dụng một

số tài nguyên nhất định, và cần quyết định phí của những tài nguyên này theo cách thức nào đó

x Máy tính không đĩa:Không có ổ đĩa cứng và ổ mềm Có thể thihành mọiviệ như máy tnh thông thường,ngoạitrừ việc lưu trữ dữ lệu trên đĩa cứng hay đĩa mềm cục bộ Không cần đĩa khởi động Có khả năng giao tiếp với server và đăng nhập nhờ vào một con chip ROM khởi động đặc biệt được cài trên card mạng.Khi bật máy tính không đĩa, chip ROM khởi động phát tín hiệu cho server biết rằng

nó muốn khởi động Server trả lời bằng cácn tải phần mềm khởi động vào RAM của máy tính không đĩa và tự đọng hiển thị màn hình đăng nhập Khi đó máy tính được kết nốivớimạng

x Mã hoá dữ lệu: Ngườita mã hoá thông tn sang dạng mậtmã bằng một phương pháp nào đó sao cho đảm bảo thông tin đó không thể nhận biết được nếu nơi nhận không biết cách giải mã Một người sử dụng hay một host có thể

sử dụng thông tin mà không sợ ảnh hưởng đến ngườisử dụng hay một host khác

x Chống virus :

- Ngăn không cho virus hoạt động

- Sữa chữa hư hạiở một mức độ nào đó

- Chặn đứng virus sau khinó bộc phát Ngăn chặn tình trạng truy cập bất hợp pháp là một trong những giải pháp

hiệu nhiệm nhất để tránh virus Do biện pháp chủ yếu là phòng ngừa, nên nhà quản trịmạng phảibảo đảm sao cho mọiyếu tố cần thiết đều đã sẵn sàng:

- Mật mã để giảm khả năng truy cập bất hợp pháp

- Chỉđịnh các đặc quyền thích hợp cho mọingườidùng

- Các profie để tổ chức môi trường mạng cho người dùng có thể lập cấu hình và duy trì môi trường đăng nhập, bao gồm các kết nối mạng và những khoản mục chương trình khingườidùng đăng nhập

- Một chính sách quyết định có thể tảiphần mềm nào

Trang 5

Ki ến trúc bảo mật của hệ thống mạng

1) Các mức an toàn thông tin trên mạng

Không có điều gì gọi là hoàn hảo trong việc an toàn hệ thống mạng như

Linux Nó được thiết kế để là một hệ điều hành nối mạng và sự phát triển mạnh mẽ của nó chỉđể tập trung vào sự an toàn Hệ điều hành mã nguồn mở là cáigìmà cho phép người quản trị mạng và những người phát triển, những người dùng triền miên theo dõi và kiểm toán những gì dễ bị tấn công Ở đấy không có gì huyền bì về an toàn thông tin Thật là tốt nếu như các tài nguyên được bảo mật và được bảo vệ tốt trước bất kỳ sự xâm phạm vô tình hay cố ý

An toàn hay bảo mật không phảià một sản phẩm,nó cũng không phảià một phần mền.Nó là một cách nghĩ.Sự an toàn có thể được khởiđộng và dừng như một

dịch vụ Bảo mật là cách an toàn Tài liệu bảo mật là tư liệu mà những thành viên của tổ chức muốn bảo vệ.Trách nhiệm của việc bảo mật là ngườiquản trịmạng

Sự an toàn mạng có vaitrò quan trọng tốicao.An toàn phảiđược đảm bảo từ những nhân tố bên ngoài kernel, tại phần cốt lõi của Linux server Cơ chế bảo mật cần phải bao gồm cấu hình mạng của Server, chu vi ứng dụng của tổ chức mạng và thậm chí của những client truy nhập mạng từ xa Có vài cách mà ta cần phải xem xét:

Điều này là cơ bản và giám sát được tốt khía cạnh an toàn của hệ điều hành

Linux Sự an toàn vật lý bắt đầu với môi trường xung quanh ví dụ như đối với các nhà cung cầp dịch vụ hãm hại?Có nên khoá các khối dữ liệu lại? Những người nào được chấp nhận được vào trung tâm dữ liệu Việc bảo vệ thích hợp là phải thực hiện

lạikhimuốn xây dựng một càiđặt mớihay dichuyển dữ lệu đến một vịtrímới

Trang 6

có có haiợithế:

o Những option an toàn của nhân được xác định bởingườiquản trịmạng

và người quản trị mạng biết cái gì được xác định vào trong kernel và từ đây có thể đồng thời nhận ra nếu điều đó nếu có Phần nềm nguồn mở nói chung và hệ điều hành Linux nóiriêng,đặc biệt có những cảiiến để dễ dàng cho ngườisử dụng và có những tện ích dễ ứng dụng.Chỉcần update trong Red Hat

o Sự an toàn các tàikhoảng ngườidùng có vaitrò to lớn.Có những vùng được vô hiệu hoá,những tàikhoảng không hoạt động,vô hiệu hoá việc truy cập đến NFS lên gốc, hạn chế những đăng nhập vào trong môi trường điều kiển hệ thống.Mã hoá fie hệ thông sử dụng kỹ thuật mã hoá mà thường là phòng thủ cuối cùng cho mạng

Có hai cách tiếp cận chung: Hệ thống fie mã hoá (CFS) và Practical Privacy

Disk Driver(PPDD) Hệ thống có thể được theo dõi và trong Linux, hệ thống logging được logged trong tiện ích syslog Công cụ theo dõi bao gồm swatch và logcheck.Swatch có công cụ thông báo thời gian thực, trong khi logcheck cung cấp một công

cụ mà phát sinh những báo cáo định kỳ Kiểm toán Password cũng có vai trò sống còn trong việc an toàn, bảo mật hệ thống trong khi mối liên kết yếu nhất trong việc

an toàn mạng là ngườisử dụng và việc lựa chọn các mật khẩu password

3 An toàn mạng

Ở đây liên quan đến việ kết nối từ Linux server vào mạng Cấu hình dịch vụ mạng vớisự an toàn ngày càng khó khăn cho những nhà quản trịmạng. The xinetd

daemon cần phảiđược định hình tổ chức bảo mật.Lệnh netstat Là một tiện ích mạnh

cho phép người quản trị kiểm tra tình trạng cấu hình mạng Kiểm tra mạng là điều cần thiếtcủa việc an toàn Điều này đảm bảo rằng cơ chế an toàn đã được thực hiện

có hiêu quả trong việc hoàn thành những yêu cầu bảo mật Điều đó đạt được bởiquyền thực hiện đến mạng của bạn Cách tiếp cận việc kiểm định mạng hiệu quả nhất sẽ trong vaitrò của ngườiàm phiền.Có những công cụ kiểm định cơ sở và host

cơ sở

SATAN(Security Administrator's Tool for Analysing Networks), SAINT( Security Administrator's Integrated Network Tool), SARA (Security Auditor's Research Assistant) là những công cụ tốt để kiểm định cơ bản SATAN được đầu tiên công nhận năm 1995,nó được công nhận đông đảo bởimã nguồn mở

SAINT mạnh hơn SANAN, trong khi SARA là một modul ackage, tương tác vớiNmap và Samba Những cải tiến gần đây nhất là công cụ Nessus Nessus là miễn phí, nguồn mở,đầy đủ nổi bật, công cụ kiểm toàn vẫn được hỗ trợ cải tiến cải tiến

tích cực.Nessus đi vào 2 thành phần : - Client(nessus) và server( nesssus) Công cụ Nmap cho người quản trị giàu kinh nghiệm Mặt khác Nmap có sức mạnh, công cụ quét cho ngườicó kinh nghiệm.Nó được sử dụng tốt trong mạng LAN

TARA(Tiger Auditors Research Assistant)là một ví dụ cho công cụ kiểm toán cơ

sở host Theo dõi mạng dưới một sự tấn công Công cụ để theo dõi đó là PortSentry

và Ethereal Port Sentry quét trong chế độ ngầm định Bảo mật mạng như một trò chơigiữa mèo và chuột,của trítuệ và máy đếm trítuệ.Trong khimạng kiểm toán là một phần của mạng bình thường,mạng theo dõicần phảiđược ưu tiên cao hơn.Việc

Trang 7

bảo mật bao gồm việc kiểm toán chính xác và cả việc có nên để như thế hay không.PortSentry là một ví dụ của công cụ theo dõi thời gian thực được thiết kế để quét phát hiện ra hệ thống,và có khả cho bạn những hồiđáp.

4 Các ứng dụng an toàn Một vàideamons chuẩn trong việc phân phốiLinux hiện thờià những ứng dụng đầy đủ mà nó có cấu trúc fie phức tạp Web, fie, mail server sử dụng những giao thức phức tạp An toàn có thể được thực hiện bởi các đặc tính bảo mật của việc các đạiý cho phép(MTA‟s) như SendmailQmailvà Postfix

Web Server có thể cũng được giữ an toàn bởicác modulcho phép: mod_auth,mod_auth_dbm, mod_auth_db,….Việc cho phép Open SS hỗ trợ cho Apache sẽ cũng công tác với web server Samba có thể làm an toàn bởi việc đọc các thông số đang chạy Bước đầu tiên sẽ được bảo vệ bởi công cụ quản trị web Samba (SAT) với SLL nên các lệnh quản lý Samba được bảo vệ

5 Chu vi an toàn Cấp số tự nhiên của cách tếp cận được sắp từng lớp đến sự an toàn máy tính

ra khỏiớp từ lớp mạng đến lớp ứng dụng,và từ đó đền lớp chu vi.Đây là vùng được quan tâm Firewalls là thành phần chính của miền chu vi an toàn, là phần mền mà chức năng bắt buộc tổ chức bảo mật an toàn bởibộ lọc,bảo mật,đẩy mạnh,hay yêu cầu nằm trong Linux server để kết nối đến cả mạng chính và Internet Fireware có thể được thực hiện nhiều cách dựa trên các lớp của mô hình OSI: lớp mạng,ớp giao vận và ứng dụng Có điểm tích cực và tiêu cực trong việc triển khai fireware tại các

lớp của mạng.Firewall mạng được biết như các packet-fitering gateway, nơi mà chúng kiểm tra nhữg góiin IP vào giao diện freware và hoạt động phù hợp được giữ

lại hoạt động bao gồm drop, cho phép/ hoặc log Sự bất lợi là kiểu Firewall này không khôn khéo Firwall giao vận làm việc bởi khảo sát TCP hoặc UDP Firewall yêu cầu sự can thiệp người dùng sửa đổi những thủ tục Firewall ứng dụng làm cho các quyết định truy nhập ở tầng ứng dụng.Nó cho phép người quản trị may firewall cho yêu cầu của mỗioạiứng dụng.Cacibất tiện trong frewalllà ngườiquản trịcần định

hình triển khai theo dõi, và bảo trì quá trình firewall cho mỗi ứng dụng mà cần truy nhập điều khiển

Nó luôn là tôt đẻ thực hiện bảo mật bởiviệc sử dụng kết hợp một irewalltạitất cả ba tầng để tránh sự tổn thương Firewall không chỉ cản trở những người làm phiền không hợp pháp vào mạng nhưng phải cho phép người sử dụng truy nhập bên ngoàivào nguồn tàinguyên,trong khiđó chấp nhận phê chuẩn nhất định những kết nối sau cho người dùng Đây là nhận thức dễ nhưng đó là một thách thức khi thi hành

Những giải pháp cho việc lọc gói trong Linux bao gồm ipchains và ipfwadm

tiện ích của việc lọc góitin được sử dụng trong nhân từ phiên bản 1.2.1 về trước

Phiên bản cuốicùng của ipfwadm vào tháng 7/1996,sau đó ipchains thay thế

nó Những địa chỉ Ipchains là những giới hạn thiếu sót của ipfwadr như đếm 32 bitkhông có khả năng giải quyết cấu thành địa chỉ IP,.v.v Ipchains chiến thắng các

giới hạn đó bởi việc tận dụng lợi ích của ba kênh riêng biệt hay những quy tắc nối

tiếp để lọc.Ba kênh đó là : INPUT,OUTPUT,và FORWARD

Trang 8

Tiện ích Ipchains theo cú pháp:

ipchains command chain rule-specification [options] -j action

Tại đây có thể một trong số kênh INPUT, OUTPUT hoặc FORWARD Như nhân

2.4 về trước, tính hoạt động một lần của Ipchains được thay thế bởi Netfiter và khoảng quy tắc Iptables Netfiter được hỗ trợ bởi công nghệ Watchguard Ipctables được phát triển từ tiện ích của Ipchains và nó chỉ chạy trên những phiên bản 2.3 về trước

Một vídụ về lệnh Iptables:

iptables -A INPUT -p tcp –-dport smtp -j ACCEPT

Hiện nay có những thiết kế firewall bắt được hầu hết các cấu trúc mạng phổ

biến,báo hiệu đơn giản theo yêu cầu kết nốitớinhững nơirất phức tạp kéo theo khu vực được phiquân sự hoá(DMZ)

II Bảo mật Li nux Server

Những ki nh nghi ệm bảo mật

Hiện nay Linux đang dần trở thành một hệ điều hành khá phổ biến bởi tính

kinh tế, khả năng bảo mật và sự uyển chuyển cao Thế nhưng, mọi hệ thống dù an toàn đến đâu cũng dễ dàng bị xâm nhập nếu người dùng(và nhất là người quản trị- root) không đặt sự bảo mật lên hàng đầu Sâu đây là một só kinh nghiệm về bảo mật trên hệ điều hành Red Hat Linux mà chúng tôimuốn chia sẽ cùng các bạn:

1 Không cho phép sử dụng tài khoảng root từ consol e: Sau khi cài đặt,tài khoảng root sẽ không có quyền kết nối telnet vào dịch vụ telnet trên hệ thống,trong khi đó tài khoản bình thường lại có thể kết nối, do nội dung tập tin /etc/security chỉ quy định những console được phép truy cập bởi root và chỉ liệt kê những console truy xuất khi ngồi trực tiếp tại máy chủ Để tăng cường bảo mật hơn nữa, hãy soạn thảo tập tin /etc/security và bỏ đi những console bạn không muốn root truy cập

2 Xoá bớt tài khoảng và nhóm đặc bi ệt:Người quản trịnên xoá bỏ tất cả các tài khoảng và nhóm được tạo sẵn trong hệ thống nhưng không có nhu cầu sử dụng.( ví dụ: lp, syne, shutdown, halt, news, uucp, operator, game, gophẻ…) Thực

hiện việc xoá bỏ tàikhoảng bằng lệnh usedelvà xoá bỏ nhóm vớiệnh groupdel

3 Tắt 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ệ thống tự động chạy khá nhiều dịch vụ, trong đó đa số là các dịch vụ không mong muốn, dẫn đến tiêu tốn tài nguyên và sinh ra nhiều nguy cơ về bảo mật Vìvậy người quản trị nên tắt các dịch vụ không dùng tới(ntsysv) hoặc xoá bỏ các gói

dịch vụ không sử dụng bằng lệnh rpm

4 Không cho “SU” (Substi tute) l ên root: Lệnh su cho phép người dùng chuyển sang tàikhoảng khác.Nếu không muốn ngườidùng “su” thành root thìthêm hai dòng sau vào tập tin /etc/pam.d/su:

Auth sufficient/lib/security/pam_root ok so debug

Auth required/lib/security/pam_wheel.so group= tên_nhóm_root

5 Che dấu tập ti n mật khẩu: Giaiđoạn đầu,mậtkhẩu toàn bộ tàikhoảng được lưu trong tập tn /etc/password, tập tin mà mọi người dùng đều có quyền đọc.Đây là kẻ hở lớn trong bảo mật dù mật khẩu được mã hoá nhưng việc giảimã không phải là không thể thực hiện được Do đó, hiện nay các nhà phát triển Linux đã đặt

Trang 9

riêng mật khẩu mã hoá vào tập tin /ect/shadow chỉ có root mới đọc được, nhưng yêu cầu phảichọn Enable the shadow password khicàiRed Hat.

6 Luôn nâng cấp cho nhân (kernel ) Li nux:Linux không hẵn được thiết kế với tính năng bảo mật chặt chẽ, khá nhiều lỗ hỏng có thể bị lợi dụng bởi tin tặc Vìvậy việc sử dụng một hệ điều hành vớinhân được nâng cấp là rất quan trọng vìmột khinhân,phần cốt lõinhất của hệ điều hành được thiết kế tốt thìnguy cơ bịphá hoại

sẽ giảm đirất nhiều

7 Tự động thoát khỏi Shel l : Người quản trị hệ thống và kể cả người sử dụng bình thường rất hay quên thoát ra dấu nhắc shell khi kết thúc công việc Thât nguy hiểm nếu có một kẻ nào sẽ có toàn quyền truy suất hệ thống mà chăng tốn chút công sức nào cả.Do vậy ngườiquản trịnên càiđặt tnh năng tự động thoát khỏishellkhikhông có sự truy xuất trong khoảng thờigian định trước bằng cách sử dụng

biến môitrường và gán một giá trịquy định Số giây hệ thống duy trìdấu nhắc,bạn nên vào tâp tin /ect/ profie để luôn tác dụng trong mọiphiên làm việc

8 Không cho phép truy nhập tập ti n kị ch bản khởi động của Li nux: Khihệ

điều hành Linux khởi động, các tập tin kịch bản (script) được đặt tại thư mục /etc/rc.d/init.d sẽ được gọithực thi.Vìthế,để tránh những sự tò mò không cần thiết

từ phía người dùng, với tư cách người quản trị, bạn nên hạn chế quyền truy xuất tớicác tập tin này và chỉcho phép tàikhoảng root xử lý bằng lệnh sau:

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

9 Gi ới hạn vi ệc tự ý ghi nhận thông ti n từ shel l : Theo mặc định, tất cả

lệnh được thực thi tại dấu nhắc shell của tài khoảng đều được ghi vào tập tin bash_history( nếu sd bashshell) trong thư mục cá nhân của từng tài khoảng Điều này gây nên vô số nguy hiểm tiềm ẩn,đặc biệt đốivớinhững ứng dụng đòihỏingườidùng phải gõ thông tin mật khẩu Do đó người quản trị nên giới hạn việc tự ý ghinhận thông tn từ shelldựa vào haibiến môitrường HISTFILESIZE và HISTSIZE:

- Biến môi trường HISTFILESIZE quy định số lệnh gõ tại dấu nhắc shell sẽ được lưu lạicho lần truy cập sau

- Biến môi trường HISTSIZE quy định số lệnh sẽ được ghi nhớ trong phiên

làm việc hiện hành

Vìvậy,ta sẽ phảigiảm giá trịcủa HISTSIZE và cho giá trịHISTFILESIZE bằng

0 để giảm thiểu tối đa những nguy hiểm Bạn thực hiện việc này bằng cách thay đổi

giá trịhaibiến nêu trên trong tập tin /etc/profie như sau:

HISTFILESIZE = 0

HISTSIZE = xx

Trong đó xx là số lệnh mà shellsẽ ghinhớ,đồng thờikhông ghiạibất kỳ một

lệnh nào do ngườidùng đã gõ khingườidùng thoát khỏishell

10 Tắc các ti ến trì nh SUID/SGID : Bình thường, các tiến trình được thực

hiện dưới quyền của tài khoản gọi thực thi ứng dụng đó Đó là dưới windows, nhưng Unix/Linux lại sử dụng một kỹ thuật đặc biệt cho phép một số chương trình được thực hiện dưới quyền của người quản lý chương trình chứ không phải người gọi thực thi chương trình Và đây chính là lý do tại sao tất cả mọi người dùng trong hệ thống đều có thể đổimật khẩu của mình trong khikhông hề có quyên truy xuất lên tập tin /etc/shadow, đó là vì lệnh passwd đã được gán thuộc tính SUID và được quản lý bởiroot,mà root lạià ngườidùng duy nhất có quyền truy xuất /etc/shadow

Trang 10

Tuy thế,khả năng tiên tiến này có thể gây nên những nguy cơ khá phức tạp vìnếu một chương trình có khả năng thực thiđược quản lý bởiroot,do thiết kế tồihoặc

do được cài đặt cố tình bởi những kẻ phá hoại mà lại được đặt thuộc tính SUID thìmọi điều “ khủng khiếp” đều có thể xảy ra Thực tế cho thấy có khá nhiều kỹ thuậtxâm phạm hệ thống mà không có quyền root được thực hiện bằng các kỹ thuật này:

kẻ phá hoại bằng cách nào đó tạo một shell được quản lý bởi root, có thuộc tính SUID,kế đến mọitruy xuất phá hoạisẽ được thực hiện qua shellvừa tạo vìmọiệnh thực hiện trong shellsẽ được thực hiện giống như dướiquyền root

Thuộc tính SGID cũng tương tự như SUID: các chương trình được thực hiện vớiquyền 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ẽ phải thường xuyên kiểm tra trong hệ thống có những ứng dụng nào có thuộc tính SUID hoặc SGID mà không được sự quản lý của root không, nếu phát hiện được tập tin có thuộc tính SUID/SGID “ ngoàiuồng”, bạn

có thể loạibỏ các thuộc tình này bằng lệnh:

#chmod a-s

III Linux Firewall

An toàn hệ thống luôn luôn là một vấn đề sống còn của mạng máy tính và firewall là mộthành phần cốtyếu cho việc đảm bảo an ninh

Một firewall là một tập hợp các qui tắc, ứng dụng và chính sách đảm bảo cho ngườidùng truy cập các dịch vụ mạng trong khimạng bên trong vẫn an toàn đốivớicác kẻ tấn công từ Internet hay từ các mạng khác Có hai loại kiến trúc firewall cơ bản là : Proxy/Application frewallvà ftering gateway frewallHầu hết các hệ thống frewallhiện đạià loạiai(hybrid) của cả haioạirên

Nhiều công ty và nhà cung cấp dịch vụ Internet sử dụng máy chủ Linux như một Internet gateway Những máy chủ này thường phục vụ như máy chủ mail web, ftp, hay

dialup Hơn nữa, chúng cũng thường hoạt động như các firewall thi hành các chính sách

kiểm soátgiữa Internetvà mạng của công ty.Khả năng uyển chuyển khiến cho Linux thu hútnhư là mộthay thế cho những hệ điều hành thương mại

Tính năng frewall chuẩn được cung cấp sẵn trong kernelcủa Linux được xây dựng từ haithành phần : ipchains và IP Masquerading

Linux IP Firewallng Chains là một cơ chế lọc gói tin IP Những tính năng của IP Chains cho phép cấu hình máy chủ Linux như mộtiering gateway/firewalldễ dàng.Một

thành phần quan trọng khác của nó trong kernel là IP Masquerading, một tính năng chuyển đổi địa chỉ mạng (network address translation- NAT) mà có thể che giấu các địa chỉ IP thực của mạng bên trong Để sử dụng ipchains, bạn cần thiết lập một tập các luật

mà quiđịnh các kếtnốiđược cho phép hay bịcấm

Các nguyên tắc Ipchains Thực hiện các chức năng sau:

± Accept: The packet is okay; allow it to pass to the appropriate chain

Cho phép chuyển góitin qua chain thích hợp

± Deny: The packet is not okay; silently drop it in the bit bucket Không

đồng ý ,bịrớt

± Reject: The packet is not okay; but inform the sender of this fact via

an ICMP packet.Không đồng ý,nhưng sự việc của ngườigởiqua góiICMP

± Masq: Used for IP masquerading (network address translation) Sử dụng cho IP masquerading ( việc dịch địa chỉmạng)

± Redirect: Send this packet to someone else for processing Gởi gói tin này đến một ngườikhác để sử l

± Return: Terminate the rule list Hoàn thành danh sách các quy tắc

Trang 11

Chú ý: Các gói Ipf w(i pf i ters/i ptabl e) dưới hệ đi ều hành BSD cung cấp hoạt động tương tự Ipchai ns.

Vídụ:

# Cho phép các kếtnốiweb tớiWeb Server của bạn

/sbin/ipchains -A your_chains_rules -s 0.0.0.0/0 www -d 192.16.0.100 1024: -j ACCEPT

# Cho phép các kếtnốitừ bên trong tớicác Web Server bên ngoài

/sbin/ipchains -A your_chains_rules -s 192.168.0.0/24 1024: -d 0.0.0.0/0 www -j ACCEPT

# Từ chốiruy cập tấtcả các dịch vu khác

/sbin/ipchains -P your_chains_rules input DENY

Ngoài ra, bạn có thể dùng các sản phẩm firewall thương mại như Check Point FireWall

-1, Phoenix Adaptive Firewall Gateway Guardian, XSentry Firewall Raptor, hay rấtnhiều các phiên bản miễn phí,mã nguồn mở cho Linux như T.Rex FirewallDante,SINUS, TIS Firewall Toolkit,

1.DÙNG CÔNG CỤ DÕ TÌM ĐỂ KHẢO SÁT HỆ THỐNG

Thâm nhập vào một hệ thống bất kỳ nào cũng cần có sự chuẩn bị Hacker phải xác

định ra máy đích và tìm xem những port nào đang mở trước khi hệ thống có thể bị xâm phạm Quá trình này thường được thực hiện bởi các công cụ dò tìm (scanning tool), kỹ

thuật chính để tìm ra máy đích và các port đang mở trên đó Dò tìm là bước đầu tiên hacker sẽ sử dụng trước khi thực hiện tấn công Bằng cách sử dụng các công cụ dò tìm như Nmap, hacker có thể rà khắp các mạng để tìm ra các máy đích có thể bị tấn công.Mộtkhixác định được các máy này,kẻ xâm nhập có thể dò tìm các portđang lắng nghe.Nmap cũng sử dụng một số kỹ thuật cho phép xác định khá chính xác loại máy đang

kiểm tra

Bằng cách sử dụng những công cụ của chính các hacker thường dùng, người quản trị

hệ thống có thể nhìn vào hệ thống của mình từ góc độ của các hacker và giúp tăng cường

tnh an toàn của hệ thống Có rất nhiều công cụ dò tìm có thể sử dụng như: Nmap,strobe, sscan, SATAN,

Nmap

Là chữ viết tắtcủa "Network exploration tooland security scanner" Đây là chương trình quéthàng đầu vớiốc độ cực nhanh và cực mạnh.Nó có thể quétrên mạng diện rộng và đặc biệt tốt đối với mạng đơn lẻ NMAP giúp bạn xem những dịch vụ nào đang chạy trên server (services/ports:webserver,fpserver,pop3, ), server đang dùng hệ điều hành gì,

loạiường lửa mà server sử dụng,.và rấtnhiều tnh năng khác.Nóichung NMAP hỗ trợ hầu hếtcác kỹ thuậtquétnhư : ICMP (ping aweep),IP protocol, Null scan, TCP SYN (half open), NMAP được đánh giá là công cụ hàng đầu của các Hacker cũng như các nhà quản trịmạng trên thế giới

Quét an toàn Nmap là một trong số công cụ quét an toàn được sử dụng rộng rãinhất sẵn có.Nmap là một cổng quét mà chống lạicác nhân tố,các cách khác tàn phá đến mạng của bạn Nó có thể phát sinh ra nhiều kiểu gói mà thăm dò các ngăn xếp TCP/IP trên những hệ thống của bạn

Nmap có thể phát sinh ra một danh sách của những cổng mở dịch vụ trên hệ thống của bạn,thâm nhập firewalls, và cung cấp những tin quấy rầy, không tin cậy đang chạy trên host của bạn.Nmap security có sẵn tại: http://www.insecure.org Dướiđây là mộtvídụ sử dụng Nmap:

# nmap -sS -O 192.168.1.200

Starting nmap V 2.54 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)

Interesting ports on comet (192.168.1.200):

Port State Protocol Service

7 open tcp echo

19 open tcp chargen

Trang 12

21 open tcp ftp

TCP Sequence Prediction: Class=random positive increments

Difficulty=17818 (Worthy challenge)

Remote operating system guess: Linux 2.2.13

Nmap run completed 1 IP address (1 host up) scanned in 5 seconds

Tuy nhiên, sử dụng các công cụ này không thể thay thế cho một người quản trị có kiến

thức Bởi vì việc dò tìm thường dự báo một cuộc tấn công, các site nên ưu tiên cho việc

theo dõichúng.Vớicác công cụ dò tìm,các nhà quản trịhệ thống mạng có thể pháthiện

ra những gìmà các hacker có thể thấy khidò trên hệ thống của mình

2.PHÁT HIỆN SỰ XÂM NHẬP QUA MẠNG

Nếu hệ thống của bạn có kếtnốivào internet,bạn có thể trở thành một mục têu bịdò

tm các lỗ hổng về bảo mật.Mặc dù hệ thống của bạn có ghinhận điều này hay không thìvẫn không đủ để xác định và pháthiện việc dò tìm này.Mộtvấn đề cần quan tâm khác là các cuộc tấn công gây ngừng dịch vụ (Denial of Services - DoS), làm thế nào để ngăn ngừa,pháthiện và đốiphó vớichúng nếu bạn không muốn hệ thống của bạn ngưng trệ

Hệ thống phát hiện xâm nhập qua mạng (Network Intrusion Detection System - NIDS)

theo dõi các thông tin truyền trên mạng và phát hiện nếu có hacker đang cố xâm nhập vào hệ thống (hoặc gây gây ra một vụ tấn công DoS) Một ví dụ điển hình là hệ thống

theo dõi số lượng lớn các yêu cầu kết nối TCP đến nhiều port trên một máy nào đó, do vậy có thể phát hiện ra nếu có ai đó đang thử một tác vụ dò tìm TCP port Một NIDS có

thể chạy trên máy cần theo dõi hoặc trên một máy độc lập theo dõi toàn bộ thông tin

trên mạng

Các công cụ có thể được kết hợp để tạo một hệ thống phát hiện xâm nhập qua mạng.Chẳng hạn dùng tcpwrapper để điều khiển, ghi nhận các dịch vụ đã được đăng ký Các chương trình phân tích nhậtký hệ thống,như swatch,có thể dùng để xác định các tác vụ

dò tìm trên hệ thống Và điều quan trọng nhất là các công cụ có thể phân tích các thông

tn trên mạng để phát hiện các tấn công DoS hoặc đánh cắp thông tin như tcpdump,ethereal, ngrep, NFR (Network Flight Recorder), PortSentry, Sentinel, Snort,

Khi hiện thực một hệ thống phát hiện xâm nhập qua mạng bạn cần phải lưu tâm đến

hiệu suấtcủa hệ thống cũng như các chính sách bảo đảm sự riêng tư

3.KIỂM TRA KHẢ NĂNG BỊ XÂM NHẬP

Kiểm tra khả năng bị xâm nhập liên quan đến việc xác định và sắp xếp các lỗ hổng an

ninh trong hệ thống bằng cách dùng một số công cụ kiểm tra Nhiều công cụ kiểm tra cũng có khả năng khai thác một số lỗ hổng tìm thấy để làm rõ quá trình thâm nhập tráiphép sẽ được thực hiện như thế nào.Vídụ,mộtỗiràn bộ đệm của chương trình phục vụ

dịch vụ FTP có thể dẫn đến việc thâm nhập vào hệ thống với quyền „root‟ Nếu ngườiquản trịmạng có kiến thức về kiểm tra khả năng bịxâm nhập trước khinó xảy ra,họ có

thể tến hành các tác vụ để nâng cao mức độ an ninh của hệ thống mạng

Có rấtnhiều các công cụ mạng mà bạn có thể sử dụng trong việc kiểm tra khả năng bịxâm nhập Hầu hết các quá trình kiểm tra đều dùng ít nhất một công cụ tự động phân

tch các lỗ hổng an ninh.Các công cụ này thăm dò hệ thống để xác định các dịch vụ hiện

có.Thông tn lấy từ các dịch vụ này sẽ được so sánh vớicơ sở dữ lệu các lỗ hổng an ninh

đã được tm thấy trước đó

Các công cụ thường được sử dụng để thực hiện các kiểm tra loại này là ISS Scanner,Cybercop, Retina, Nessus, cgiscan, CIS,

Kiểm tra khả năng bị xâm nhập cần được thực hiện bởi những người có trách nhiệm một cách cẩn thận Sự thiếu kiến thức và sử dụng sai cách có thể sẽ dẫn đến hậu quả nghiêm trọng không thể lường trước được

Trang 13

4.ĐỐI PHÓ KHI HỆ THỐNG CỦA BẠN BỊ TẤN CÔNG

Gần đây, một loạt các vụ tấn công nhắm vào các site của những công ty lớn như Yahoo!, Buy.com, E-Bay, Amazon và CNN Interactive gây ra những thiệt hại vô cùng nghiêm trọng Những tấn công này là dạng tấn công gây ngừng dịch vụ "Denial-Of-Service" mà được thiết kế để làm ngưng hoạt động của một mạng máy tính hay một website bằng cách gửi liên tục với số lượng lớn các dữ liệu tới mục tiêu tấn công khiến cho hệ thống bị tấn công bị ngừng hoạt động, điều này tương tự như hàng trăm ngườicùng gọikhông ngừng tới1 số điện thoạikhiến nó lên tục bịbận

Trong khi không thể nào tránh được mọi nguy hiểm từ các cuộc tấn công, chúng tôikhuyên bạn mộtsố bước mà bạn nên theo khibạn phát hiện ra rằng hệ thống của bạn bị

tấn công Chúng tôi cũng đưa ra một số cách để giúp bạn bảo đảm tính hiệu qủa của hệ

thống an ninh và những bước bạn nên làm để giảm rủi ro và có thể đối phó với những cuộc tấn công

Nếu phát hi ện ra rằng hệ thống của bạn đang bị tấn công, hãy bì nh tĩ nh Sau đây l à những bước bạn nên l àm:

x Tập hợp 1 nhóm để đối phó với sự t ấn công:

o Nhóm này phải bao gồm những nhân viên kinh nghiệm, những người mà

có thể giúp hình thành mộtkế hoạch hành động đốiphó vớisự tấn công

x Dựa t heo chí nh sách và các quy t rì nh t hực hi ện về an ni nh của công t y, sử dụng các bước t hí ch hợp khi hông báo cho mọi người hay t ổ chức về cuộc tấn công.

x Tì m sự gi úp đỡ t ừ nhà cung cấp dị ch vụ Int ernet và cơ quan phụ t rách về an ni nh máy tính:

o Liên hệ nhà cung cấp dịch vụ Internet của bạn để thông báo về cuộc tấn công.Có thể nhà cung cấp dịch vụ Internetcủa bạn sẽ chặn đứng được cuộc tấn công

o Liên hệ cơ quan phụ trách về an ninh máy tính để thông báo về cuộc tấn công

x Tạm t hời dùng phương thức t ruyền t hông khác (chẳng hạn như qua đi ện t hoại ) khi rao đổi hông t n để đảm bo rằng kẻ xâm nhập không t hể chặn và l ấy được t hông t n.

x Ghi l ại t ất cả các hoạt động của bạn (chẳng hạn như gọi đi ện t hoại , t hay đổi f i e, )

x Theo dõi các hệ t hống quan t rọng t rong qúa t rì nh bị ấn công bằng các phần mềm hay dị ch vụ phát hi ện sự xâm nhập (i nt rusi on detect i on sof t ware/servi ces) Đi ều này có

t hể gi úp l àm gi ảm nhẹ sự t ấn công cũng như phát hi ện những dấu hi ệu của sự tấn công

t hực sự hay chỉ à sự quấy rối nhằm đánh l ạc hướng sự chú ý của bạn(chẳng hạn một ấn công DoS với dụng ý l àm sao l ãng sự chú ý của bạn t rong khi hực sự đây l à một cuộc tấn công nhằm xâm nhập vào hệ t hống của bạn) Sao chép lại tất cả các fies mà kẻ xâm nhập để lạihay thay đổi(như những đoạn mã chương trình,og fe,.)

x Li ên hệ nhà chức t rách để báo cáo về vụ t ấn công.

Những bước bạn nên l àm để gi ảm rủi ro và đối phó với sự tấn công trong tương lai :

o Xây dựng và trao quyền cho nhóm đốiphó vớisự tấn công

o Thihành kiểm tra an ninh và đánh giá mức độ rủiro của hệ thống

o Càiđặtcác phần mềm an toàn hệ thống phù hợp để giảm bớtrủiro

o Nâng cao khả năng của mình về an toàn máy tính

Trang 14

Các bước ki ểm tra để gi úp bạn bảo đảm tí nh hi ệu quả của hệ thống an ni nh

o Kiểm tra hệ thống an ninh mới cài đặt : chắc chắn tính đúng đắn của chính sách

an ninh hiện có và cấu hình chuẩn của hệ thống

o Kiểm tra tự động thường xuyên : để khám phá sự “viếng thăm” của những hacker hay những hành động sairáicủa nhân viên trong công ty

o Kiểm tra ngẫu nhiên: để kiểm tra chính sách an ninh và những tiêu chuẩn, hoặc

kiểm tra sự hiện hữu của những lỗ hổng đã được phát hiện (chẳng hạn những lỗi được

thông báo từ nhà cung cấp phần mềm)

o Kiểm tra hằng đêm những fe quan trọng: để đánh giá sự toàn vẹn của những fe

và cơ sở dữ lệu quan trọng

o Kiểm tra các tài khoản người dùng: để phát hiện các tài khoản không sử dụng,không tồn tại,

o Kiểm tra định kỳ để xác định trạng tháihiện tạicủa hệ thống an ninh của bạn

Thi ết l ập tường l ửa Iptabl es cho Li nux

Cấu hì nh Tabl es

Việc cài đặt Iptables là một phần trong việc cài đặt Red Hat ban đầu.Nguyên bản khởi tạo tìm kiếm sự tồn tại của fie Iptables, rules/etc/sysconfig/iptables, Và nếu chúng đã tồn tại iptables khởi động với cầu hình đã được chỉ rõ Một khi server này là gởi mail và nhận mail cấu hình Iptables nên cho phép những kết nối từ đầu vào sendmailđến bất kỳ nơiđâu.Ngườiquản trịhệ thống sẽ chỉsử dụng shh từ bên trong các máy,đặc biệt là MIS Iptables rules sẽ càiđặt để cho phép các kết nốishh

từ 2 MIS Ping ICMP sẽ cho phép bất kỳ đâu Không có công nào khác cho phép kết nốiđến ngườiphục vụ này.Đây là mức bổ sung cho việc phòng thủ của server trong trường hợp Firewall được thoã hiệp Thêm vào đó là việc bảo vệ cho ssh sẽ được cung cấp bởicấu hình các góitcp bên dưới

Những quy tắc để thực hiện cấu hình Iptables như sau:

/sbin/iptables -A INPUT -m state state ESTABLISHED,RELATED -j ACCEPT(1)

/sbin/iptables -A INPUT -p icmp icmp-type 8 -j ACCEPT(2)

/sbin/iptables -A INPUT -p tcp dport 25 -j ACCEPT(3)

/sbin/iptables -A INPUT -p tcp dport 22 -s 10.100.200.0/24 -j ACCEPT(4)

/sbin/iptables -A INPUT -p tcp dport 22 -s 10.100.201.0/24 -j ACCEPT(5)

/sbin/iptables -A INPUT -p udp sport 53 -s 10.100.50.50 -j ACCEPT(6)

/sbin/iptables -A INPUT -p udp -sport 53 -s 10.100.42.42 -j ACCEPT(7)

/sbin/iptables -A INPUT -j LOG(8)

/sbin/iptables -P INPUT DROP(9)

(1) Cho phép những kết nối ên quan và đã thiết lập đến server

(2) Cho phép các host khác ping đến server sendmaid

(3) Cho phép kết nốiSMTP đến server

(4),(5) Cho phép kết nốissh từ 2 MÍ (subnets)

(6), (7) Cho phép người phục vụ tên DNS cho box sendmaid để cung cấp giải pháp DNS.Nếu bạn có hơn một domain – DNS,thìthêm một dòng cho mỗiDNS

(8) log bất kỳ kết nốinào cố gắng mà nó không đặc biệt cho phép

(9) Càidặt chính sách mặc định cho bảng INPUT to DROP

Tất cả các kết nối đặc biệt không cho phép sẽ bị rớt Chương trình losentry sẽ được cấu hình để định rằng bất kỳ dòng nào log cũng như sự xâm phạm an toàn Để giữ được cấu hình qua reboot,ta phảichạy Iptables- Save.Chạy lệnh như sau:

/sbin/iptables-save > /etc/sysconfig/iptables

Khihệ thống khởiđộng lên,ie Iptables sẽ được đọc và cấu hình hiệu dụng

Trang 15

Iptables là một tường lửa ứng dụng lọc gói dữ liệu rất mạnh, miễn phí và có sẵn trên

Linux Netfter/Iptables gồm 2 phần là Netfter ở trong nhân Linux và Iptables nằm ngoài nhân Iptables chịu trách nhiệm giao tiếp giữa người dùng và Netfter để đẩy các

luật của người dùng vào cho Netfer xử lí Netfter tiến hành lọc các gói dữ liệu ở mức

IP.Netfter làm việc trực tếp trong nhân,nhanh và không làm giảm tốc độ của hệ thống

Cách đổi đị a chỉ IP động (dynami c NAT)

Trước khiđivào phần chính,mình cần giớihiệu vớicác bạn về công nghệ đổiđịa chỉNAT động và đóng giả IP Masquerade Haitừ này được dùng rấtnhiều trong Iptables nên bạn phảibiết.Nếu bạn đã biếtNAT động và Masquerade,bạn có thể bỏ qua phần này

NAT động là một trong những kĩ thuật chuyển đổi địa chỉ IP NAT (Network Address Translation).Các địa chỉIP nộibộ được chuyển sang IP NAT như sau:

NAT Router đảm nhận việc chuyển dãy IP nội bộ 169.168.0.x sang dãy IP mới

203.162.2.x Khi có gói liệu với IP nguồn là 192.168.0.200 đến router, router sẽ đổi IP nguồn thành 203.162.2.200 sau đó mớigởira ngoài.Quá trình này gọià SNAT (Source-NAT,NAT nguồn).Router lưu dữ lệu trong mộtbảng gọià bảng NAT động.Ngược lại,khi

có một gói từ liệu từ gởi từ ngoài vào với IP đích là 203.162.2.200, router sẽ căn cứ vào bảng NAT động hiện tại để đổi địa chỉ đích 203.162.2.200 thành địa chỉ đích mới là

192.168.0.200 Quá trình này gọi là DNAT (Destination-NAT, NAT đích) Liên lạc giữa 192.168.0.200 và 203.162.2.200 là hoàn toàn trong suốt (transparent) qua NAT router.NAT router tiến hành chuyển tiếp (forward) gói dữ liệu từ 192.168.0.200 đến

203.162.2.200 và ngược lại

Trang 16

Cách đóng gi ả đị a chỉ IP (masquerade)

Đây là mộtkĩthuậtkhác trong NAT

NAT Router chuyển dãy IP nội bộ 192.168.0.x sang một IP duy nhất là 203.162.2.4

bằng cách dùng các số hiệu cổng (port-number) khác nhau.Chẳng hạn khicó góidữ lệu

IP với nguồn 192.168.0.168:1204, đích 211.200.51.15:80 đến router, router sẽ đổi

nguồn thành 203.162.2.4:26314 và lưu dữ liệu này vào một bảng gọi là bảng

masquerade động Khi có một gói dữ liệu từ ngoài vào với nguồn là 221.200.51.15:80,

đích 203.162.2.4:26314 đến router,router sẽ căn cứ vào bảng masquerade động hiện tại

để đổi đích từ 203.162.2.4:26314 thành 192.168.0.164:1204 Liên lạc giữa các máy

trong mạng LAN vớimáy khác bên ngoàihoàn toàn trong suốtqua router

Cấu trúc của Iptabl es

Iptables được chia làm 4 bảng (table): bảng fiter dùng để lọc gói dữ liệu, bảng nat

dùng để thao tác vớicác góidữ lệu được NAT nguồn hay NAT đích,bảng mangle dùng để

thay đổi các thông số trong gói IP và bảng conntrack dùng để theo dõi các kết nối Mỗi

table gồm nhiều mắc xích (chain).Chain gồm nhiều luật (rule) để thao tác vớicác góidữ

lệu.Rule có thể là ACCEPT (chấp nhận góidữ lệu),DROP (thả gói),REJECT (loạibỏ gói)

hoặc tham chiếu (reference) đến mộtchain khác

Quá trì nh chuyển gói dữ l ệu qua Netfi l ter

Gói dữ liệu (packet) chạy trên chạy trên cáp, sau đó đi vào card mạng (chẳng hạn như

eth0).Đầu tiên packetsẽ qua chain PREROUTING (trước khiđịnh tuyến).Tạiđây,packet

có thể bịhay đổihông số (mangle) hoặc bịđổiđịa chỉIP đích (DNAT).Đốivớipacket đi

vào máy,nó sẽ qua chain INPUT.Tạichain INPUT,packetcó thể được chấp nhận hoặc bị

hủy bỏ Tiếp theo packet sẽ được chuyển lên cho các ứng dụng (client/server) xử lí và

tếp theo là được chuyển ra chain OUTPUT Tại chain OUTPUT, packet có thể bị thay đổi

các thông số và bị lọc chấp nhận ra hay bị hủy bỏ Đối với packet forward qua máy,

packet sau khi rời chain PREROUTING sẽ qua chain FORWARD Tại chain FORWARD, nó

cũng bị lọc ACCEPT hoặc DENY Packet sau khi qua chain FORWARD hoặc chain OUTPUT

sẽ đến chain POSTROUTING (sau khiđịnh tuyến).Tạichain POSTROUTING,packet có thể

được đổi địa chỉ IP nguồn (SNAT) hoặc MASQUERADE Packet sau khi ra card mạng sẽ

được chuyển lên cáp để điđến máy tnh khác trên mạng

Trang 17

Các tham số dòng lệnh thường gặp của Iptables

- chỉđinh loạigiao thức: -p <tên giao thức>,vídụ -p tcp, -p udp hoặc -p ! udp để chỉ

định các giao thức không phảià udp

- chỉđịnh card mạng vào: -i<tên_card_mạng_vào>,vídụ: -i eth0, -i lo

- chỉđịnh card mạng ra: -o <tên_card_mạng_ra>,vídụ: -o eth0, -o pp0

- chỉđịnh địa chỉIP nguồn: -s <địa_chỉ_ip_nguồn>,vídụ: -s 192.168.0.0/24 (mạng

192.168.0 với24 bítmạng),-s 192.168.0.1-192.168.0.3 (các IP 192.168.0.1,

192.168.0.2, 192.168.0.3)

- chỉđịnh địa chỉIP đích: -d <địa_chỉ_ip_đích>,tương tự như -s

- chỉđịnh cổng nguồn: sport<cổng_nguồn>,vídụ: sport 21 (cổng 21), sport 22:88

(các cổng 22 88), sport :80 (các cổng <=80), sport 22: (các cổng >=22)

- chỉđịnh cổng đích: dport<cổng_đích>,ương tự như sport

3 Các tùy chọn để thao tác với chai n

- tạo chain mới: iptables -N <tên_chain>

- xóa hếtcác luậtđã tạo trong chain: iptables -X <tên_chain>

- đặtchính sách cho các chain `buil-in` (INPUT, OUTPUT & FORWARD): iptables -P

<tên_chain_built-in> <tên policy (DROP hoặc ACCEPT)>,vídụ: iptables -P INPUT

ACCEPT để chấp nhận các packet vào chain INPUT

- liệtkê các luậtcó trong chain: iptables -L <tên_chain>

- xóa các luậtcó trong chain (flush chain): iptables -F <tên_chain>

- resetbộ đếm packetvề 0: iptables -Z <tên_chain>

4 Các tùy chọn để thao tác với uật

- thêm luật: -A (append)

- xóa luật: -D (delete)

- thay thế luật: -R (replace)

- chèn thêm luật: -I (insert)

Mình sẽ cho vídụ minh họa về các tùy chọn này ở phần sau

Phân bi ệt gi ữa ACCEPT, DROP và REJECT packet

- ACCEPT: chấp nhận packet

- DROP: thả packet(không hồiâm cho client)

- REJECT: loạibỏ packet(hồiâm cho clientbằng mộtpacketkhác)

Vídụ:

# iptables -A INPUT -i eth0 dport 80 -j ACCEPT chấp nhận các packetvào cổng 80 trên card mạng eth0

Trang 18

# iptables -A INPUT -i eth0 -p tcp dport 23 -j DROP thả các packetđến cổng 23 dùng

giao thức TCP trên card mạng eth0

# iptables -A INPUT -i eth1 -s ! 10.0.0.1-10.0.0.5 dport 22 -j REJECT reject-with reset gởigóiTCP vớicờ RST=1 cho các kếtnốikhông đến từ dãy địa chỉIP 10.0.0.1 5

tcp-trên cổng 22,card mạng eth1

# iptables -A INPUT -p udp dport 139 -j REJECT reject-with icmp-port-unreachable

gởigóiICMP `port-unreachable` cho các kếtnốiđến cổng 139,dùng giao thức UDP

Phân bi ệt gi ữa NEW , ESTABLISHED và RELATED

- NEW: mở kếtnốimới

- ESTABLISHED: đã thiết lập kếtnối

- RELATED: mở mộtkếtnốimớirong kếtnốihiện tại

Vídụ:

# iptables -P INPUT DROP đặtchính sách cho chain INPUT là DROP

# iptables -A INPUT -p tcp syn -m state state NEW -j ACCEPT chỉchấp nhận các góiTCP mở kếtnốiđã setcờ SYN=1

# iptables -A INPUT -m state state ESTABLISHED,RELATED -j ACCEPT không đóng các kếtnốiđang được thiếtập,đồng thờicũng cho phép mở các kếtnốimớirong kếtnốiđược thiếtập

# iptables -A INPUT -p tcp -j DROP các góiTCP còn lạiđều bịDROP

Tùy chọn limit, limit-burst

# iptables -A test -m limit limit-burst 5 limit 2/m -j RETURN

# iptables -A test -j DROP

# iptables -A INPUT -i lo -p icmp icmp-type echo-request -j test

Đầu tiên lệnh iptables -N test để tạo một chain mới tên là test (table mặc định là fter). Tùy chọn -A test (append) để thêm luật mới vào chain test Đối với chain test,

mình giới hạn limit-burst ở mức 5 gói, limit là 2 gói/phút, nếu thỏa luật sẽ trở về (RETURN) còn không sẽ bị DROP Sau đó mình nối thêm chain test vào chain INPUT với

tùy chọn card mạng vào là lo,giao thức icmp,oạicmp là echo-request.Luậtnày sẽ giớihạn các gói PING tới lo là 2 gói/phút sau khi đã đạt tới 5 gói.Bạn thử ping đến localhost xem sao?

$ ping -c 10 localhost

Chỉ 5 gói đầu trong phút đầu tiên được chấp nhận, thỏa luật RETURN đó Bây giờ đã đạt đến mức đỉnh là 5 gói, lập tức Iptables sẽ giới hạn PING tới lo là 2 gói trên mỗi phút bất chấp có bao nhiêu góiđược PING tớio đinữa.Nếu trong phútớikhông có góinào PING

tới,Iptables sẽ giảm lmitđi2 góitức là tốc độ đang là 2 gói/phútsẽ tăng lên 4 gói/phút.Nếu trong phút nữa không có gói đến, limit sẽ giảm đi 2 nữa là trở về lại trạng thái cũ chưa đạt đến mức đỉnh 5 gói.Quá trình cứ tiếp tục như vậy.Bạn chỉ cần nhớ đơn giản là khi đã đạt tới mức đỉnh, tốc độ sẽ bị giới hạn bởi tham số limit Nếu trong một đơn vị

thời gian tớikhông có góiđến,ốc độ sẽ tăng lên đúng bằng limit đến khirở lạirạng

tháichưa đạtmức limit-burst thì thôi

Để xem các luật trong Iptables bạn gõ lệnh $ iptables -L -nv (-L tất cả các luật trong tất

cả các chain,table mặc định là filter, -n lệtkê ở dạng số,v để xem chiiết)

# iptables -L -nv

Chain INPUT (policy ACCEPT 10 packets, 840 bytes)

pkts bytes target prot opt in out source destination

10 840 test icmp lo * 0.0.0.0/0 0.0.0.0/0 icmp type 8

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

Ngày đăng: 28/06/2014, 19:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w