YOMEDIA
ADSENSE
Tường lửa ứng dụng Web modsecurity
285
lượt xem 73
download
lượt xem 73
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Có một tiêu chuẩn chính khác cũng điều khiển cách thức World Wide Web làm việc là HTML (HyperText Markup Language, ngôn ngữ đánh dấu siêu văn bản), có chức năng quản lý cách thức mà các trang Web được định dạng và hiển thị.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tường lửa ứng dụng Web modsecurity
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Mục Lục Mục Lục......................................................................................................................................1 Internet................................................................................................................................4 Máy chủ và máy khách........................................................................................................5 Địa chỉ IP (IPaddress).........................................................................................................5 Các máy chủ tên miền (Name servers)...............................................................................6 Cổng (Ports)........................................................................................................................8 Giaothức (Protocols)............................................................................................................9 II. Các phương pháp tấn công webiste.................................................................................11 Chương 2: Modsecurity............................................................................................................20 I. Các khả năng của mod_security ......................................................................................20 II. Cài đặt...............................................................................................................................22 III. Cấu hình cơ bản ............................................................................................................23 IV. Rules................................................................................................................................24 V. Logging.............................................................................................................................31 VI. Xây dựng chính sách trên Modsecurity chống lại một số tấn công................................33 VII. Tài liệu tham khảo..........................................................................................................37 Chương 1: Hoạt động của ứng dụng web và cá kiểu tấn công web I. HTTP và Web Server 1. HTTP là gì ? HTTP là chữ viết tắt từ HyperText Transfer Protocol (giao thức truyền tải siêu văn bản). Nó là giao thức cơ bản mà World Wide Web sử dụng. HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đ ồ hoạ, âm thanh, video, và các file multimedia khác) được định dạng và truy ền 1
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity tải ra sao, và những hành động nào mà các Web server (máy chủ Web) và các trình duyệt Web (browser) phải làm để đáp ứng các l ệnh rất đa dạng. Chẳng hạn, khi bạn gõ một địa chỉ Web URL vào trình duy ệt Web, một lệnh HTTP sẽ được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu và kéo về mở trên trình duyệt Web. Nói nôm na hơn, HTTP là giao thức truyền tải các file từ một Web server vào một trình duyệt Web để người dùng có thể xem một trang Web đang hiện diện trên Internet.HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet). Có một tiêu chuẩn chính khác cũng điều khiển cách thức World Wide Web làm việc là HTML (HyperText Markup Language, ngôn ngữ đánh dấu siêu văn bản), có chức năng quản lý cách thức mà các trang Web được định dạng và hiển thị. người ta gọi HTTP là một giao thức “phi trạng thái” (stateless) bởi vì mỗi lệnh đều được thực thi một cách độc lập, lệnh sau không bi ết b ất cứ điều gì về các lệnh đã đến trước mình. Đây chính là một h ạn ch ế, khiếm khuyết của HTTP. Nó là nguyên nhân chính của tình trạng rất khó thực thi các trang Web có khả năng phản ứng thông minh đối với lệnh mà người dùng nạp vào. Và sự hạn chế này đang được các nhà phát triển khắc phục trong các công nghệ mới như ActiveX, Java, JavaScript và cookies. Phiên bản mới nhất của HTTP là 1.1. So với phiên bản nguyên thủy (HTTP 1.0), phiên bản mới này truyền tải các trang Web nhanh hơn và giảm tình trạng tắc nghẽn giao thông Web. 2. Web Server Các tiến trình cơ bản Khi bạn ngồi trước máy tính và đang duyệt web trên Internet. Có một người bạn của bạn gọi điện thoại cho bạn và nói “Tôi vừa đọc một bài viết rất hay! Bạn hãy đánh vào địa chỉ sau và xem thử nhé, địa chỉ 2
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity trang web đó là http://computer.howstuffworks.com/web-server.htm “. Khi bạn gõ vào địa chỉ trang web đó trên trình duy ệt web và ấn Enter, và thật là kỳ diệu, trang web đó đã hiển thị trên màn hình của bạn. Vậy, làm thế nào mà trang web có thể hiện thị được trên màn hình của bạn, cơ chế hoạt động của máy chủ Web như thế nào?. Chúng tôi sẽ giúp bạn hiểu rõ hơn bằng bài viết dưới đây. Các bước cơ bản trong tiến trình truyền tải trang web đến màn hình của bạn được thể hiện theo mô hình sau: Theo mô hình trên, trình duyệt web thực hiện một kết nối tới máy chủ web, yêu cầu một trang web và nhận lại nó. Sau đây, là thứ tự từng bước cơ bản xảy đến đằng sau màn hình của bạn: Trình duyệt web tách địa chỉ website làm 3 phần: • Phần giao thức: (“http”) 1. Máy chủ tên miền: (www.howstuffworks.com) 2. Tên tệp: (“web-server.htm”) 3. Trình duyệt liên hệ với máy chủ tên miền để chuyển đổi tên miền • "www.howstuffworks.com" ra địa chỉ IP (Internet Protcol). Sau đó, trình duyệt sẽ gửi tiếp một kết nối tới máy chủ có địa chỉ • IP tương ứng qua cổng 80. Dựa trên giao thức HTTP, trình duyệt gửi yêu cầu GET đến máy • chủ, yêu cầu tệp "http://computer.howstuffworks.com/web-server.htm.". (Bạn chú ý, cookies cũng sẽ được gửi kèm theo từ trình duyệt web đ ến máy chủ) Tiếp đến, máy chủ sẽ gửi đoạn text dạng HTML đến trình duy ệt • web của bạn. (cookies cũng được gửi kèm theo từ máy chủ tới trình duyệt web, cookies được ghi trên đầu trang của mỗi trang web) Trình duyệt web đọc các thẻ HTML, định dạng trang web và kết • xuất ra màn hình của bạn. 3
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Nếu bạn chưa từng bao giờ khám phá tiến trình trên, bạn sẽ gặp phải rất nhiều thuật ngữ mới. Để hiểu hiểu một cách chi tiết, bạn cần biết thêm về các khái niệm như địa chỉ internet (địa chỉ IP), các cổng (ports), các giao thức (protocol)… Đoạn viết sau sẽ giúp bạn hiểu rõ hơn. Internet Internet là gì? Internet là tập hợp khổng lồ của hàng triệu máy tính, được nối với nhau trên một mạng máy tính. Mạng máy tính này cho phép tất cả các máy tính trao đổi thông tin cho nhau. Một máy tính đặt ở nhà có thể tham gia vào mạng Internet thông qua đường điện thoại, đường thuê bao số hoặc cáp modem kết nối đến nhà cung cấp dịch vụ Internet (Internet service provider - ISP). Máy tính trong các công ty, trường học thường có 01 card mạng (Network interface Card - NIC) để kết nối trực tiếp vào mạng nội bộ (Local Area Network) của công ty hoặc trường học. Mạng nội bộ của công ty, trường học sẽ được nối tới nhà cung cấp dịch vụ Internet ISP bằng một đường điện thoại có tốc độ cao, ví dụ như đường T1. Mỗi đường T1 có thể đạt tốc độ 1.5 triệu bit trên 1 giây, trong khi một kết nối điện thoại thông thường chỉ đạt 30.000 đến 50.000 bít trên giây.Những nhà cung cấp dịch vụ ISP sẽ nối tới nhà cung cấp dịch vụ Internet lớn hơn…Đối với các đường kết nối chính trong một quốc gia hay khu vực, nhà cung cấp dịch v ụ Internet thường sử dụng sợi cáp quang. Hệ thống đường cáp chính trên toàn thế giới được kết nối bằng các loại đường sợi cáp quang, cáp đi ngầm dưới biển hoặc bằng hệ thống vệ tinh (satellite). Bằng cách nh ư vậy, thì mỗi một máy tính trên Internet đều được kết nối với nhau trên Internet. 4
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Máy chủ và máy khách Nhìn chung, máy tính trên Internet có thể được chia làm loại: Máy chủ và máy khách. Máy chủ là loại máy tính cung cấp dịch vụ (máy chủ dịch vụ web, máy chủ dịch vụ thư điện tử) đến các máy khác. Máy khách là những máy tính được sử dụng để kết nối tới các dịch vụ trên các máy chủ. Khi bạn kết nối tới Yahoo! tại địa chỉ www.yahoo.com đ ể xem trang web, trong trường hợp này, Yahoo! đang sử dụng một máy tính, được gọi là máy chủ (cũng có thể là một nhóm các máy chủ có cấu hình lớn) được kết nối trên Internet, nhằm cung cấp dịch vụ cho bạn. Ngược lại, máy tính của bạn có thể không cung cấp dịch vụ nào trên Internet để người khác truy cập, do đó nó chỉ được coi là máy tính sử dụng thông thường, hay còn gọi là máy khách. Một máy chủ có thể cung cấp một hay nhiều dịch vụ trên Internet. Ví dụ, một máy chủ thì có thể có nhiều phần mềm chạy trên nó, cho phép nó hoạt động như là máy chủ web, máy chủ email hoặc máy chủ FTP. Các máy trạm kết nối tới máy chủ thường với “mục đĩch” cụ th ể, nó hướng yêu cầu của mình tới một máy chủ có ứng dụng phù hợp với “mục đích” đó, ví dụ nếu bạn đang chạy chương trình duyệt web trên máy tính của bạn, có nghĩa máy tính của bạn đã kết nối tới máy chủ dịch vụ web. Tương tự, chạy ứng dụng Telnet trên máy tính của bạn sẽ kết nối tới máy chủ dịch vụ Telnet, chạy ứng dụng email sẽ kết nối tới máy chủ dịch vụ email… Địa chỉ IP (IPaddress) Để tất cả máy tính trên Internet có thể liên hệ với nhau, mỗi máy tính được cung cấp một địa chỉ duy nhất trên Internet, gọi là IP. Đ ịa chỉ IP là viết tắt của từ Internet Protocol. IP là một số 32 bít và đ ược th ể hiện dưới dạng con số thập phân gồm có 4 “octet”, ví dụ 216.27.61.137. 4 con số trong một địa chỉ IP được gọi là các “octet”, vì 5
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity mỗi số có thể có giá trị từ 0 đến 255, có nghĩa mỗi “octet” có đ ến 28 giá trị khác nhau. Địa chỉ IP là duy nhất đối với mỗi máy tính khi tham gia Internet .Đối với máy chủ, địa chỉ IP là cố định. Một máy tính, khi được kết n ối Internet bằng đường line điện thoại thông qua modem, thì được cung cấp địa chỉ IP bởi nhà cung cấp dịch vụ Internet (ISP). Địa chỉ IP này là duy nhất cho mỗi lần kết nối, cũng đồng nghĩa nó sẽ thay đổi địa chỉ IP khác khi kết nối lần tiếp theo. Theo cách này, thay vi phải cung cấp đ ịa chỉ IP cho từng khách hàng truy cập, nhà cung cấp dịch vụ Internet ISP chỉ cần một địa chỉ IP cho một modem. Nếu bạn làm việc trên hệ điều hành windows, bạn có thể xem rất nhiều thông tin liên quan Internet được ghi vào cấu hình máy tính của bạn, bao gồm địa chỉ IP hiện tại, tên máy.. bằng cách sử dụng lệnh WINIPCFG.EXE (IPCONFIG.EXE trên Windows 2000/XP). Trên máy Unix,để hiển thị địa chỉ IP, tên của máy tính, bạn chỉ gõ dòng l ệnh tại dấ u nhắc. nslookup Khi máy tính được kết nối Internet, thông số địa chỉ IP là quan trọng nhất giúp bạn kết nối tới máy chủ. Ví dụ, trên trình duyệt web, bạn có thể gõ địa chỉ kết nối http://209.116.69.66, lúc này, bạn đang kết nối kết máy chủ có địa chỉ IP là 209.116.69.66 và máy chủ đó có dịch vụ Web server cho website HowStuffWorks. Các máy chủ tên miền (Name servers) Thông thường, người dùng Internet không thể nhớ hết các con số trên địa chỉ IP, và một lý do nào đó địa chỉ IP cũng có th ể thay đ ổi. Vì vậy, tất cả các máy chủ trên Internet đều phải có một tên sao cho dễ đọc, thường được gọi là “tên miền” – Domain names. Ví dụ, tên miền www.howstuffworks.com là tên cố định, dễ đọc hơn so với việc phải 6
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity nhớ địa chỉ IP 209.116.69.66. Tên miền www.howstuffworks.com gồm có 3 phần: 1. Tên máy ("www") 2. Tên miền ("howstuffworks") 3. Tên miền cấp một ("com") Tên miền được quản lý bởi một công ty, tên là VeriSign. VeriSign tạo ra các tên miền “cấp một” và đảm bảo tất cả tên miền khác trong tên mi ền cấp một là duy nhất. VeriSign cũng duy trì các thông tin liên quan đ ến mỗi địa chỉ tên miền trên cơ sở dữ liệu “whois”. Tên máy được tạo bởi công ty cung cấp dịch vụ lưu trữ tên miền. “www” là tên máy phổ biến, nhưng nhiều nơi nó có thể được thay thế bởi tên khác, ví dụ tên máy thể hiện một khu vực địa lý, ví dụ như “encarta.msn.com”, tên miền của Microsoft's Encarta encyclopedia, tên máy "encarta" được thay thế cho www. Tập hợp các máy chủ tên miền (domain name servers - DNS) ánh xạ các tên miền dễ đọc tới các địa chỉ IP tương ứng. Những máy chủ này lưu trữ cơ sở dữ liệu tên miền ánh xạ đến địa chỉ IP, và chúng được bố trí nhiều nơi trên mạng Internet. Các công ty, các nhà cung cấp dịch vụ Internet hoặc các trường đại học đều duy trì máy chủ tên miền cỡ nhỏ để ánh xạ các tên máy tới các địa chỉ IP tương ứng. Tại VeriSign, cũng có các máy chủ tên miền trung tâm sử dụng dữ liệu được cung cấp bởi VeriSign để ánh xạ các tên miền đến địa chỉ IP. Nếu bạn địa chỉ gõ http://computer.howstuffworks.com/web- trình duyệt web, trình duyệt sẽ tách tên miền server.htm vào www.howstuffworks.com và gửi nó tới máy chủ tên miền, sau đó máy chủ tên miền sẽ gửi ngược lại địa chỉ IP đúng với tên miền www.howstuffworks.com . Trên máy chủ UNIX, bạn có thể biết các thông tin tương tự bằng cách sử dụng lệnh nslookup và đơn giản chỉ cần gõ vào một cái tên 7
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity www.howstuffworks.com trên dòng lệnh, câu lệnh sẽ tìm kiếm tên máy chủ và chuyển địa chỉ IP tương ứng cho bạn. Như vậy, Internet được tạo thành bởi hàng triệu máy tính, mỗi máy sẽ có địa chỉ IP duy nhất. Trong số đó, rất nhiều các máy tính là các máy chủ cung cấp dịch vụ cho các máy khác trên Internet, ví dụ như máy chủ e-mail, máy chủ web, máy chủ FTP, máy chủ Gopher, máy chủ Telnet… Cổng (Ports) Bất kỳ máy chủ khi cung cấp các dịch vụ trên Internet, đều sử dụng cổng được đánh số. Ví dụ, máy chủ chạy dịch vụ web và dịch vụ FTP, dịch vụ WEB thường dùng cổng 80, dịch vụ FTP dùng cổng 21. Các máy khách khi kết nối tới một dịch vụ, thường chỉ rõ địa chỉ IP và kết nối một cổng cụ thể. qua Trên Internet, mỗi dịch vụ đều có sẵn cổng tương ứng. dưới đây là danh sách các dịch cụ và các cổng tương ứng: Echo : 7 • daytime : 13 • qotd : 17 (Quote of the Day) • ftp : 21 • telnet : 23 • smtp : 25 (Simple Mail Transfer, meaning e-mail) • time : 37 • nameserver : 42 • nicname : 43 (Who Is) • gopher : 70 • finger : 79 • www : 80 • 8
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Khi máy chủ chấp nhận các kết nối từ bên ngoài qua một cổng nào đó và nếu bức tường lửa không chặn cổng đó, bạn có th ể kết nối cổng đó từ bất kỳ nơi nào trên Internet và sử dụng dịch vụ tương ứng. Tuy nhiên, không bắt buộc phải đặt chính xác số cổng với dịch vụ tương ứng, ví dụ với dịch vụ web thường là cổng 80. Nhưng nếu bạn cài đ ặt máy chủ và phần mềm Web server trên máy chủ đó, bạn có thể đặt dịch vụ web trên một cổng bất kỳ không sử dụng, ví dụ cổng 918. Sau đó, nếu máy chủ của bạn được đặt tên là xxx.yyy.com, một người duyệt web nào đó trên Internet sẽ kết nối tới máy chủ của bạn với địa chỉ là http://xxx.yyy.com:918 “:918” thể hiện số cổng, và luôn đi kèm với địa chỉ kết nối tới máy chủ của bạn. Nếu không có số cổng, trình duyệt web sẽ hiểu máy chủ cung cấp dịch vụ web qua cổng 80. Giaothức (Protocols) Khi máy khách kết nối tới một dịch vụ trên một cổng nào đó, nó thường truy cập dịch vụ thông qua một giao thức cụ thể. Giao thức là sự định nghĩa sẵn cách thức mà đối tượng như phần mềm máy tính, trình duyệt web dùng để “giao tiếp” với các dịch vụ mà chúng muốn sử dụng. Giao thức thường là các đoạn text và đơn giản là mô tả cách thức máy khách và máy chủ “đàm thoại với nhau” Giao thức đơn giản nhất là daytime protocol. Nếu bạn kết nối tới cổng 13 trên máy chủ có dịch vụ daytime, máy chủ sẽ gửi tới máy tính của bạn thông tin ngày tháng và sau đó tự động ngắt kết nối. Trên hệ thống UNIX hỗ trợ dịch vụ trên, nếu bạn muốn thử, bạn có thể kết nối bằng ứng dụng Telnet. Ví dụ %telnet web67.ntx.net 13 Trying 216.27.61.137... Connected to web67.ntx.net. Escape character is '^]'. 9
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Sun Oct 25 08:34:06 1998 Connection closed by foreign host. Trên hệ thống máy chủ Windows, bạn có thể truy cập dịch vụ trên bằng cách gõ "telnet web67.ntx.net 13" tại dấu nhắc của MSDOS. Trong ví dụ này, “web67.ntx.net” là tên máy chủ UNIX, và số 13 là số cổng cho dịch vụ daytime. Ứng dụng Telnet kết nối tới cổng 13, sau đó máy chủ gửi trả lại thông tin ngày tháng và ngắt kết nối. Hầu hết các giao thức khác đều phức tạp hơn so với giao thức Daytime. Danh mục các giao thức được nêu trong tài liệu Request for Comment (RFC) tại website http://sunsite.auc.dk/RFC/ . Mỗi máy chủ Web trên Internet đều phải hỗ trợ giao thức HTTP. Hình thức cơ bản nhất của giao thức này được biểu diễn qua câu lệnh: GET. Nếu bạn kết nối tới máy chủ hỗ trợ giao thức HTTP và yêu cầu “GET tên tệp”, máy chủ sẽ trả lời bạn bằng việc gửi nội dung của tệp và sau đó ngắt kết nối. Ví dụ như sau: %telnet www.howstuffworks.com 80 Trying 216.27.61.137... Connected to howstuffworks.com. Escape character is '^]'. GET http://computer.howstuffworks.com/ Welcome to How Stuff Works ... Connection closed by foreign host. Trong giao thức HTTP nguyên bản, bạn sẽ cung cấp đầy đủ đ ường dẫn của tên tệp, ví dụ như “/” hoặc “/tên tệp.htm”. Sau đó, giao thức sẽ 10
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity tự điều chỉnh để có thể đưa ra một địa chỉ URL đầy đủ. Điều này cho phép các công ty kinh doanh dịch vụ lưu trữ có thể lưu trữ nhiều virtual domains (tên miền ảo), có nghĩa nhiều tên miền cùng tồn tại trên một máy chủ và sử dụng cùng một địa chỉ IP duy nhất. Ví dụ, trên máy chủ của HowStuffWorks, địa chỉ IP là 209.116.69.66, nhưng nó có hàng trăm tên miền khác nhau cùng tồn tại. II. Các phương pháp tấn công webiste. 1. Tấn công từ chối dịch vụ Tấn công từ chối dịch vụ là gì? : Tấn công bằng từ chối dịch vụ DoS (Denial of Service) có thể mô tả như hành động ngăn cản những người dùng hợp pháp khả năng truy cập và sử dụng vào một dịch vụ nào đó. Nó bao gồm làm tràn ngập mạng, mất kết nối với dịch vụ… mà mục đích cuối cùng là máy chủ (Server) không thể đáp ứng được các yêu cầu sử dụng dịch vụ từ các máy trạm (Client). DoS có thể làm ngưng hoạt động của một máy tính, một mạng nội bộ, thậm chí cả một hệ thống mạng rất lớn. Về bản chất thực sự c ủa DoS, kẻ tấn công sẽ chiếm dụng một lượng lớn tài nguyên mạng như băng thông, bộ nhớ… và làm mất khả năng xử lý các yêu cầu d ịch v ụ từ các client khác. Tùy theo phương thức thực hiện mà nó được biết dưới nhiều tên gọi khác nhau. Khởi thủy là lợi dụng sự yếu kém của giao thức TCP (Transmision Control Protocol) để thực hiện tấn công từ chối dịch vụ cổ điển DoS (Denial of Service), sau đó là tấn công từ chối dịch vụ phân tán DdoS (Distributed Denial of Service) và mới nhất là tấn công từ chối dịch vụ theo phương pháp phản xạ DRDoS (Distributed Reflection Denial of Service). Theo thời gian, xuất hiện nhiều bi ến thể tấn công DoS như: Broadcast Storms, SYN, Finger, Ping, Flooding,… với mục 11
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity tiêu nhằm chiếm dụng các tài nguyên của hệ thống (máy chủ) như: Bandwidth, Kernel Table, Swap Space, Cache, Hardisk, RAM, CPU,… làm hoạt động của hệ thống bị quá tải dẫn đến không th ể đáp ứng được các yêu cầu (request) hợp lệ nữa. Tấn công DoS nói chung không nguy hiểm như các kiểu tấn công khác ở chỗ nó không cho phép kẻ tấn công chiếm quyền truy cập hệ thống hay có quyền thay đ ổi hệ th ống. Tuy nhiên, nếu một máy chủ tồn tại mà không thể cung cấp thông tin, dịch vụ cho người sử dụng, sự tồn tại là không có ý nghĩa nên thiệt hại do các cuộc tấn công DoS do máy chủ bị đinh trệ hoạt động là vô cùng lớn, đặc biệt là các hệ thống phụ vụ các giao dịch điện tử. Đối với các hệ thống máy chủ được bảo mật tốt, rất khó để thâm nhập vào thì t ấn công từ chối dịch vụ được các hacker sử dụng như là “cú chót” để triệt hạ hệ thống đó. Các cách thức tấn công từ chối dịch vụ: a. Tấn công từ chối dịch vụ cổ điển DoS (Denial of • Service): Là phương thức xuất hiện đầu tiên, giản đơn nhất trong kiểu tấn công từ chối dịch vụ. • Tấn công từ chối dịch vụ kiểu phân tán – DdoS: 12
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Xuất hiện vào mùa thu 1999, so với tấn công DoS cổ đi ển, sức mạnh của DDoS cao hơn gấp nhiều lần. Hầu hết các cuộc tấn công DDoS nhằm vào việc chiếm dụng băng thông (bandwidth) gây nghẽn mạch hệ thống dẫn đến hệ thống ngưng hoạt động. Để thực hiện thì kẻ tấn công tìm cách chiếm dụng và điều khiển nhiều máy tính/mạng máy tính trung gian (đóng vai trò zombie) từ nhiều nơi để đồng loạt gửi ào ạt các gói tin (packet) với số lượng rất lớn nhằm chiếm dụng tài nguyên và làm tràn ngập đường truyền của một mục tiêu xác định nào đó. • Tấn công từ chối dịch vụ phản xạ nhiều vùng RDDoS: Về cơ bản, DRDoS là sự phối hợp giữa hai kiểu DoS và DDoS. Nó có kiểu tấn công SYN với một máy tính đơn, vừa có sự kết hợp giữa nhiều máy tính để chiếm dụng băng thông như kiểu DDoS. Kẻ tấn công thực hiện bằng cách giả mạo địa chỉ của server mục tiêu rồi gửi yêu cầu SYN đến các server lớn như Yahoo, Micorosoft,… chẳng hạn để các server này gửi các gói tin SYN/ACK đến server mục tiêu. Các server 13
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity lớn, đường truyền mạnh đó đa vô tình đóng vai trò zoombies cho kẻ t ấn công như trong DdoS Tấn công Phishing: 2. Tấn công Phishing là gì? Nói môt cách đơn giản, phising là một thủ đoạn đánh cắp thông tin cá nhân của người dùng như: tên đăng nhập, mật khẩu, thông tin thẻ tín dụng và một số thông tin nhạy cảm khác có giá trị đối với chúng. Hacker thường đánh cắp thông tin người dùng bằng cách giả danh để giao tiếp với họ. Ví dụ như email giả danh một mạng xã hội ảo ,giả danh yêu cầu thanh toán trực tuyến hay như trong trường hợp xảy ra trong tuần rồi: giả danh nhà cung cấp dịch vụ mail. Các email này thường chuyển nạn nhân đến một trang web giả mạo giống hệt với trang web thật,làm cho họ nhầm lẫn và đi ền các thông tin nhạy cảm vào, kết quả là các thông tin đó rơi vào tay các hacker. Do cách tấn công đơn giản nhưng lại hiệu quả cao nên phising nhanh chóng trở thành một trong những kiểu tấn công phổ biến nhất 14
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity trên mạng.Các cuộc lừa đảo được tạo ra hàng ngày bởi với mục đích chung là đánh cắp thông tin nhạy cảm của người dùng Internet Tấn công CROSS-SITE SCRIPTING 3. Tấn công XSS là gì? Cross-Site Scripting hay còn được gọi tắt là XSS (thay vì gọi tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là một kĩ thuật tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ...) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những người sử dụng khác. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML. Kĩ thuật tấn công XSS đã nhanh chóng trở thành một trong những lỗi phổ biến nhất của Web Applications và mối đe doạ của chúng đối với người sử dụng ngày càng lớn. Người chiến thắng trong cuộc thi eWeek OpenHack 2002 là người đã tìm ra 2 XSS mới. Phải chăng mối nguy hiểm từ XSS đã ngày càng được mọi người chú ý hơn Tấn công XSS như nào? Về cơ bản XSS cũng như SQL Injection hay Source Injection, nó cũng là các yêu cầu (request) được gửi từ các máy client tới server nhằm chèn vào đó các thông tin vượt quá tầm kiểm soát của server. Nó có thể là một request được gửi từ các form dữ liệu hoặc cũng có thể đó chỉ là các URL như là Code: http://www.example.com/search.cgi?query=alert('XSS was found !'); Và rất có thể trình duyệt của bạn sẽ hiện lên một thông báo "XSS was found !". Các đoạn mã trong thẻ không hề bị gi ới hạn bởi chúng hoàn toàn có thể thay thế bằng một file nguồn trên một server khác thông qua thuộc tính src của thẻ . Cũng chính vì lẽ đó mà 15
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity chúng ta chưa thể lường hết được độ nguy hiểm của các lỗi XSS. Nhưng nếu như các kĩ thuật tấn công khác có thể làm thay đổi được dữ liệu nguồn của web server (mã nguồn, cấu trúc, cơ sở dữ liệu) thì XSS chỉ gây tổn hại đối với website ở phía client mà nạn nhân trực tiếp là những người khách duyệt site đó. Tất nhiên đôi khi các hacker cũng sử dụng kĩ thuật này đề deface các website nhưng đó vẫn chỉ tấn công vào bề mặt của website. Thật vậy, XSS là những Client-Side Script, những đoạn mã này sẽ chỉ chạy bởi trình duyệt phía client do đó XSS không làm ảnh hưởng đến hệ thống website nằm trên server. Mục tiêu tấn công của XSS không ai khác chính là những người sử dụng khác của website, khi họ vô tình vào các trang có chứa các đoạn mã nguy hi ểm do các hacker để lại họ có thể bị chuyển tới các website khác, đặt l ại homepage, hay nặng hơn là mất mật khẩu, mất cookie thậm chí máy tính bạn có thể sẽ bị cài các loại virus, backdoor, worm .. 4. Tấn công SQL-injection 16
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Tấn công SQL-injection là gì? SQL Injection là một trong những kiểu hack web đang dần trở nên phổ biến hiện nay. Bằng cách inject các mã SQL query/command vào input trước khi chuyển cho ứng dụng web xử lí, bạn có thể login mà không cần username và password, remote execution, dump data và lấy root của SQL server. Công cụ dùng để tấn công là một trình duyệt web bất kì, chẳng hạn như Internet Explorer, Netscape, Lynx, ... Tấn công SQL-injection như nào? Dựa trên lỗi của cơ dở dữ liệu, qua đó Attacker 1. tiến hành khai thác lỗi trên website. Thông thường, các cơ sở dữ liệu bị truy vấn qua đó, attacker có thể lấy được tài khoản của người dung. Thi hành lệnh bằng SQL injection. Đây là một ví 2. dụ: ‘; exec master..xp_cmdshell ‘ping 10.10.1.2′– 5. Tấn công Session Hijacking Tấn công Session Hijacking là gì? 17
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity Session Hijacking là quá trình chiếm lấy một session đang hoạt động, nhằm mục đích vượt quaquá trình chứng thực truy cập bất hợp l ệ vào thông tin hoặc dịch vụ của một hệ thống máy tính..Khi một user thực hiện kết nối tới server qua quá trình xác thực, bằng cách cung cấp ID người dùng và mật khẩu của mình. Sau khi người dùng xác thực, họ có quyền truy cập đến máy chủ vàhoạt động bình thường.Trong quá trình hoạt động, người dùng không cần phải chứng thực lại. Kẻ tấn công l ợi dụng điều này để cướp session đang hoạt động của người dùng và làm cho người dùng không kết nối được với hệ thống. Sau đó kẻ t ấn công mạo danh người dùng bằng session vừa cướp được, truy cập đến máy chủ mà không cần phải đăng nhập vào hệ thống.Khi cướp được session của người dùng, kẻ tấn công có thể vượt qua quá trình chứng thực dùng,có thể ghi lại phiên làm việc và xem lại mọi thứ đã di ễn ra. Đối với cơ quan pháp lý, có thể dùnglàm bằng chứng để truy tố, đối với kẻ tấn công, có thể dùng thu thập thông tin như ID ngườidùng và mật khẩu. Điều này gây nhiều nguy hại đến người dung Phương pháp tấn công: Kẻ tấn công chiếm session sau khi người dùng đã chứng thực với hệ thốngmay tính. Bằng cách này, kẻ tấn công có thể truy cập vào hệ thống một cách hợp lệ, sử dụngphiên làm việc của người dùng hợp l ệ để giao tiếp với server 18
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity 6. Tấn công Social Engineering Tấn công Social Enginneering là gì? Social Engineering là kiểu tấn công rất đơn giản, thường được hacker sử dụng. Kiểu tấn công này có thể hòan tòan phi kỹ thuật hoặc kết hợp một ít kỹ thuật đơn giản nhằm đánh lừa người sử dụng để ăn cắp mật khẩu và các thông tin cá nhân khác. Các phương pháp tấn công: Google Hack: ví dụ 7. Tấn công dựa trên các lỗ hổng của website. Ngày nay các lỗ hổng website thường xuyên được công bố trên các chuyên trang về An toàn thông tin cũng như các trang của Hacker. Điều này có tác động không nhỏ đến việc tấn công website. Các webmaster không updates các lỗ hổng hoặc chưa kịp updates, từ đó kẻ tấn công có thể dễ dàng lợi dụng các lỗi này để tấn công website. Việc cộng đồng nguồn mở phát triển mạnh dẫn đến việc các extensions của các mã nguồn đó phát triển theo. Các nhà sản xuất ứng dụng thứ 3 chính là nguyên nhân gây ra các lỗ hổng lớn. Các hình thức khai thác lỗ hổng website có 4 dạng: 1. Lỗ hổng về phần quyền files và thư mục 2. Lỗ hổng về lỗi upload files của website 19
- Khoa ATTT – Học viện KT Mật Mã Tìm hiểu Modsecurity 3. Lỗ hổng về các ứng dụng nhỏ của lập trình hướng đối tượng 4. Lỗ hổng trực tiếp từ webserver Chương 2: Modsecurity Mod_security là một opensource web application firewall đ ược Ivan Ristic phát triển dành cho Apache Web Server. Ivan Ristic là tác giả quyển sách.Ông là một người có rất nhiều kinh nghiệm trong bảo vệ Apache Web Server. Ông đã có nhiều thời gian nghiên cứu Web Application Security, Web Intrusion Detection, và Security Patterns. Trước khi chuyển sang lĩnh vực security, Ivan đã có nhiều năm làm việc như một developer, system architect, technical director trong phát triển phần mềm. Ông là người sáng lập ra công ty ThinkingStone làm các dịch vụ liên quan đến web application security. Hiện tại mod_security sử dụng giấy phép GPL, hoàn toàn miễn phí. Ngoài ra nếu muốn có sự hỗ trợ thì bạn có thể mua nó tại công ty ThinkingStone của ông (http://www.thinkingstone.com) I. Các khả năng của mod_security Request filtering : tất cả các request gửi đến web server đều được - phân tích và cản lọc (filter) trước khi chúng được đ ưa đ ến các modules khác để xử lý. Anti-evasion techniques : paths và parameters được chuẩn hoá - trước khi phân tích để chống evasion techniques. Kỹ thuật này sẽ được thảo luận ở phần sau. Understanding of the HTTP protocol : mod_security là web - application firewall nên nó có khả năng hiểu được HTTP protocol. Mod_security có khả năng cản lọc dựa trên các thông tin ở HTTP 20
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn