Khái niệm chung về an toàn an ninh thông tin
Lĩnh vực an toàn thông tin (ATTT) đang thu hút sự chú ý toàn cầu, với nhiều quan niệm khác nhau về đảm bảo an toàn cho hệ thống mạng Các khái niệm như “an toàn thông tin”, “an ninh mạng”, “bảo mật mạng máy tính”, “bảo mật server” và “bảo mật ứng dụng web” đều liên quan đến việc bảo vệ thông tin và hệ thống khỏi các mối đe dọa Dưới đây là một số khái niệm cơ bản về thông tin và các biện pháp đảm bảo an toàn thông tin.
Thông tin là sự phản ánh của tự nhiên và xã hội thông qua ngôn từ, ký hiệu, hình ảnh và các phương tiện tác động đến giác quan con người Nó tồn tại dưới nhiều dạng như khắc trên đá, gỗ, in hay viết trên giấy, và lưu trữ trong các thiết bị điện tử như thẻ nhớ và ổ cứng Thông tin cũng được chia sẻ trên mạng qua email và các trang web Do đó, việc bảo vệ thông tin khỏi các mối đe dọa là cực kỳ quan trọng để đảm bảo tính kịp thời, độ tin cậy và bảo vệ quyền riêng tư cũng như bản quyền.
Hệ thống thông tin là một tập hợp các thiết bị viễn thông và công nghệ thông tin, bao gồm phần cứng, phần mềm và cơ sở dữ liệu Hệ thống này phục vụ cho các hoạt động như lưu trữ, xử lý, truyền tải, chia sẻ, trao đổi, cung cấp và sử dụng thông tin hiệu quả.
An toàn thông tin là quá trình bảo vệ thông tin và hệ thống thông tin khỏi các truy cập, tiết lộ, gián đoạn, sửa đổi hoặc phá hoại trái phép Mục tiêu chính là đảm bảo tính nguyên vẹn, tính bảo mật và tính khả dụng của thông tin.
An toàn thông tin là quá trình quản lý, nghiệp vụ và kỹ thuật nhằm bảo vệ và khôi phục hệ thống thông tin trước các nguy cơ từ thiên nhiên và con người Mục tiêu chính là bảo vệ thông tin, tài sản và con người để đảm bảo các hệ thống hoạt động hiệu quả, phục vụ đúng đối tượng với độ tin cậy cao An toàn thông tin bao gồm bảo vệ và bảo mật thông tin, an toàn dữ liệu, an toàn máy tính và an toàn mạng.
An ninh thông tin là việc bảo vệ thông tin trên mạng nhằm đảm bảo không gây hại đến an ninh quốc gia, trật tự an toàn xã hội, bí mật nhà nước, cũng như quyền và lợi ích hợp pháp của tổ chức và cá nhân.
Để đảm bảo an toàn thông tin, cần bảo vệ thông tin với ba yếu tố quan trọng: tính toàn vẹn, tính khả dụng và tính bảo mật.
Tính toàn vẹn (Integrity) đảm bảo rằng thông tin không bị sửa đổi hoặc xóa bỏ mà không có sự cho phép Nếu có sự thay đổi nào xảy ra, bên nhận thông tin cần phải phát hiện ra điều đó.
- Tính khả dụng “Availability”: cho phép thông tin được sử dụng một cách kịp thời và đáng tin cậy
Tính bảo mật "Confidentiality" là việc duy trì các giới hạn về tính riêng tư và bản quyền, đảm bảo rằng chỉ những người được phép mới có thể truy cập thông tin Để đảm bảo an toàn thông tin, cần bảo vệ cả phần cứng và phần mềm của các cơ sở hạ tầng thông tin, đồng thời duy trì sự ổn định của hệ thống để đáp ứng kịp thời các yêu cầu Việc ngăn chặn xâm nhập trái phép vào hệ thống mạng là rất quan trọng để bảo vệ thông tin khỏi các hành vi gây hại Chỉ những người có quyền hạn mới được phép tiếp cận và khai thác thông tin, trong khi những người không có quyền sẽ không thể truy cập Điều này giúp đảm bảo tính toàn vẹn, khả dụng và bảo mật của thông tin.
Tình hình an toàn thông tin trên thế giới và Việt Nam
Với sự phát triển nhanh chóng của Công nghệ thông tin và Truyền thông (CNTT&TT), lượng thông tin lớn được tạo ra và xử lý qua không gian mạng hàng ngày, dẫn đến nhiều rủi ro về an toàn thông tin Thiệt hại do mất an ninh thông tin đang gia tăng nhanh chóng, ảnh hưởng nghiêm trọng đến ổn định chính trị và phát triển kinh tế - xã hội của nhiều quốc gia Nếu công tác đảm bảo an toàn thông tin không được thực hiện đúng mức, thiệt hại mà nó gây ra cho mỗi quốc gia và doanh nghiệp sẽ khó lường.
Trong kỷ nguyên Internet, an ninh thông tin đã trở thành vấn đề nghiêm trọng, với dự đoán rằng chiến tranh thông tin sẽ chuyển thành chiến tranh mạng đang trở thành hiện thực Gần đây, nhiều trang web và dữ liệu của doanh nghiệp, tổ chức, và chính phủ đã phải đối mặt với các cuộc tấn công mạng, dẫn đến việc ngưng hoạt động trong nhiều giờ và đánh cắp dữ liệu quan trọng Những vụ tấn công này không chỉ gây thiệt hại nghiêm trọng mà còn ảnh hưởng tiêu cực đến đời sống cá nhân, hoạt động kinh doanh của doanh nghiệp, và an ninh quốc phòng của nhiều quốc gia.
Trong những năm gần đây, an toàn thông tin đã trở thành mối quan tâm hàng đầu của nhiều quốc gia trên toàn thế giới Số lượng và tính chất của các cuộc tấn công mạng ngày càng gia tăng, với nhiều mục tiêu đa dạng và tinh vi hơn Các cuộc tấn công không chỉ nhằm mục đích chính trị hay lợi nhuận kinh tế, mà còn thể hiện sức mạnh quốc gia, dẫn đến một cuộc chiến mạng giữa các nước Hậu quả của các cuộc tấn công này ngày càng nghiêm trọng, không chỉ gây thiệt hại kinh tế mà còn ảnh hưởng đến chính trị và ngoại giao toàn cầu Nhiều cường quốc, đặc biệt là Trung Quốc, Mỹ và Nga, đang tham gia vào một cuộc "chạy đua vũ trang" trên không gian mạng, gia tăng khả năng tấn công và làm cho các vụ tấn công mạng có nguy cơ phát triển thành xung đột chính trị.
Năm 2012, một số cuộc tấn công nhắm vào các website ngân hàng trực tuyến của
Gần đây, một số ngân hàng lớn của Mỹ như Bank of America, Citigroup và Wells Fargo đã gặp phải tình trạng ngừng hoạt động do các cuộc tấn công từ các trung tâm dữ liệu toàn cầu Những cuộc tấn công này sử dụng phần mềm độc hại phức tạp mang tên Itsoknoproblembro, được thiết kế để né tránh các chương trình chống vi rút Phần mềm này có khả năng lây nhiễm cho các máy chủ tại các trung tâm dữ liệu và các nhà cung cấp dịch vụ lưu trữ đám mây, cho phép kẻ tấn công chiếm đoạt sức mạnh tính toán để thực hiện các cuộc tấn công từ chối dịch vụ Các máy chủ bị nhiễm Itsoknoproblembro được gọi là bRobots.
Vào tháng 3 năm 2013, một cuộc tấn công mạng đã gây ra sự cố nghiêm trọng cho máy tính của một số cơ quan truyền thông và ngân hàng Hàn Quốc, khiến hệ thống của họ bị tê liệt Hai ngân hàng lớn, Shinhan và Nonghyup, cùng với ba đài truyền hình KBS, MBS và YTN, đã gặp phải các vấn đề nghiêm trọng, với máy tính của nhân viên không thể khởi động lại và chỉ hiển thị thông báo lỗi Dịch vụ thanh toán trực tuyến và rút tiền tự động (ATM) của ngân hàng Shinhan cũng bị ảnh hưởng Tin tặc đã sử dụng một địa chỉ IP từ Trung Quốc để kết nối với máy chủ của các công ty này và lén lút cài đặt mã độc vào hệ thống.
Vào tháng 7 năm 2013, Spamhaus, một tổ chức phi lợi nhuận có trụ sở tại Geneva và London, đã trở thành nạn nhân của một cuộc tấn công mạng DDoS quy mô lớn, với lưu lượng đạt đỉnh khoảng 300Gbps Cuộc tấn công này không chỉ làm chậm hệ thống Internet toàn cầu mà còn được coi là vụ tấn công Internet lớn nhất trong lịch sử Điều tra cho thấy hệ thống máy chủ DNS của Spamhaus đã bị tấn công bởi các mạng máy tính ma từ các tổ chức tin tặc châu Âu Đáng chú ý, vào thời điểm đó, tổng lưu lượng Internet của Việt Nam chỉ khoảng 361Gbps, khiến nếu hệ thống máy tính của Việt Nam bị tấn công với lưu lượng tương tự, mạng lưới Internet của nước ta sẽ nhanh chóng bị cô lập khỏi thế giới.
Vào năm 2014, Sony Pictures đã trải qua một cuộc tấn công mạng nghiêm trọng, buộc nhân viên phải quay lại sử dụng bút và giấy Các tin tặc đã đánh cắp hơn 100TB dữ liệu, bao gồm mật khẩu, thông tin thẻ tín dụng, lịch sử y tế và chi tiết lương Đặc biệt, họ đã phát tán 5 bộ phim mới nhất của Sony, trong đó có 4 bộ phim chưa được công chiếu Sự cố này ước tính gây thiệt hại khoảng 100 triệu đô la Mỹ cho Sony Pictures, ảnh hưởng lớn đến tài chính của công ty, cùng với nhiều rủi ro khác như rò rỉ bí mật kinh doanh.
Hơn 2.500 website tại Việt Nam đã bị tấn công, bao gồm cả các trang của doanh nghiệp, Chính phủ và các công ty bảo mật hàng đầu Một khảo sát ngẫu nhiên của Hiệp hội An toàn Thông tin Việt Nam (VNISA) vào tháng 5 năm 2012 cho thấy, trong số 100 website có tên miền gov.vn, có tới 78% có nguy cơ bị tấn công toàn diện.
Vào cuối tháng 6 và đầu tháng 7 năm 2013, các báo điện tử như Tuổi trẻ và Dân trí đã chịu một cuộc tấn công từ chối dịch vụ (DDoS) nghiêm trọng, khiến độc giả gặp khó khăn trong việc truy cập Tin tặc đã sử dụng nhiều máy chủ từ các quốc gia như Đức, Hà Lan và Ukraina để thực hiện các cuộc tấn công, gây khó khăn trong việc xác định nguồn gốc Cuộc tấn công chỉ dừng lại khi Trung tâm ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) phối hợp với các cơ quan quản lý quốc tế để chặn các máy chủ điều khiển Trong giai đoạn 2012-2013, VNCERT ghi nhận sự hiện diện của mạng botnet Zeus với 14.075 địa chỉ IP và các mạng botnet khác như Sality, Downadup, Trafficconverter với tổng cộng 113.273 địa chỉ IP tại Việt Nam, cho thấy sự gia tăng mạnh mẽ và nguy hiểm của các mạng botnet trong các cuộc tấn công DDoS.
Năm 2014, người dùng Việt Nam đã chịu thiệt hại khoảng 8.500 tỷ đồng do các sự cố từ virus máy tính, mặc dù con số này chỉ chiếm chưa đầy 0,1% tổng thiệt hại.
Theo ước tính của Trung tâm Nghiên cứu Chiến lược và Quốc tế (CSIS) Hoa Kỳ, tội phạm mạng gây thiệt hại lên đến 445 tỷ USD toàn cầu, ảnh hưởng nghiêm trọng đến người dùng Việt Nam Báo cáo từ Cục An toàn thông tin (Bộ TT & TT) cho thấy Việt Nam luôn nằm trong top 5 quốc gia có nguy cơ lây nhiễm phần mềm độc hại cao nhất Chỉ số nguy cơ lây nhiễm phần mềm độc hại tại Việt Nam năm 2014 dao động từ 50% đến 70%, dẫn đến nguy cơ cao về việc bị đánh cắp thông tin, lộ lọt dữ liệu, phá hủy dữ liệu, cũng như khả năng bị điều khiển tham gia vào các mạng botnet để thực hiện các cuộc tấn công từ chối dịch vụ và gửi thư rác.
Năm 2014, VNCERT ghi nhận 19.789 sự cố về An toàn thông tin, bao gồm tấn công lừa đảo, thay đổi giao diện và cài mã độc lên website Hơn 3,37 triệu địa chỉ IP của Việt Nam nằm trong mạng botnet, với hơn 4.000 cuộc tấn công mạng nhằm vào hệ thống có tên miền vn, trong đó có hơn 200 cuộc tấn công vào hệ thống gov.vn Tại TP.HCM, đã xảy ra hơn 870.000 vụ dò quét và hơn 275.000 vụ tấn công mạng, cùng với hơn 2,5 triệu hành vi tấn công cao độ nhằm vào cổng thông tin thành phố, phát hiện hơn 650.000 mã độc Đặc biệt, vào tháng 10, một cuộc tấn công vào trung tâm dữ liệu của Công ty cổ phần truyền thông Việt Nam (VCCorp) đã khiến toàn bộ sản phẩm và cổng thông tin của công ty không thể truy cập trong nhiều ngày, gây thiệt hại hàng chục tỷ đồng cho VCCorp và khách hàng Mã độc đã lây truyền và ảnh hưởng đến nhiều thuộc tính của hệ thống dữ liệu, hoạt động như một trung tâm chỉ huy, có khả năng nhận diện, sao chép và phá hủy dữ liệu.
Tấn công mạng, đặc biệt là vào các cổng và trang thông tin điện tử, đang gia tăng mức độ nghiêm trọng Do đó, nghiên cứu các giải pháp bảo đảm an ninh và an toàn cho các cổng/trang TTĐT trở nên cần thiết Để duy trì sự ổn định và bảo vệ thông tin, việc đảm bảo an ninh cho các cổng/trang này là một nhiệm vụ quan trọng Giải quyết vấn đề an ninh an toàn của các cổng/trang TTĐT không chỉ là trách nhiệm của từng cá nhân mà còn là một vấn đề cấp bách của toàn xã hội.
Tổng quan về cổng thông tin điện tử
Cổng thông tin điện tử (TTĐT) là một khái niệm chưa có định nghĩa chuẩn xác, nhưng trong bài viết này, tôi định nghĩa cổng TTĐT là điểm truy cập tập trung, tích hợp nhiều kênh thông tin, dịch vụ và ứng dụng, được phân phối đến người sử dụng qua một phương thức thống nhất trên nền tảng web Về bản chất, cổng TTĐT là sự kết hợp của nhiều ứng dụng web khác nhau, với các đặc điểm nổi bật.
Khi đánh giá một cổng thông tin điện tử (TTĐT), cần xem xét các đặc điểm và tính năng của nó để xác định tính chất thực sự của cổng này Các tính năng cơ bản bắt buộc phải có để phân biệt cổng TTĐT với ứng dụng web hay hệ quản trị nội dung bao gồm: khả năng cung cấp thông tin đa dạng, tính tương tác cao, và hỗ trợ người dùng dễ dàng truy cập và tìm kiếm thông tin.
Khả năng cá nhân hoá cho phép thiết lập thông tin khác nhau cho từng loại đối tượng sử dụng theo yêu cầu Tính năng này dựa trên việc thu thập thông tin về người dùng và cộng đồng, từ đó cung cấp thông tin chính xác khi cần thiết Để đánh giá tính năng này, cần kiểm tra cách hệ thống cung cấp thông tin cho nhiều người dùng và các cấp độ khác nhau, dẫn đến nhiều kết quả khác nhau.
Nếu thông tin hiển thị giống nhau cho hai người dùng khác nhau hoặc hai cấp độ quyền sử dụng khác nhau, điều này cho thấy hệ thống không cho phép cá nhân hóa thông tin Do đó, có thể kết luận rằng đây không phải là một hệ thống cổng thông tin điện tử (TTĐT).
Hệ thống này cho phép cá nhân hóa thông tin dựa trên hai cấp độ quyền khác nhau, dẫn đến việc sử dụng thông tin không đồng nhất giữa các quyền hạn.
Tích hợp nhiều loại thông tin (Content aggregation) cho phép xây dựng nội dung từ nhiều nguồn khác nhau, phục vụ cho nhiều đối tượng sử dụng Sự khác biệt trong nội dung được xác định qua ngữ cảnh hoạt động của người dùng, như việc cung cấp thông tin khác nhau sau khi xác thực hoặc trong quá trình cá nhân hóa Đây là đặc tính quan trọng của cổng thông tin điện tử (TTĐT), cho thấy khả năng mở rộng của hệ thống Thuật ngữ “ghép là chạy” thể hiện rằng khi cần mở rộng dịch vụ mới, chỉ cần điều chỉnh và tích hợp thông tin một cách nhanh chóng, mà không cần biên dịch lại mã chương trình Để kiểm tra tính năng này, cần xem cách hệ thống tích hợp thông tin từ nhiều thành phần dịch vụ khác nhau, chẳng hạn như tích hợp diễn đàn thảo luận vào hệ thống.
Nếu việc bổ sung ứng dụng và dịch vụ vào cổng thông tin điện tử yêu cầu sửa mã nguồn, thêm truy cập cơ sở dữ liệu mới, hoặc thiết lập hệ thống phân quyền mới, thì hệ thống đó không được coi là mở Điều này dẫn đến kết luận rằng hệ thống không có khả năng tích hợp ứng dụng một cách linh hoạt và không phải là giải pháp cho cổng thông tin điện tử.
Nếu một hệ thống cho phép kết hợp các ứng dụng nhưng không thể thay đổi nguồn hoặc kênh thông tin của chúng, thì đó được coi là hệ thống giả cổng thông tin điện tử.
Nếu hệ thống có khả năng tích hợp ứng dụng dịch vụ mới và loại bỏ ứng dụng dịch vụ cũ, thì nó được coi là hệ thống mở, có khả năng tích hợp linh hoạt và có thể trở thành giải pháp cho cổng thông tin điện tử.
Xuất bản thông tin theo tiêu chuẩn (Content syndication) là quá trình thu thập dữ liệu từ nhiều nguồn khác nhau và cung cấp cho người dùng thông qua các phương pháp hoặc giao thức phù hợp Thông tin được xuất bản cho người dùng cuối dựa trên các tiêu chuẩn đã được công nhận toàn cầu, cho phép họ khai thác và sử dụng dữ liệu mà không cần phải tương tác trực tiếp với hệ thống, mà có thể sử dụng phần mềm của bên thứ ba.
Hiện nay, nhiều tiêu chuẩn xuất bản thông tin phổ biến trên thế giới đều dựa trên ngôn ngữ đánh dấu mở rộng XML, bao gồm RDF, RSS, NITF và ATOM Những tiêu chuẩn này cung cấp giải pháp hiệu quả để khai thác và sử dụng thông tin từ các trang web khác nhau thông qua quy trình thu thập và bóc tách thông tin theo các định dạng quy định.
Bạn có thể kiểm tra tính năng này bằng cách xuất bản thông tin từ một hoặc nhiều thành phần dịch vụ trong hệ thống thành tài liệu theo tiêu chuẩn RSS, dẫn đến nhiều kết quả khác nhau.
Nếu hệ thống có khả năng xuất bản tài liệu theo chuẩn RSS nhưng cần sửa mã chương trình, thì hệ thống này có thể xuất bản thông tin theo chuẩn mà không phải là cổng thông tin điện tử (TTĐT).
Nếu hệ thống hỗ trợ xuất bản dưới dạng RSS với đầy đủ nội dung thông tin, điều này chứng tỏ hệ thống đã đáp ứng tiêu chuẩn công nghiệp trong việc cung cấp thông tin.
Hỗ trợ nhiều môi trường hiển thị thông tin cho phép nội dung được hiển thị đồng nhất trên nhiều thiết bị khác nhau, bao gồm màn hình máy tính, thiết bị di động, bản in và fax Điều này được thực hiện tự động thông qua việc xác định thiết bị hiển thị dựa trên các thuộc tính khác nhau.
Các lỗi bảo mật phổ biến của ứng dụng web và cách phòng chống
Cổng/trang thông tin điện tử (TTĐT) là kênh cung cấp thông tin nhanh chóng và hiệu quả cho doanh nghiệp, cơ quan, tổ chức Ngoài việc cung cấp thông tin, các cổng/trang TTĐT còn đóng vai trò quan trọng trong quảng bá, giao dịch thương mại và mua bán Tuy nhiên, do đặc điểm này, chúng thường trở thành mục tiêu tấn công của tin tặc nhằm đánh cắp thông tin Các cuộc tấn công thường khai thác lỗi bảo mật trên cổng/trang TTĐT và ứng dụng web, với nhiều phương thức khác nhau để dò tìm và khai thác các lỗ hổng bảo mật.
Cổng/trang TTĐT thường có các thành phần như mục đăng nhập, tìm kiếm, và bình luận, giúp người dùng tương tác dễ dàng Tuy nhiên, nếu không được kiểm soát chặt chẽ, những mục này có thể trở thành nguy cơ cho các cuộc tấn công của tin tặc Do đó, trước khi chính thức đưa cổng/trang TTĐT vào hoạt động, cần sử dụng phần mềm để tìm và kiểm tra tất cả các lỗ hổng có thể bị khai thác Việc khắc phục các lỗ hổng này là cần thiết để đảm bảo an ninh Nhiều công cụ có khả năng phát hiện các lỗ hổng bảo mật từ những lỗi phổ biến đến những lỗi ít gặp, bao gồm cả việc rà soát mã nguồn và cấu hình máy chủ.
Biểu thức chính quy có thể được áp dụng trong tất cả các ngôn ngữ lập trình để thực hiện nhiều nhiệm vụ khác nhau Chẳng hạn, nó có thể được sử dụng để lọc siêu ký tự, quy định các tiêu chí cho mật khẩu (như mật khẩu phải có ít nhất 8 ký tự và bao gồm chữ số, chữ hoa, chữ thường, và ký tự đặc biệt) Ngoài ra, biểu thức chính quy cũng hữu ích trong việc phát hiện và ngăn chặn các tấn công mạng.
Sau khi xác định các lỗi trên cổng/trang TTĐT, việc phân loại chúng là cần thiết để đưa ra giải pháp phòng chống hiệu quả Phân loại lỗi và kiểu tấn công thành các nhóm giúp người quản trị dễ dàng nhận diện nguy cơ và biện pháp ứng phó Dưới đây là một số lỗi phổ biến trên cổng/trang TTĐT và ứng dụng web, cùng với cách phòng ngừa các tấn công liên quan.
Các lỗi Injection cho phép tin tặc thực hiện các kiểu tấn công như SQL Injection,
Tấn công OS Injection và LDAP Injection xảy ra khi tin tặc gửi dữ liệu độc hại đến ứng dụng web, khiến hệ thống thực hiện các câu lệnh nguy hiểm hoặc truy vấn cơ sở dữ liệu một cách trái phép Những dữ liệu này có thể lừa hệ thống biên dịch thực hiện mã độc, giúp kẻ tấn công truy cập vào thông tin nhạy cảm Một trong những dạng phổ biến nhất của lỗi injection là lỗi này.
SQL Injection là một lỗ hổng bảo mật xảy ra khi tin tặc chèn các câu truy vấn SQL vào dữ liệu tương tác giữa máy khách và ứng dụng, do thiếu kiểm tra dữ liệu nhập Lỗi này có thể dẫn đến việc truy cập trái phép vào dữ liệu nhạy cảm, cho phép tin tặc thực hiện các thao tác như thêm, xóa, sửa dữ liệu, thậm chí điều khiển hệ điều hành máy chủ Để khai thác lỗ hổng này, kẻ tấn công thường sử dụng các kỹ thuật như chèn ký tự đặc biệt, tận dụng các câu lệnh SQL như select, having, union, và insert, cùng với việc né tránh các biện pháp kiểm soát.
Ví dụ xét đoạn mã truy vấn SQL sau:
SELECT * FROM users WHERE Username=’$username’ AND
Câu lệnh truy vấn Password=’$password’ được sử dụng để xác thực người dùng trong các ứng dụng Nếu thông tin đăng nhập đúng và tồn tại trong cơ sở dữ liệu, người dùng sẽ được phép truy cập vào hệ thống Tuy nhiên, nếu người dùng nhập các ký tự đặc biệt thay vì tên đăng nhập và mật khẩu hợp lệ, như 1’or’1’=’1, câu lệnh truy vấn sẽ bị thay đổi, dẫn đến những rủi ro bảo mật.
SELECT * FROM users WHERE Username=’1’or’1’=’1’ AND Password=’1’or’1’=’1’
Giá trị tham số gửi đến máy chủ qua phương thức GET có thể dẫn đến việc khai thác lỗi Một ví dụ về câu lệnh khai thác lỗi là: `http://www.demo.txd.vn/index.php?username=1’%20or’1’%20=%20’1&password=1’`.
Khi truy vấn SQL chứa điều kiện luôn đúng như 1=1, nó sẽ trả về giá trị cho phép tin tặc đăng nhập vào hệ thống mà không cần thông tin đăng nhập Điều này đặc biệt nguy hiểm nếu tài khoản đầu tiên trong bảng "Users" là tài khoản quản trị viên, vì tin tặc có thể dễ dàng truy cập vào hệ thống bằng tài khoản này.
Để phòng chống tấn công Injection, cần mã hóa các ký tự trong địa chỉ URL trước khi sử dụng, không hiển thị thông điệp lỗi cho người dùng mà thay vào đó là một trang nội dung do người dùng thiết kế Ngoài ra, cần kiểm tra kỹ dữ liệu người dùng nhập vào để đảm bảo tính hợp lệ, loại bỏ dữ liệu bất hợp lệ và chỉ chấp nhận dữ liệu hợp lệ cho các câu truy vấn SQL.
Giới hạn quyền truy cập cơ sở dữ liệu và phân quyền giữa các tài khoản người dùng là biện pháp quan trọng giúp giảm thiểu nguy cơ bị tin tặc khai thác cơ sở dữ liệu, ngay cả khi lệnh Injection đã được thực hiện thành công.
Sử dụng thủ tục lưu trữ giúp bảo vệ các câu lệnh SQL từ ứng dụng bằng cách lưu trữ và triển khai chúng tại máy chủ cơ sở dữ liệu, ngăn chặn việc tùy chỉnh dữ liệu do người dùng nhập Để thực hiện điều này, ứng dụng cần được cấu hình để sử dụng thủ tục lưu trữ thông qua giao diện an toàn, chẳng hạn như câu lệnh Callable của JDBC hoặc lệnh Object của ADO.
- Sử dụng biểu thức chính quy để phát hiện tấn công SQL Injection: Đối với siêu ký tự:
| (;)) Đối với tấn công sử dụng từ khóa UNION:((\%27) | (\’)) (\W)*union Đối với với tấn công vào máy chủ Microsoft SQL: exec(\s|\+) + (s|x)p\w+
Sử dụng biểu thức chính quy để lọc tấn công LDAP Injection: (\) | \ (|\ || &)
- Sử dụng tường lửa ứng dụng web ModSecurity để lọc một số dữ liệu tấn công SQL Injection
Các lỗi Cross-Site-Scripting (XSS)
Các lỗi Cross-Site-Scripting (XSS) xảy ra khi ứng dụng web bị lợi dụng để gửi dữ liệu độc hại tới trình duyệt của người dùng, thường do không kiểm tra tính hợp lệ của dữ liệu đầu vào Tin tặc có thể chèn các thẻ HTML hoặc mã Script nguy hiểm, chủ yếu là JavaScript, vào ứng dụng web Khi người dùng tương tác với các liên kết hoặc tệp Flash bị nhiễm, mã độc sẽ được thực thi trên trình duyệt của họ Hậu quả của tấn công XSS có thể rất nghiêm trọng, bao gồm việc chiếm quyền điều khiển phiên làm việc, lộ thông tin nhạy cảm như cookie, tên đăng nhập và mật khẩu Tin tặc có thể thực hiện các hành vi xấu khác như mạo danh, cài mã độc, thay đổi nội dung trang web hoặc chuyển hướng người dùng đến các trang web độc hại Ví dụ, một cuộc tấn công XSS có thể được thực hiện bằng cách chèn mã JavaScript vào URL của một trang web.
Để phòng chống tấn công XSS, cần phải chỉ cho phép các dữ liệu hợp lệ và từ chối những dữ liệu không đúng Việc kiểm tra và lọc dữ liệu đầu vào một cách thường xuyên cũng rất quan trọng để đảm bảo an toàn cho hệ thống.
- Lọc tất cả các dữ liệu chưa tin tưởng một cách phù hợp dựa trên nội dung HTML
- Tạo một danh sách trắng để kiểm tra dữ liệu đầu vào một cách phù hợp
- Sử dụng biểu thức chính quy trong việc kiểm tra dữ liệu đầu vào để phát hiện tấn công XSS Ví dụ: ((\%3c) | )
- Sử dụng tường lửa ứng dụng web ModSecurity để lọc một số dữ liệu tấn công XSS
Các lỗi quản lý xác thực và quản lý phiên làm việc
Quá trình quản lý xác thực và phiên làm việc trên ứng dụng web rất quan trọng, nhưng dễ mắc lỗi, từ việc thay đổi mật khẩu đến quản lý phiên truy cập Xác thực người dùng thường dựa vào tên đăng nhập và mật khẩu, mặc dù các phương pháp mạnh hơn như token key hoặc sinh trắc học có thể được áp dụng, nhưng chi phí cao là một rào cản Nhiều lỗi trong quản lý tài khoản có thể dẫn đến nguy cơ lộ thông tin, không chỉ cho người dùng mà còn cho quản trị viên Các ứng dụng web cần tự tạo cơ chế theo dõi phiên truy cập, thường thông qua cookie token, nhưng nhiều lập trình viên lại phát triển phương pháp riêng Nếu token không được bảo vệ, tin tặc có thể dễ dàng đánh cắp và lợi dụng phiên làm việc của người dùng Ví dụ, tin tặc có thể gửi liên kết chứa mã phiên làm việc để lừa người dùng đăng nhập, từ đó chiếm quyền truy cập vào tài khoản mà không cần đăng nhập.
Tổng quan về đăng nhập một lần trên cổng thông tin điện tử
Cơ chế đăng nhập một lần (SSO) cho phép người dùng chỉ cần đăng nhập một lần để truy cập tất cả các tài khoản yêu cầu xác thực bảo mật khác nhau, mang lại sự thuận tiện và tăng cường độ bảo mật Giải pháp này giảm áp lực quản lý tài khoản cho nhà quản trị và tích hợp các hệ thống tài khoản khác nhau, mang lại lợi ích cho cả người dùng và nhà cung cấp dịch vụ Dưới đây là một số ưu điểm và khuyết điểm của SSO.
- Tiết kiệm thời gian cho người sử dụng trong việc đăng nhập vào nhiều dịch vụ được cung cấp trên cổng TTĐT
- Tăng cường khả năng bảo mật thông qua việc giúp người dùng không cần nhớ nhiều thông tin đăng nhập
Giúp người quản trị hệ thống tiết kiệm thời gian trong việc quản lý người dùng, bao gồm tạo lập, loại bỏ và thay đổi quyền hạn cho cá nhân hoặc nhóm người dùng.
- Tiết kiệm thời gian khi tái lập lại mật khẩu cho người dùng
- Bảo mật các cấp độ của việc thoát hay truy xuất hệ thống
- Đòi hỏi cơ sở hạ tầng của toàn bộ hệ thống phải đảm bảo
Việc xác thực người dùng khi đăng ký với hệ thống là rất quan trọng do nhiều ứng dụng chia sẻ cùng một cơ sở dữ liệu người dùng Nếu không thực hiện quy trình xác thực chặt chẽ, hệ thống sẽ dễ bị vi phạm an ninh.
- Cần có cơ chế xác thực đảm bảo khi truyền các thông tin định danh người dùng giữa người sử dụng với các máy chủ dịch vụ
Cơ chế đăng nhập một lần là tính năng quan trọng của cổng thông tin điện tử, nhưng cũng tiềm ẩn những rủi ro Tin tặc có thể khai thác lỗ hổng trong quản lý xác thực để thực hiện các cuộc tấn công nguy hiểm cho hệ thống.
Một số rủi ro đối với SSO là:
Mật khẩu yếu là một vấn đề phổ biến trong việc xác thực trên các ứng dụng web, đặc biệt là cổng thông tin điện tử Việc sử dụng mật khẩu đơn giản, dễ nhớ và lặp lại trên nhiều nền tảng có thể mang lại sự tiện lợi, nhưng cũng tiềm ẩn nhiều rủi ro về an toàn tài khoản Tấn công Brute force là một phương pháp thường được sử dụng để đoán mật khẩu yếu Do đó, việc thiết lập các chính sách mật khẩu mạnh là cần thiết để giảm thiểu rủi ro này.
Rủi ro khai thác lỗi xử lý phiên làm việc có thể xảy ra khi người dùng đăng nhập vào hệ thống, cho phép tin tặc thực hiện các hành động xấu trên phiên đăng nhập của họ Tin tặc có thể lừa người dùng nhấp vào liên kết, dẫn đến việc thực hiện các yêu cầu giả mạo Để ngăn chặn loại tấn công này, cần sử dụng SSO token độc nhất cho mỗi phiên làm việc của người dùng trong từng yêu cầu trên trình duyệt.
Sử dụng thuật toán mã hóa yếu khi truy cập các ứng dụng trên cổng TTĐT có thể gây ra rủi ro lớn cho người dùng Nếu thông tin không được mã hóa hoặc được mã hóa bằng thuật toán yếu trên trình duyệt, tin tặc có thể dễ dàng thu thập hoặc giải mã thông tin nhạy cảm, đặc biệt là thông tin tài khoản người dùng Do đó, việc đảm bảo an toàn thông tin bằng cách sử dụng các phương pháp mã hóa mạnh là vô cùng cần thiết.
Rủi ro khi hoạt động trên mạng Internet có thể xảy ra khi người dùng đăng nhập vào tài khoản SSO và hệ thống bị treo Nếu người dùng rời đi trong khi hệ thống vẫn đang treo, người khác có thể truy cập trái phép vào tài khoản của họ sau khi hệ thống hoạt động trở lại Tình huống này rất nguy hiểm, đặc biệt khi kẻ xâm nhập sử dụng thông tin cho mục đích bất hợp pháp Để hạn chế rủi ro này, nên thiết lập thời gian hoạt động cho phiên đăng nhập, yêu cầu người dùng đăng nhập lại sau một khoảng thời gian không hoạt động.
Một số hình thức tấn công nhằm vào SSO:
Tấn công tràn bộ đệm xảy ra khi ứng dụng ghi dữ liệu vượt quá giới hạn của bộ đệm, thường do lỗi lập trình hoặc hành vi cố ý của người dùng Lỗi này có thể dẫn đến việc ngừng hoạt động của ứng dụng, mất dữ liệu, hoặc kết quả sai lệch Hơn nữa, kẻ tấn công có thể lợi dụng lỗi này để kiểm soát hệ thống hoặc thực hiện các thủ thuật khai thác khác, gây ra mối đe dọa nghiêm trọng cho an ninh hệ thống.
Tấn công vào SSO có thể xảy ra khi kẻ tấn công khai thác lỗi tràn bộ đệm trên stack, thông qua việc kiểm tra các giới hạn không chính xác trong chức năng SSO Bằng cách gửi gói tin đặc biệt, kẻ tấn công có thể truy cập vào các dịch vụ mà không cần xác thực, hoặc chèn mã độc vào bộ nhớ hệ thống, từ đó thực thi mã này tùy ý trên hệ thống.
Kẻ tấn công có thể ghi đè biến địa phương gần bộ nhớ đệm trong stack để thay đổi hành vi chương trình theo ý muốn Họ cũng có khả năng ghi đè địa chỉ trả về trong khung stack, dẫn đến việc hàm thực thi tiếp tục tại địa chỉ mà kẻ tấn công chỉ định, thường là trong bộ đệm chứa dữ liệu người dùng Lỗi tràn bộ đệm có thể cho phép kẻ tấn công vượt qua xác thực tài khoản người dùng SSO.
Việc xử lý bộ đệm trước khi thực hiện đọc hoặc thực thi là cần thiết để giảm thiểu nguy cơ khai thác lỗi tràn bộ đệm, mặc dù không thể hoàn toàn ngăn chặn Các biện pháp xử lý này đóng vai trò quan trọng trong việc bảo vệ hệ thống khỏi các lỗ hổng bảo mật.
- Chuyển từ chữ hoa thành chữ thường
- Loại bỏ các ký tự đặc biệt và lọc các xâu không chứa kí tự là chữ số hoặc chữ cái
Mặc dù có nhiều kỹ thuật lọc và xử lý, vẫn tồn tại những phương pháp như sử dụng mã gồm chữ và số, mã đa hình, và mã tự sửa đổi để tránh bị tấn công Để giảm thiểu nguy cơ khai thác lỗi tràn bộ đệm, việc áp dụng các biện pháp phòng ngừa hiệu quả là rất cần thiết.
Lựa chọn ngôn ngữ lập trình có ảnh hưởng lớn đến việc xuất hiện lỗi tràn bộ đệm Những ngôn ngữ lập trình sử dụng nhiều kỹ thuật đa dạng có thể giúp ngăn chặn việc sử dụng con trỏ và kiểm tra biên do người dùng xác định Một số ngôn ngữ như Cyclone gắn thông tin về kích thước mảng với các mảng, trong khi các ngôn ngữ khác như Python và Lisp cung cấp kiểm tra truy cập và ghi đè dữ liệu, đồng thời đưa ra ngoại lệ hoặc cảnh báo Thêm vào đó, các môi trường lập trình như Java và Net yêu cầu kiểm tra biên cho tất cả các mảng.
Để giảm thiểu nguy cơ tràn bộ đệm và cải thiện an toàn bộ nhớ, hãy sử dụng các thư viện an toàn được kiểm thử kỹ lưỡng cho các kiểu dữ liệu trừu tượng Những thư viện này tự động quản lý bộ nhớ và thực hiện kiểm tra biên, giúp nâng cao tính bảo mật cho ứng dụng Một số thư viện an toàn nổi bật bao gồm The Better String Library, Arri Buffer API và Vstr.
NGHIÊN CỨU CÁC BIỆN PHÁP CƠ BẢN ĐỂ ĐẢM BẢO AN NINH AN TOÀN THÔNG TIN CHO CÁC CỔNG/TRANG THÔNG TIN ĐIỆN TỬ
Xác định cấu trúc ứng dụng web
Việc xác định cấu trúc ứng dụng web là rất quan trọng, giúp người quản trị nắm bắt mô hình thiết kế của đơn vị Qua đó, họ có thể tổ chức mô hình web một cách hợp lý, từ đó giảm thiểu nguy cơ bị tấn công leo thang đặc quyền.
Một ứng dụng web khi triển khai, về cơ bản sẽ có ba lớp như sau: Lớp trình diễn, lớp ứng dụng và lớp cơ sở dữ liệu
Lớp trình diễn, hay còn gọi là máy chủ phục vụ web, là nơi mà máy chủ cài đặt thực hiện nhiệm vụ xử lý các yêu cầu từ trình duyệt người dùng Các máy chủ phục vụ web phổ biến bao gồm IIS Server, Apache HTTP Server và Apache Tomcat Server.
Lớp ứng dụng (Web Application) là nơi thực thi các kịch bản và mã nguồn phát triển ứng dụng web như ASP.NET, PHP, JSP, Perl, và Python Nó đảm nhận việc xử lý logic nghiệp vụ, nhận các yêu cầu từ máy chủ web và phản hồi lại, đóng vai trò như một máy chủ ứng dụng.
Lớp cơ sở dữ liệu (Database Server) là nơi ứng dụng web lưu trữ và xử lý dữ liệu, hoạt động như máy chủ cơ sở dữ liệu Máy chủ này nhận yêu cầu truy vấn từ máy chủ ứng dụng và thường dựa trên các hệ quản trị cơ sở dữ liệu quan hệ như Oracle, SQL Server, MySQL, và nhiều hơn nữa.
Việc thiết kế hợp lý các lớp trong cấu trúc ứng dụng web không chỉ giúp quản trị viên dễ dàng quản lý mà còn nâng cao khả năng phòng ngừa và ứng phó với các mối đe dọa từ tin tặc.
Mỗi lớp cần thiết lập một cơ chế phòng thủ độc lập để ngăn chặn các hành động trái phép, đồng thời không nên hoàn toàn dựa vào các lớp khác nhằm tránh tình trạng tấn công leo thang.
Lớp trình diễn có khả năng thiết lập cơ chế kiểm soát truy cập cho tài nguyên, ví dụ như thư mục /admin, bằng cách yêu cầu xác thực quyền quản trị Điều này giúp hạn chế tác động từ lớp ứng dụng, ngăn chặn việc sử dụng nhiều kịch bản để truy cập vào tài nguyên đó.
Lớp cơ sở dữ liệu cung cấp các tài khoản với quyền hạn khác nhau, ví dụ, tài khoản chưa được chứng thực chỉ có quyền xem nội dung mà không thể thực hiện các thao tác ghi, thay đổi hay thực thi Đối với tài khoản đã được chứng thực, các hành động chỉ được thực hiện theo đúng vai trò và quyền hạn đã chỉ định, cho phép ghi, thay đổi hoặc thực thi trong phạm vi cơ sở dữ liệu đã được cấu hình trước.
Các lớp khác nhau trong kiến trúc phần mềm không nên cho phép truy cập đọc hoặc ghi từ lớp này sang lớp khác Chẳng hạn, lớp trình diễn không được phép truy cập trực tiếp vào các tập tin vật lý của lớp cơ sở dữ liệu, mà chỉ có thể truy cập dữ liệu thông qua các truy vấn với tài khoản phù hợp ở cấp độ ứng dụng Ngoài ra, các dịch vụ giao tiếp giữa các lớp trên mạng cũng cần được lọc để chỉ cho phép thực thi các dịch vụ cần thiết Một số bố trí phổ biến trong thực tế được minh họa trong hình 2.1.
Máy chủ web Máy chủ ứng dụng Máy chủ cơ sở dữ liệu
Máy chủ web Máy chủ ứng dụng
Máy chủ cơ sở dữ liệu
Máy chủ cơ sở dữ liệu
Máy chủ cơ sở dữ liệu
Mô hình 1 lớp là cấu trúc trong đó các máy chủ web, máy chủ ứng dụng và máy chủ cơ sở dữ liệu được cài đặt trên cùng một máy chủ, tạo sự đơn giản và tiết kiệm chi phí cho việc triển khai hệ thống.
Hình 2.2: Mô hình 1 lớp Ưu điểm: Dễ dàng cài đặt và không tốn nhiều tài nguyên
Nhược điểm của việc máy chủ bị tin tặc tấn công là nó có thể ảnh hưởng đến các máy chủ khác Điều này gây ra nhiều khó khăn trong quá trình vận hành và triển khai các biện pháp bảo vệ cho ứng dụng.
Mô hình 2 lớp khác biệt so với mô hình 1 lớp, trong đó các máy chủ web và máy chủ ứng dụng được cài đặt trên cùng một máy chủ, trong khi máy chủ cơ sở dữ liệu được đặt trên một máy chủ riêng biệt.
Máy chủ web Máy chủ ứng dụng Máy chủ cơ sở dữ liệu
Máy chủ web Máy chủ ứng dụng
Máy chủ cơ sở dữ liệu mang lại lợi ích vượt trội khi không tiêu tốn nhiều tài nguyên, đồng thời vẫn đảm bảo hiệu quả trong quá trình vận hành và bảo mật hệ thống.
Một nhược điểm lớn là máy chủ web và máy chủ ứng dụng vẫn được đặt chung trên một máy chủ Điều này có nghĩa là khi máy chủ phục vụ web bị tin tặc tấn công và chiếm quyền kiểm soát, mã nguồn của ứng dụng web có thể bị lộ Hệ quả là máy chủ cơ sở dữ liệu cũng có nguy cơ bị kiểm soát, gây ra những rủi ro nghiêm trọng cho hệ thống.
Mô hình 3 lớp bao gồm ba thành phần chính: máy chủ web, máy chủ ứng dụng và máy chủ cơ sở dữ liệu, mỗi thành phần được cài đặt trên các máy chủ độc lập.
Hình 2.4: Mô hình 3 lớp Ưu điểm: Dễ dàng vận hành hệ thống và chủ động phòng, chống các nguy cơ tấn công từ tin tặc
Nhược điểm: Tốn kém nhiều tài nguyên và quá trình cài đặt
Triển khai hệ thống phòng thủ
Triển khai hệ thống phòng thủ hợp lý là yếu tố then chốt trong việc phòng chống và ngăn chặn các cuộc tấn công một cách hiệu quả Bài viết này sẽ nghiên cứu và trình bày một số phương pháp và chiến lược để nâng cao khả năng bảo vệ.
Để bảo vệ máy chủ cơ sở dữ liệu, cần thực hiện các biện pháp như tổ chức mô hình mạng hợp lý, thiết lập tường lửa hiệu quả, ứng dụng phần mềm phòng chống vi-rút và triển khai hệ thống phát hiện và ngăn chặn xâm nhập.
2.2.1 Tổ chức mô hình mạng
Việc tổ chức mô hình mạng hợp lý đóng vai trò quan trọng trong việc bảo đảm an ninh cho các cổng và trang thông tin điện tử (TTĐT) Đây là nền tảng thiết yếu để xây dựng hệ thống phòng thủ và bảo vệ hiệu quả Hơn nữa, mô hình mạng hợp lý còn giúp giảm thiểu các cuộc tấn công từ cả bên trong lẫn bên ngoài.
Trong một mô hình mạng hợp lý, việc phân biệt rõ ràng giữa các vùng mạng theo chức năng là rất quan trọng Cần thiết lập các chính sách an toàn thông tin riêng biệt cho từng vùng mạng dựa trên các yêu cầu thực tế.
- Vùng mạng ngoài còn gọi là mạng Internet
- Vùng mạng DMZ: Đặt các máy chủ cung cấp dịch vụ trực tiếp ra mạng ngoài như web server, mail server, FTP Server, v.v
- Vùng mạng Server Network: đặt các máy chủ không trực tiếp cung cấp dịch vụ trực tiếp ra mạng Internet
- Vùng mạng Private Network: Đặt các thiết bị mạng, máy trạm và máy chủ thuộc mạng nội bộ của đơn vị
Khi tổ chức mô hình mạng cần lưu ý một số điểm như sau:
Để bảo vệ an toàn cho mạng nội bộ, các máy chủ web, máy chủ thư điện tử và các máy chủ cung cấp dịch vụ nên được đặt trong vùng mạng DMZ Việc này giúp giảm thiểu rủi ro từ các tấn công mạng nội bộ và ngăn chặn ảnh hưởng tiêu cực nếu các máy chủ này bị xâm nhập Cần lưu ý rằng không nên đặt các máy chủ chỉ cung cấp dịch vụ cho mạng nội bộ trong khu vực này.
Các máy chủ không cung cấp dịch vụ trực tiếp ra mạng ngoài như máy chủ ứng dụng, máy chủ cơ sở dữ liệu và máy chủ xác thực nên cần được đặt trong vùng mạng Server network để bảo vệ khỏi các tấn công từ Internet và mạng nội bộ Đối với hệ thống thông tin yêu cầu bảo mật cao, có thể chia vùng server network thành các vùng nhỏ hơn và độc lập để nâng cao tính bảo mật.
Để bảo vệ hệ thống khỏi các cuộc tấn công và xâm nhập trái phép, việc thiết lập các hệ thống phòng thủ như tường lửa và thiết bị phát hiện/phòng chống xâm nhập (IDS/IPS) là cực kỳ cần thiết Nên bố trí tường lửa và IDS/IPS ở những vị trí chiến lược trong mạng để đảm bảo an toàn tối ưu cho hệ thống.
Đặt tường lửa giữa đường nối mạng Internet với các vùng mạng khác nhằm hạn chế tấn công từ bên ngoài vào
Đặt tường lửa giữa các vùng mạng nội bộ và mạng DMZ nhằm hạn chế các tấn công giữa các vùng đó
Để bảo vệ vùng lõi mạng, cần đặt IDS/IPS và tường lửa tại các vị trí chiến lược khác nhau trong mạng, với mỗi tường lửa có quy định riêng nhằm ngăn chặn các cuộc tấn công Việc này giúp đảm bảo an ninh mạng mà không làm giảm hiệu suất Ngoài ra, nên thiết lập một Router biên trước khi kết nối với nhà cung cấp dịch vụ internet (ISP) để lọc lưu lượng không mong muốn và chặn các gói tin từ địa chỉ IP không hợp lệ.
Tường lửa là thiết bị phần cứng hoặc phần mềm được sử dụng trong môi trường mạng máy tính để ngăn chặn lưu lượng không hợp lệ theo chính sách an ninh của cá nhân hoặc tổ chức Mục đích chính của tường lửa là bảo vệ hệ thống khỏi các mối đe dọa và đảm bảo an toàn thông tin.
- Bảo vệ hệ thống khi bị tấn công
- Lọc các kết nối, các gói tin dựa trên chính sách truy cập nội dung
- Áp đặt các chính sách truy cập đối với người dùng hoặc nhóm người dùng
- Ghi lại nhật ký để hỗ trợ phát hiện xâm nhập và điều tra sự cố
Để đảm bảo an ninh hệ thống, cần thiết lập các luật cho tường lửa phù hợp với chính sách an ninh và mục đích sử dụng Tường lửa có vai trò quan trọng trong việc ngăn chặn các cuộc tấn công và kết nối của mã độc ra ngoài Ví dụ, luật tường lửa có thể từ chối tất cả các kết nối từ máy chủ web ra Internet, ngoại trừ những kết nối đã được xác định, cụ thể là từ chối các gói tin TCP có cờ SYN Điều này giúp ngăn chặn mã độc từ máy chủ web kết nối trở lại với máy tính của tin tặc Một số vị trí có thể thiết lập tường lửa được mô tả trong hình 2.6.
Hình 2.6: Một số vị trí có thể đặt tường lửa
Tường lửa có thể làm chậm quá trình kết nối và trong một số trường hợp, những người có kiến thức có thể vượt qua nó Do đó, việc bảo vệ hệ thống cần được thực hiện theo chiều sâu để đảm bảo an toàn tối ưu.
Tường lửa ứng dụng web (Web Application Firewall - WAF)
Tường lửa ứng dụng web là phần mềm hoặc thiết bị phần cứng được cài đặt trên máy chủ web, có chức năng giám sát và bảo vệ dữ liệu trao đổi qua giao thức HTTP Nó hoạt động dựa trên một bộ lọc với các quy tắc được định nghĩa trước hoặc do người dùng thiết lập, giúp phát hiện và ngăn chặn các truy vấn độc hại.
Máy chủ ứng dụng và cơ sở dữ liệu Vùng mạng bên trong
Vùng mạng DMZ bên trong Vùng mạng DMZ bên ngoài
Các máy trạm switch switch
Web servers, mail servers, and DNS are often targeted for common vulnerabilities such as Cross-site Scripting (XSS), SQL Injection, OS Command Injection, Path Traversal, and Denial of Service (DoS) attacks, among others.
Tường lửa ứng dụng web kiểm tra và so sánh dữ liệu đi vào và ra khỏi ứng dụng với các dấu hiệu đã định nghĩa, từ đó quyết định cho phép hoặc chặn dữ liệu Quá trình này giúp lọc dữ liệu mà các thiết bị tường lửa lớp dưới không thực hiện được, đồng thời giảm thiểu sai sót của lập trình viên Để đảm bảo an toàn tối đa, tường lửa ứng dụng web nên được cài đặt giữa mỗi lớp trong kiến trúc web.
Hình 2.7: Ví dụ vị trí đặt tường lửa ứng dụng web
Có thể tham khảo thêm về việc sử dụng tường lửa ứng dụng web ModSecurity trong Phụ lục 2 để tăng cường khả năng bảo vệ của hệ thống
Máy chủ web Máy chủ mail Máy chủ dns
Máy chủ ứng dụng và máy chủ cơ sở dữ liệu
2.2.3 Sử dụng công cụ phát hiện và ngăn chặn xâm nhập (IDS/IPS)
Các công cụ phát hiện xâm nhập (IDS) giúp nhận diện dấu hiệu xâm nhập trái phép, trong khi các công cụ ngăn chặn xâm nhập (IPS) không chỉ phát hiện mà còn ngăn chặn các cuộc tấn công từ tin tặc vào hệ thống Tuy nhiên, giống như các thiết bị mạng khác, IDS/IPS cũng có thể trở thành mục tiêu tấn công và bị chiếm quyền kiểm soát bởi tin tặc, dẫn đến việc vô hiệu hóa chúng Do đó, việc thực hiện các tiêu chí an ninh khi triển khai và vận hành IDS/IPS là rất cần thiết.
- Xác định công nghệ IDS/IPS đã, đang hoặc dự định triển khai
- Xác định các thành phần của IDS/IPS
- Thiết đặt và cấu hình an toàn cho IDS/IPS
- Xác định vị trí hợp lý để đặt IDS/IPS
- Có cơ chế xây dựng, tổ chức quản lý hệ thống luật
- Hạn chế thấp nhất các tình huống cảnh báo nhầm hoặc không cảnh báo khi có xâm nhập
2.2.3.1 Công cụ phát hiện xâm nhập (IDS)
Thiết lập và cấu hình hệ thống máy chủ an toàn
Để đảm bảo vận hành an toàn cho cổng/trang TTĐT, việc cấu hình hệ thống máy chủ là rất quan trọng nhằm giảm thiểu nguy cơ bị tấn công Người quản trị cần luôn cập nhật phiên bản và bản vá mới nhất cho hệ thống Mỗi loại máy chủ sẽ yêu cầu các biện pháp thiết đặt và cấu hình cụ thể để đảm bảo an toàn trong quá trình vận hành.
2.3.1 Thiết lập và cấu hình hệ điều hành máy chủ
Các máy chủ hiện nay thường sử dụng các hệ điều hành phổ biến như Linux và Windows, vì vậy việc bảo vệ máy chủ là rất quan trọng Để đảm bảo hệ thống hoạt động an toàn, cần thực hiện một số biện pháp bảo mật cần thiết.
- Khi cài một hệ thống mới thì phải đảm bảo một số yêu cầu sau:
Khả năng hỗ trợ từ các bản phân phối (thông tin vá lỗi, thời gian cập nhật, nâng cấp, kênh thông tin hỗ trợ kỹ thuật)
Khả năng tương thích với các sản phẩm của bên thứ 3 (tương thích giữa nhân hệ điều hành với các ứng dụng, cho phép mở rộng mô-đun)
Khả năng vận hành và sử dụng hệ thống của người quản trị (thói quen, kỹ năng sử dụng, tính tiện dụng)
- Cần tối ưu hệ điều hành về những mặt sau:
Để bảo vệ thông tin, chính sách mật khẩu cần yêu cầu sử dụng mật khẩu mạnh với độ dài từ 8 ký tự trở lên, bao gồm ký tự hoa, ký tự thường, ký tự đặc biệt và chữ số, nhằm ngăn chặn các cuộc tấn công kiểu Brute force.
Gỡ bỏ các gói và dịch vụ không cần thiết giúp hạn chế khả năng tiếp cận của kẻ tấn công, đồng thời cải thiện hiệu suất của hệ thống.
Đối với điều khiển truy cập: chỉ định các truy cập được phép đến hệ thống, giới hạn tài khoản được phép sử dụng quyền quản trị cao nhất
Đối với các kết nối: Sử dụng kết nối an toàn (ví dụ: SSH) thay cho các kênh kết nối không an toàn như Telnet, FTP, v.v
Quản lý tập tin nhật ký một cách tập trung và nhất quán là cần thiết để phục vụ cho việc điều tra khi xảy ra sự cố.
Để bảo vệ máy chủ, cần gỡ bỏ các tài khoản không sử dụng, vô hiệu hóa tài khoản mặc định, thiết lập mật khẩu mạnh cho tài khoản quản trị và giới hạn quyền truy cập từ xa.
Tập tin và thư mục cần được lưu trữ trên phân vùng định dạng an toàn như NTFS, đồng thời giới hạn quyền truy cập và quyền ghi vào thư mục gốc cho các tài khoản không thuộc nhóm quản trị Đối với tài nguyên chia sẻ, nên gỡ bỏ tất cả các chia sẻ không sử dụng, bao gồm cả các chia sẻ mặc định.
Để đảm bảo an toàn cho hệ thống, hãy cập nhật các bản vá lỗi mới nhất và theo dõi thông tin từ nhiều nguồn khác nhau Nên triển khai các bản cập nhật trên hệ thống thử nghiệm trước khi áp dụng vào hệ thống chính.
2.3.2 Thiết lập và cấu hình máy chủ ứng dụng web
Một số máy chủ phổ biến trong các ứng dụng web hiện nay bao gồm Apache HTTP, Apache Tomcat và IIS Để đảm bảo an toàn cho các máy chủ này, cần thực hiện một số biện pháp bảo mật cần thiết.
- Tối ưu hóa việc sử dụng các mô-đun bằng việc gỡ bỏ những thành phần không cần thiết
Để tăng cường bảo mật, hãy giới hạn quyền truy cập bằng cách tạo các tài khoản và nhóm người dùng riêng biệt, không sử dụng các tài khoản mặc định như root hay administrator để đăng nhập.
Điều khiển truy cập là quá trình sử dụng các chỉ mục để quản lý quyền truy cập vào các thư mục hệ thống, nhằm hạn chế quyền truy cập không cần thiết Việc này bao gồm việc không cho phép người dùng duyệt qua thư mục gốc, đảm bảo an toàn và bảo mật cho hệ thống.
Để tối ưu hóa bảo mật cho ứng dụng, cần gỡ bỏ tất cả các tài nguyên không cần thiết như các trang HTML mặc định, hướng dẫn sử dụng và thông tin liên quan đến máy chủ Trong quá trình cài đặt, thường xuất hiện các ứng dụng mẫu và thư mục không cần thiết, vì vậy việc xóa bỏ chúng là rất quan trọng để giảm thiểu nguy cơ bị khai thác thông tin Đồng thời, cần bảo vệ các tập tin cấu hình như htaccess, context.xml, và server.xml để đảm bảo an toàn cho hệ thống.
Quá trình ghi nhật ký cần được tổ chức một cách hiệu quả, bao gồm việc cấu hình ghi nhật ký lỗi và nhật ký truy cập Đảm bảo rằng toàn bộ thông tin của người dùng khi đăng nhập vào hệ thống được ghi lại đầy đủ Tất cả dữ liệu truy cập cũng sẽ được lưu trữ trong nhật ký để phục vụ cho việc theo dõi và phân tích.
Để đảm bảo an toàn cho các trang thông tin yêu cầu mã hóa truy cập, việc sử dụng các giao thức mã hóa như SSL hoặc TLS là rất cần thiết để bảo vệ các kết nối.
- Giới hạn các thông tin về hệ thống: như thông tin về cấu hình máy chủ, thông tin về các phần mềm được cài đặt trên máy chủ
Để bảo vệ cấu hình máy chủ, cần giới hạn quyền truy cập đến các thư mục quan trọng như thư mục gốc, thư mục chứa tập tin cấu hình máy chủ web, thư mục lưu trữ các tập tin nhật ký, thư mục chứa các tập tin thực thi, và thư mục ứng dụng web.
Thiết lập cơ chế sao lưu phục hồi
Việc thiết lập cơ chế sao lưu và phục hồi dữ liệu là rất quan trọng để đảm bảo an ninh cho các cổng/trang TTĐT Đây là bước cần thiết trong quá trình triển khai nhằm bảo vệ dữ liệu và mã nguồn ứng dụng, đồng thời đảm bảo tính sẵn sàng của dữ liệu.
2.4.1 Thiết lập cơ chế sao lưu
Sao lưu dữ liệu là một bước quan trọng không thể thiếu trong việc triển khai các giải pháp kỹ thuật để đảm bảo tính sẵn sàng của dữ liệu Khi thực hiện sao lưu, cần xác định rõ một số yêu cầu thiết yếu để đảm bảo hiệu quả và an toàn cho dữ liệu.
Sao lưu dữ liệu là một quy trình quan trọng để đảm bảo tính toàn vẹn của hệ thống Có hai phương pháp sao lưu chính: sao lưu toàn bộ dữ liệu, giúp phục hồi nhanh chóng khi xảy ra sự cố, và sao lưu từng phần riêng, cho phép khôi phục các thành phần gặp sự cố mà không cần đến một hệ thống sao lưu lớn.
Để đảm bảo an toàn cho dữ liệu, việc thiết lập cơ chế sao lưu tự động theo định kỳ (hàng ngày, hàng tuần, hàng tháng, v.v.) là rất cần thiết Điều này giúp đảm bảo rằng tất cả các dữ liệu quan trọng được sao lưu đầy đủ và kịp thời, giảm thiểu rủi ro mất mát thông tin.
Sao lưu hệ điều hành máy chủ
Sao lưu máy chủ web, máy chủ ứng dụng, máy chủ cơ sở dữ liệu, v.v
Sao lưu thư mục và tập tin
2.4.2 Thiết lập cơ chế phục hồi
Tùy thuộc vào tình trạng của hệ thống và cơ chế sao lưu đã thiết lập, việc lựa chọn phương pháp phục hồi dữ liệu hệ thống cần phải phù hợp.
- Khôi phục nguyên trạng hệ thống
- Khôi phục từng phần riêng biệt (hệ điều hành, cơ sở dữ liệu, các ứng dụng khác)
- Thường xuyên kiểm tra bản sao lưu để đảm bảo khả năng phục hồi thành công khi cần thiết.
Vận hành an toàn
Khi đã thiết lập một hệ thống an toàn, việc vận hành hệ thống đó một cách an toàn là rất quan trọng Trong phần này, tôi sẽ trình bày những nội dung cơ bản cần thực hiện để đảm bảo an toàn cho một ứng dụng web.
2.5.1 Kiểm tra hoạt động ứng dụng web an toàn Để đảm bảo cho ứng dụng web vận hành an toàn, tránh được các nguy cơ tấn công từ bên ngoài hệ thống có thể tiến hành các bước cơ bản sau:
Kiểm tra việc lộ thông tin nhạy cảm qua các công cụ tìm kiếm là bước quan trọng để đảm bảo rằng ứng dụng web không hiển thị các thông tin riêng tư như phiên bản, cấu trúc thư mục và các dữ liệu nhạy cảm khác trên kết quả tìm kiếm.
- Kiểm tra chức năng đăng xuất, đăng nhập có hoàn thành đúng nhiệm vụ hay không
- Thiết đặt các quyền truy cập thích hợp vào các tập tin và thư mục nhạy cảm Xóa các tập tin sao lưu dự phòng ra khỏi hệ thống
Để bảo vệ tài khoản, hãy sử dụng mã xác nhận và thiết lập mật khẩu mạnh Điều này giúp ngăn chặn việc vượt qua mã xác nhận hoặc đoán mật khẩu ngắn, đồng thời không cho phép người dùng đặt mật khẩu yếu.
Để đảm bảo an toàn cho quá trình quản lý tài khoản và phiên của ứng dụng, việc mã hóa thông tin nhạy cảm như tên đăng nhập và mật khẩu là rất quan trọng nhằm ngăn chặn tình trạng nghe lén dữ liệu Đồng thời, việc cấp phát và mã hóa phiên đăng nhập cho người dùng cũng cần được thực hiện cẩn thận để tránh rủi ro bị tin tặc đoán hoặc giả mạo phiên.
Xác định loại mã nguồn hỗ trợ web như PHP, ASP, JSP và nền tảng phát triển web, bao gồm mã nguồn mở hoặc tự phát triển, là rất quan trọng để áp dụng các biện pháp bảo vệ hợp lý Việc này cũng giúp cập nhật và khắc phục các lỗ hổng bảo mật được phát hiện kịp thời.
Xây dựng và triển khai một hệ thống máy chủ Proxy giúp giám sát các kết nối giữa bên ngoài và bên trong, từ đó bảo vệ hệ thống khỏi các mối đe dọa và hỗ trợ điều tra nguyên nhân khi xảy ra tấn công.
Để bảo vệ an toàn cho các trang web đặt chung trên máy chủ, cần thực hiện biện pháp cách ly giữa chúng Điều này giúp đảm bảo rằng nếu một trang web bị tấn công và chiếm quyền kiểm soát, các trang web còn lại sẽ ít bị ảnh hưởng.
Thiết kế một trang báo lỗi chung giúp hệ thống trả về thông báo cho tất cả các lỗi có thể xảy ra, từ đó giảm thiểu nguy cơ bị tấn công dựa vào thông tin lỗi từ ứng dụng.
2.5.2 Một số biện pháp ứng phó với tấn công
Khi phát hiện dấu hiệu tấn công vào các cổng thông tin điện tử, các đơn vị cần triển khai ngay các biện pháp ứng phó để giảm thiểu hoặc ngăn chặn cuộc tấn công Đồng thời, việc chuyển hướng cuộc tấn công cũng là một giải pháp hiệu quả cần được xem xét.
Sau đây là một số biện pháp tổng quát:
Để tăng cường khả năng xử lý của hệ thống, cần thường xuyên củng cố các điểm yếu của ứng dụng và cập nhật ngay các bản vá lỗi của hệ điều hành cũng như phần mềm khi chúng được phát hành Việc này giúp ngăn chặn các cuộc tấn công khai thác lỗi Bên cạnh đó, tối ưu hóa các thuật toán xử lý và mã nguồn hệ thống cũng là cách hiệu quả để nâng cao hiệu suất xử lý.
- Chú trọng đầu tư hạ tầng mạng, tăng cường số lượng cũng như cấu hình máy chủ và phần mềm an ninh nếu có thể
Để phát hiện sớm các hành vi tấn công, người quản trị cần chú trọng kiểm tra hệ thống nhật ký log của máy chủ và tường lửa khi có nghi ngờ về sự cố Việc này giúp phát hiện các dấu hiệu bất thường, từ đó xác định có tấn công xảy ra hay không, cũng như quy mô và cách thức tấn công.
Khi xảy ra tấn công, cần thực hiện các biện pháp khẩn cấp để ngăn chặn và đối phó kịp thời Việc thu thập và phân tích các tệp tin nhật ký hoạt động là rất quan trọng để truy tìm nguồn gốc của cuộc tấn công Để bảo vệ hệ thống, có thể chặn kết nối và luồng tin từ địa chỉ IP thực hiện tấn công Đối với các cuộc tấn công từ chối dịch vụ, cần xác định nơi lưu trữ máy chủ điều khiển và địa chỉ IP tấn công để thực hiện các biện pháp ngăn chặn hiệu quả.
- Khi các cuộc tấn công do lỗi của phần mềm hay thiết bị thì nhanh chống cập nhật các bản sửa lỗi cho hệ thống đó hoặc thay thế
Để nâng cao bảo mật hệ thống, cần thiết lập lại chính sách an ninh tổng thể và chính sách an ninh của tường lửa Việc điều chỉnh các ngưỡng bảo mật sẽ giúp ngăn chặn kịp thời các cuộc tấn công, đảm bảo an toàn cho hệ thống.
Trong nhiều tình huống, việc chuyển hướng cuộc tấn công có thể giúp giảm thiểu thiệt hại, đồng thời tạo thêm thời gian để ứng phó và ngăn chặn các cuộc tấn công hiệu quả hơn.
Tấn công từ chối dịch vụ (DoS)
DoS (Denial of Service) là một phương pháp tấn công từ chối dịch vụ xuất hiện vào đầu những năm 90, ban đầu chỉ gồm một kẻ tấn công khai thác băng thông tối đa từ nạn nhân, ngăn cản người khác truy cập dịch vụ Các phương pháp tấn công đơn giản như ping floods, SYN floods và UDP floods đã được sử dụng để thực hiện điều này Theo thời gian, các cuộc tấn công trở nên phức tạp hơn, với các kỹ thuật như giả mạo nạn nhân và gửi thông điệp, khiến nhiều máy khác làm ngập máy nạn nhân bằng các thông điệp trả lời Những phương thức tấn công tinh vi như Smurf attack, IP spoofing và SYN attack đã xuất hiện, làm tăng mức độ nghiêm trọng của các cuộc tấn công DoS.
Tấn công DoS nhằm chiếm băng thông mạng, gây ngập hệ thống và ngăn cản dịch vụ cho người dùng bình thường Mục tiêu của tấn công này bao gồm làm ngắt kết nối giữa các máy, chặn truy cập vào dịch vụ cụ thể, và ngăn chặn người dùng khác khỏi việc sử dụng dịch vụ Khi xảy ra tấn công DoS, người dùng sẽ cảm thấy dịch vụ bị tắt hoặc hoạt động chậm Ngoài ra, tấn công DoS còn có thể ảnh hưởng đến các hệ thống quan trọng như hệ thống điều hòa, điện và làm mát, do nhiều hệ thống hiện nay được điều khiển qua mạng Sự cố này có thể dẫn đến việc các lệnh điều khiển không được thực thi, gây ra hậu quả nghiêm trọng cho các hệ thống liên quan.
Một số hình thức tấn công DoS cơ bản như Smurf, Bufer Overflow Attack, Ping of death, Teardrop, SYN attack
Tấn công Smurf là một hình thức tấn công DoS điển hình, trong đó kẻ tấn công gửi nhiều lệnh ping đến nhiều máy tính trong thời gian ngắn, với địa chỉ IP nguồn của gói tin (ICMP echo) được thay thế bằng địa chỉ IP của nạn nhân Kết quả là nạn nhân nhận được một lượng lớn gói tin trả lời (ICMP reply), dẫn đến mạng bị chậm hoặc ngắt, không thể đáp ứng các dịch vụ khác.
Hình 3.1: Mô tả tấn công kiểu Smurf
Tấn công tràn bộ đệm (Buffer overflow attack) xảy ra khi một chương trình ghi thông tin vượt quá dung lượng bộ nhớ đệm, cho phép kẻ tấn công ghi đè lên dữ liệu và điều khiển các chương trình khác Điều này có thể dẫn đến việc đánh cắp quyền điều khiển và thực thi mã độc hại.
Tấn công kiểu Teardrop trong mạng chuyển mạch gói diễn ra khi dữ liệu được chia thành nhiều gói tin nhỏ, mỗi gói có giá trị offset riêng và có thể được truyền qua nhiều đường khác nhau đến đích Tại điểm đến, nhờ vào giá trị offset, dữ liệu sẽ được kết hợp lại như ban đầu Tuy nhiên, kẻ tấn công có thể lợi dụng điều này để gửi nhiều gói tin với giá trị offset trùng lặp đến mục tiêu, khiến cho máy tính đích không thể sắp xếp các gói tin và dẫn đến tình trạng treo máy do phải xử lý quá nhiều thông tin.
Máy kẻ tấn công Máy chủ web ping trả lời ping ping ping ping ping trả lời trả lời trả lời trả lời trả lời
Kiểu tấn công SYN là một phương thức mà kẻ tấn công gửi các yêu cầu TCP SYN giả tới máy chủ, gây tốn bộ nhớ cho việc xử lý các kết nối này Khi số lượng gói tin SYN ảo tăng lên đáng kể, máy chủ sẽ không còn khả năng xử lý các yêu cầu hợp lệ từ người dùng thông thường Kết quả là, các kết nối hợp lệ không thể được thực hiện do tài nguyên của máy chủ đã bị chiếm dụng hoàn toàn.
Tấn công từ chối dịch vụ phân tán (DDoS)
Tấn công từ chối dịch vụ phân tán DDoS là hình thức tấn công từ nhiều máy tính nhằm vào một mục tiêu, dẫn đến việc từ chối các yêu cầu hợp lệ từ người dùng So với tấn công DoS cổ điển, DDoS có sức mạnh lớn hơn nhiều lần, thường nhằm chiếm dụng băng thông, tài nguyên hệ thống và gây nghẽn mạng, khiến hệ thống ngưng hoạt động Kẻ tấn công sử dụng botnet, tức là mạng lưới máy tính bị chiếm dụng, từ nhiều địa điểm khác nhau để đồng loạt gửi một lượng lớn gói tin tới mục tiêu đã xác định, nhằm làm tràn ngập tài nguyên và đường truyền của mục tiêu đó.
Cuộc tấn công từ chối dịch vụ (DDoS) có thể làm cạn kiệt băng thông và tài nguyên hệ thống, dẫn đến việc thực thi phần mềm độc hại và quá tải năng lực xử lý, khiến hệ thống không thể thực hiện các xử lý khác Các lỗi trong chuỗi chỉ thị có thể làm máy tính hoạt động không ổn định hoặc bị treo, trong khi lỗi ở hệ điều hành có thể dẫn đến việc sử dụng toàn bộ khả năng của bộ xử lý và bộ nhớ, làm cho các công việc thực tế không thể hoàn thành Một hình thức tấn công từ chối dịch vụ iFrame có thể gửi nhiều yêu cầu đến một trang web, làm quá tải băng thông và gây ra tình trạng không thể truy cập.
Tấn công DDoS tìm kiếm và khai thác lỗ hổng bảo mật trên các máy tính kết nối internet, tạo ra mạng Botnet để tấn công hệ thống nạn nhân Cuộc tấn công này được thực hiện từ một số lượng lớn máy tính trên toàn cầu, thường sử dụng dịch vụ có sẵn trong mạng botnet Vì tấn công đến từ nhiều địa chỉ IP khác nhau, việc phát hiện trở nên khó khăn; mặc dù tường lửa có thể chặn các gói tin, nhưng hầu hết chúng lại đến từ các địa chỉ IP hợp lệ chưa được ghi nhận trong chính sách của tường lửa Khi chỉ có một địa chỉ IP tấn công, tường lửa có thể chặn giao tiếp, nhưng với hàng ngàn đến hàng trăm ngàn địa chỉ IP trong mạng botnet, việc này trở nên vô cùng khó khăn.
3.2.1 Các giai đoạn của một cuộc tấn công DDoS
Một cuộc tấn công DDoS có thể chia làm ba giai đoạn:
Giai đoạn 1 chuẩn bị là bước quan trọng trong cuộc tấn công DDoS, nơi các tin tặc chuẩn bị công cụ cần thiết, thường hoạt động theo mô hình client-server Họ có thể viết phần mềm hoặc tải các công cụ tấn công miễn phí như Trinoo, TFN, TFN2K, Stacheldraht, Shaft, Trinity, Knight, Mstream, và Kaiten Tiếp theo, tin tặc sử dụng các kỹ thuật xâm nhập để chiếm quyền kiểm soát một số máy chủ, cài đặt phần mềm cần thiết và cấu hình toàn bộ mạng tấn công, bao gồm các máy đã bị chiếm quyền điều khiển và máy của chính tin tặc.
Giai đoạn 2 của quá trình tấn công là xác định mục tiêu và thời điểm tấn công Sau khi hoàn tất việc xác định mục tiêu cuối cùng, tin tặc sẽ điều chỉnh mạng lưới tấn công để tập trung vào mục tiêu đã chọn Thời điểm thực hiện cuộc tấn công sẽ ảnh hưởng trực tiếp đến mức độ thiệt hại cũng như tốc độ phản ứng của mục tiêu đối với cuộc tấn công đó.
Giai đoạn 3 của cuộc tấn công bao gồm việc phát động tấn công và xóa dấu vết Tại thời điểm đã định, tin tặc sẽ khởi động tấn công từ máy của mình, với lệnh tấn công đi qua nhiều cấp để đến máy chủ mục tiêu Mạng tấn công, có thể lên đến hàng ngàn máy, sẽ liên tục khai thác năng lực của máy chủ mục tiêu, ngăn chặn nó hoạt động đúng như thiết kế Sau một khoảng thời gian tấn công thích hợp, tin tặc sẽ tiến hành xóa mọi dấu vết có thể truy ngược đến họ.
3.2.2 Kiến trúc tổng quan của mạng tấn công DDoS
Nhìn chung mạng tấn công DDoS có hai mô hình chính là: Agent Handler và IRC Based
Mô hình Agent Handler là một phương pháp trong đó kẻ tấn công sử dụng Handler để điều khiển các cuộc tấn công Mạng tấn công bao gồm ba thành phần chính: Agent, Client và Handler, tạo thành một cấu trúc phối hợp chặt chẽ trong quá trình thực hiện các hành vi xâm nhập.
Client là phần mềm cốt lõi cho phép kẻ tấn công kiểm soát toàn bộ hoạt động của mạng tấn công Handler đóng vai trò là thành phần trung gian, kết nối Agent với Client để đảm bảo sự giao tiếp hiệu quả trong quá trình tấn công.
Agent: là thành phần thực hiện tấn công mục tiêu, nhận điều khiển từ Client thông qua các Handler
Hình 3.2: Kiến trúc mạng tấn công kiểu Agent Handler
Kẻ tấn công giao tiếp với các Handler từ Client để xác định số lượng Agent trực tuyến, điều chỉnh thời điểm tấn công và cập nhật các Agent Tùy thuộc vào cấu hình mạng tấn công, các Agent có thể được quản lý bởi một hoặc nhiều Handler Thông thường, kẻ tấn công đặt Handler trên các bộ định tuyến hoặc máy chủ có lưu lượng lớn để làm cho giao tiếp giữa Client, Handler và Agent khó bị phát hiện Các giao tiếp này thường diễn ra qua các giao thức TCP, UDP hoặc ICMP Chủ sở hữu thực sự của các Agent thường không biết rằng họ đang bị lợi dụng cho cuộc tấn công DDoS, do thiếu kiến thức hoặc vì các Agent chỉ sử dụng rất ít tài nguyên hệ thống, khiến ảnh hưởng đến hiệu năng của hệ thống gần như không thể nhận thấy.
Mô hình IRC-Based cho phép kẻ tấn công điều khiển, khuếch đại và quản lý kết nối với các máy tính trong mạng Botnet thông qua các mạng Internet Relay Chat (IRC).
Internet Relay Chat (IRC) là một nền tảng cho phép người dùng trò chuyện trực tuyến theo thời gian thực Hệ thống này bao gồm nhiều máy chủ IRC kết nối với nhau qua các kênh khác nhau Người dùng có thể tạo ra ba loại kênh: công cộng, riêng tư và bí mật, giúp tăng cường trải nghiệm giao tiếp trực tuyến.
- Kênh công cộng: Cho phép mọi người dùng của kênh đó thấy được tên IRC và nhận được tin nhắn của mọi người dùng khác trên cùng kênh
Kênh riêng tư được thiết kế để giao tiếp chỉ với những người dùng được phép, bảo vệ thông tin bằng cách không cho phép người ngoài nhìn thấy tên IRC và tin nhắn trong kênh Tuy nhiên, những người dùng không thuộc kênh vẫn có thể phát hiện sự tồn tại của kênh này thông qua một số lệnh channel locator.
- Kênh bí mật: tương tự như kênh riêng tư nhưng người dùng không thể xác định bằng lệnh channel locator
Kẻ tấn công Kẻ tấn công
Agent Agent Agent Agent Agent
Hình 3.3: Kiến trúc mạng tấn công kiểu IRC
Tấn công dựa trên nền tảng IRC-Based sử dụng kênh giao tiếp IRC giữa Client và Agent, thay vì thông qua Handler như trong mô hình Agent Handler Mô hình này mang lại nhiều lợi thế cho kẻ tấn công, bao gồm việc giao tiếp dưới dạng tin nhắn, làm cho việc phát hiện trở nên khó khăn Lưu lượng IRC có thể di chuyển lớn mà không bị nghi ngờ, và kẻ tấn công không cần duy trì danh sách Agent; chỉ cần đăng nhập vào máy chủ IRC để nhận báo cáo trạng thái từ các kênh Hơn nữa, mạng IRC còn hỗ trợ chia sẻ tệp, tạo điều kiện cho việc phát tán mã Agent đến nhiều máy khác.
3.2.3 Phân loại tấn công DDoS
Tấn công DDoS có thể phân làm hai loại chính là tấn công làm cạn kiệt băng thông và làm cạn kiệt tài nguyên hệ thống
Kẻ tấn công Kẻ tấn công
Hình 3.4: Phân loại tấn công từ chối dịch vụ phân tán
3.2.3.1 Tấn công làm cạn kiệt băng thông hệ thống
Tấn công làm cạn kiệt băng thông nhằm mục đích tràn ngập mạng mục tiêu bằng lưu lượng không cần thiết, từ đó ngăn chặn lưu lượng hợp lệ đến hệ thống cung cấp dịch vụ Có hai loại tấn công làm cạn kiệt băng thông: tấn công làm lụt hệ thống (Flood attack) và tấn công khuếch đại (Amplification attack).
Tấn công lụt (Flood attack) là một phương pháp tấn công mà các tác nhân gửi một lượng lớn lưu lượng đến hệ thống dịch vụ của mục tiêu, dẫn đến việc làm cạn kiệt băng thông của dịch vụ này Kết quả là hệ thống bị chậm lại, treo hoặc đạt đến trạng thái hoạt động bão hòa, khiến cho người dùng thực sự không thể truy cập dịch vụ Tấn công lụt có thể chia thành hai loại chính: tấn công lụt UDP và tấn công lụt ICMP.
Tấn công từ chối dịch vụ phản xạ nhiều vùng (DRDoS)
Xuất hiện từ đầu năm 2002, kiểu tấn công này được xem là một trong những hình thức tấn công DoS mạnh nhất Khi được thực hiện bởi kẻ tấn công có kỹ năng, nó có khả năng làm sập bất kỳ hệ thống nào chỉ trong vài phút.
Mục tiêu chính của DRDoS là chiếm đoạt toàn bộ băng thông của máy chủ, làm tắc ngẽn hoàn toàn kết nối giữa máy chủ và xương sống của Internet, dẫn đến việc tiêu tốn tài nguyên và gây gián đoạn dịch vụ.
Kẻ tấn công gây hao tổn tài nguyên máy chủ trong cuộc tấn công DRDoS, khiến cho không một máy khách nào có thể kết nối Tất cả các dịch vụ hoạt động trên nền tảng TCP/IP như DNS, HTTP, FTP, POP3, và nhiều dịch vụ khác đều bị vô hiệu hóa.
DRDoS, hay tấn công phân tán từ chối dịch vụ, kết hợp giữa tấn công DoS và DDoS, sử dụng kỹ thuật SYN để chiếm dụng băng thông Kẻ tấn công giả mạo địa chỉ của máy chủ mục tiêu và gửi yêu cầu SYN đến các máy chủ lớn, khiến chúng gửi phản hồi SYN/ACK về máy chủ mục tiêu Các máy chủ lớn này trở thành công cụ hỗ trợ cho kẻ tấn công, làm tăng cường độ tấn công Quá trình này lặp lại với nhiều địa chỉ IP giả, dẫn đến việc máy chủ mục tiêu nhanh chóng bị quá tải Điều đáng chú ý là một tin tặc chỉ cần một máy tính với modem 56kbps có thể gây ra thiệt hại lớn mà không cần chiếm đoạt bất kỳ máy nào để thực hiện tấn công.
Trong mô hình này, có các máy chủ thật A, B, C, D, E, F và một máy chủ mục tiêu tấn công (M) Kẻ tấn công phát tán các gói tin SYN giả mạo, gửi đến các máy chủ thật với địa chỉ IP nguồn bị giả mạo thành địa chỉ IP của máy chủ M Các máy chủ thật sẽ mở kết nối và gửi gói tin SYN/ACK cho máy chủ M.
M muốn mở kết nối với mình, nhưng các máy chủ vô hình trở thành công cụ cho kẻ tấn công, dẫn đến việc tấn công máy M Quá trình gửi các gói tin lặp lại liên tục gây nghẽn đường truyền của máy M.
Một số biện pháp phòng chống tấn công từ chối dịch vụ
Nguyên tắc chống tấn công từ chối dịch vụ (DoS) là lọc và loại bỏ các luồng tin tấn công, đồng thời ngăn chặn các nguồn tấn công ngay từ đầu Việc thực hiện các biện pháp bảo mật hiệu quả giúp bảo vệ hệ thống khỏi những cuộc tấn công này.
Các gói tin SYN mang địa chỉ ip của máy chủ mục tiêu tấn công (được gửi từ kẻ tấn công)
Phát các gói SYN giả mạo
Máy chủ mục tiêu tấn công (M)
Các gói tin SYN/ACK hồi đáp cho gói SYN được gửi tới máy chủ mục tiêu tấn công (thay vì gửi tới kẻ tấn công)
Các máy chủ thật hoạt động như máy tính ma để ngăn chặn các cuộc tấn công từ chối dịch vụ phân tán, yêu cầu vô hiệu hóa các mạng botnet Để đạt hiệu quả cao, cần có biện pháp phối hợp ứng cứu sự cố ở quy mô quốc gia hoặc quốc tế Để phòng chống hiệu quả các cuộc tấn công này, việc tìm hiểu các giai đoạn chính trong quá trình chống tấn công là rất quan trọng.
Có ba giai đoạn chính trong quá trình chống tấn công DDoS:
- Giai đoạn 1 ngăn ngừa tấn công: Tối thiểu hóa lượng Agent, tìm và vô hiệu hóa các Handler
- Giai đoạn 2 đối đầu với cuộc tấn công: Phát hiện và ngăn chặn cuộc tấn công, làm suy giảm và dừng cuộc tấn công, chuyển hướng cuộc tấn công
- Giai đoạn 3 sau khi cuộc tấn công xảy ra: Thu thập chứng cứ và rút kinh nghiệm
Giai đoạn 1 ngăn ngừa tấn công: Trong giai đoạn này ta sẽ thực hiện tối thiểu hóa số lượng Agent, tìm và vô hiệu hóa các Handler
Tối thiểu hóa số lượng Agent:
Để ngăn chặn tấn công từ chối dịch vụ, người dùng internet cần chủ động phòng ngừa và không để bị lợi dụng để tấn công hệ thống khác Việc nâng cao ý thức và kỹ thuật bảo mật cho người dùng là rất quan trọng, vì tấn công mạng chỉ xảy ra khi có người bị lợi dụng Người dùng phải thường xuyên thực hiện các biện pháp bảo mật trên máy tính của mình và tự kiểm tra sự hiện diện của các tác nhân gây hại, mặc dù điều này có thể khó khăn đối với người dùng thông thường.
Để ngăn chặn việc cài đặt mã độc nguy hiểm, người dùng nên sử dụng các giải pháp tích hợp sẵn từ phần cứng và phần mềm của hệ thống Đồng thời, việc cài đặt và cập nhật thường xuyên các phần mềm chống vi-rút, trojan cùng với các bản vá lỗi cho hệ điều hành máy chủ là rất cần thiết.
Tìm và vô hiệu hóa các Handler:
Handler là một yếu tố quan trọng trong các cuộc tấn công mạng; việc phát hiện và vô hiệu hóa Handler có thể nâng cao khả năng phòng chống tấn công từ chối dịch vụ Bằng cách theo dõi giao tiếp giữa Handler với Client và Agent, chúng ta có thể xác định vị trí của Handler Do một Handler quản lý nhiều Agent, việc loại bỏ một Handler sẽ dẫn đến việc triệt tiêu một số lượng lớn Agent trong mạng tấn công.
Giai đoạn 2 trong việc đối phó với cuộc tấn công yêu cầu phát hiện sớm các dấu hiệu của cuộc tấn công Để làm được điều này, có thể áp dụng một số biện pháp hiệu quả nhằm bảo vệ hệ thống.
Kỹ thuật Lọc các gói tin ra vào (Agress Filtering) kiểm tra tiêu chuẩn của gói tin khi rời khỏi mạng con, dựa trên cổng gateway và địa chỉ IP của các máy trong mạng Những gói tin từ mạng con với địa chỉ nguồn không hợp lệ sẽ bị giữ lại để điều tra Nếu áp dụng rộng rãi trên toàn bộ mạng internet, kỹ thuật này có thể ngăn chặn tình trạng giả mạo địa chỉ IP.
Giám sát giao thức mạng là một yếu tố quan trọng trong việc bảo vệ hệ thống mạng Bộ định tuyến lưu trữ thông tin thống kê về biến thiên trạng thái của mạng, cho phép ta theo dõi chặt chẽ các giao thức như ICMP, UDP và TCP Bằng cách này, chúng ta có thể phát hiện sớm các cuộc tấn công, từ đó tạo ra "quỹ thời gian vàng" để xử lý tình huống kịp thời và hiệu quả.
Sau khi nhận thấy các dấu hiệu của một cuộc tấn công, việc cần thiết là làm suy giảm hoặc ngăn chặn cuộc tấn công đó Để thực hiện điều này, có thể áp dụng một số biện pháp hiệu quả.
Cân bằng tải cho các máy chủ là yếu tố quan trọng để tăng cường khả năng chống chịu của hệ thống trước các cuộc tấn công từ chối dịch vụ Việc thiết lập kiến trúc cân bằng tải cho các máy chủ trọng điểm giúp cải thiện thời gian phản ứng của hệ thống Tuy nhiên, cần lưu ý rằng quy mô của các cuộc tấn công này có thể rất lớn và không có giới hạn thực tiễn.
Thiết lập cơ chế điều tiết (Throttling) trên các bộ định tuyến giúp quy định một mức tải hợp lý mà máy chủ có thể xử lý, đồng thời ngăn chặn các cuộc tấn công làm cạn kiệt lưu lượng, bảo vệ quyền truy cập của người dùng Tuy nhiên, phương pháp này có hạn chế là không phân biệt được giữa lưu lượng hợp lệ và không hợp lệ, có thể dẫn đến gián đoạn dịch vụ cho người dùng thực sự, trong khi một phần lưu lượng tấn công vẫn có thể xâm nhập vào mạng nhưng với quy mô hạn chế.
Trong việc quản lý yêu cầu, thiết lập cơ chế từ chối các yêu cầu vi phạm quy định như thời gian trễ kéo dài, tốn nhiều tài nguyên hay gây deadlock là rất quan trọng Kỹ thuật này giúp bảo vệ năng lực hệ thống nhưng cũng có thể hạn chế một số hoạt động bình thường Bên cạnh đó, việc chuyển hướng cuộc tấn công sang hệ thống giả đã được chuẩn bị sẵn, như Honeyspot, cũng là một phương pháp hiệu quả Honeypot được thiết kế để đánh lừa và thu hút kẻ xâm nhập, ngăn chặn chúng tiếp cận hệ thống thật.
Honeypot có khả năng giả lập nhiều loại máy chủ tài nguyên như máy chủ thư điện tử và máy chủ web Nó tương tác trực tiếp với tin tặc để thu thập thông tin về các phương thức tấn công, công cụ sử dụng và cách thức thực hiện, thay vì trở thành mục tiêu bị tấn công.
Honeyspot cung cấp cơ hội học hỏi và rút kinh nghiệm từ các cuộc tấn công, nhờ vào việc ghi nhận chi tiết mọi hành động của kẻ tấn công trên hệ thống Khi kẻ tấn công bị đánh lừa và cài đặt các tác nhân gây hại trên Honeypots, khả năng triệt tiêu toàn bộ mạng tấn công sẽ tăng cao.
Giai đoạn 3 sau tấn công tập trung vào việc phân tích cuộc tấn công, xác định vị trí của kẻ tấn công và thu thập manh mối cùng chứng cứ quan trọng Điều này không chỉ giúp hiểu rõ hơn về sự cố mà còn rút ra bài học để cải thiện hệ thống an ninh trong tương lai.
TRIỂN KHAI THỬ NGHIỆM
Mô hình thử nghiệm
Hệ thống sẽ triển khai thử nghiệm một số biện pháp nhằm đảm bảo an ninh và an toàn cho cổng/trang TTĐT, dựa trên các nghiên cứu đã thực hiện trước đó.
Chúng tôi sử dụng hai máy chủ VPS với cấu hình mạnh mẽ, mỗi máy chủ được trang bị chip xử lý Intel® CPU E5620 2.4GHz 2 nhân, bộ nhớ RAM 2 GB và ổ lưu trữ 30 GB Địa chỉ IP của máy chủ đầu tiên là 123.30.209.22, trong khi địa chỉ IP của máy chủ thứ hai là 123.30.209.168.
Hệ điều hành Linux Red Hat 8 cung cấp thông tin về vá lỗi, nâng cấp và cập nhật phiên bản mới, cùng với các kênh hỗ trợ kỹ thuật Nó tương thích tốt với các phần mềm như Apache, MySQL và PHP, thường được cài đặt trên các máy chủ.
- Thông tin về Apache, MySQL, PHP sẽ dùng là: Apache 2.4.12, MySQL 5.5.41, PHP 5.5.20
- ứng dụng bảo vệ: sử dụng phần mềm diệt vi-rút, phần mềm ModSecurity làm tưởng lửa, phần mềm Snort để phát hiện và ngăn chặn xâm nhập
- Mô hình triển khai: do điều kiện thực nghiệm hạn chế nên việc thử nghiệm sẽ được triển khai theo mô hình hai lớp như sau:
Hình 4.1: Mô hình triển khai thử nghiệm
Cấu hình hệ thống
Để tăng cường bảo mật, hãy thiết lập lại chính sách mật khẩu với yêu cầu mật khẩu mạnh, bao gồm ít nhất 8 ký tự, trong đó có ít nhất 1 ký tự in hoa, 1 ký tự in thường, 1 ký tự đặc biệt và 1 chữ số, nhằm bảo vệ hệ thống trước các cuộc tấn công Brute force.
Dùng lệnh [root@vanbien ~]# vi /etc/login.defsthay đổi thông số trong tập tin /etc/login.defs như sau:
PASS_MAX_DAYS 99 (mật khẩu này được sử dụng tối đa 99 ngày) PASS_MIN_LEN 8 (yêu cầu mật khẩu có chiều dài ngắn nhất là 8) PASS_WARN_AGE (sẽ cảnh báo trước khi mật khẩu hết hạn 7 ngày) Thiết lập độ phức tạp mật khẩu:
Dùng lệnh [root@vanbien ~]# /etc/pam.d/system-auth thay đổi đổi dòng lệnh trong tập tin sau /etc/pam.d/system-auth như sau:
Máy chủ web, Máy chủ ứng dụng
Máy chủ cơ sở dữ liệu 123.30.209.168 Tường lửa
Password requisite pam_cracklib.so retry=3 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 Ý nghĩa các thông số:
Retry=3 cho phép chọn mật khẩu 3 lần trước khi chương trình passwd hủy bỏ Difok=3 có ít nhất 3 ký tự khác với mật khẩu trước
Ucredit=-1 có ít nhất một chữ hoa Lcredit=-1 có ít nhất một chữ thường Ocredit=-1 có ít nhất một ký tự đặc biệt
Ngăn dùng lại mật khẩu cũ: Dùng lệnh [root@vanbien ~]# /etc/pam.d/system-auth thay đổi như sau: password required pam_unix.so md5 remember=5 use_authtok
- Điều chỉnh các thông số mạng: tối ưu hóa một số thông tin trong tập tin /etc/sysctl.conf như sau: [root@vanbien ~]# vi /etc/sysctl.conf
Để tối ưu hóa các thiết lập TCP, bạn có thể thêm các dòng sau: `net.ipv4.tcp_timestamps = 0`, `net.ipv4.tcp_sack = 1`, và `net.ipv4.tcp_no_metrics_save = 1` Dòng đầu tiên loại bỏ dữ liệu thời gian, giúp tiết kiệm 12k cho mỗi gói tin Dòng thứ hai kích hoạt xác nhận chọn lọc, giảm thiểu các bước kiểm tra gói tin và tăng tốc độ lưu thông Cuối cùng, dòng thứ ba tăng tốc kết nối bằng cách ngăn không lưu metric TCP cho từng gói tin.
Thiết lập TCP window scaling rất quan trọng trong việc tối ưu hóa hiệu suất mạng Cấu hình này xác định kích thước gói tin tối thiểu và tối đa có thể gửi và nhận, ảnh hưởng đến tốc độ kết nối Đối với kết nối dial-up, kích thước gói nhỏ sẽ mang lại tốc độ nhanh hơn, trong khi kết nối băng rộng sẽ hoạt động hiệu quả hơn với kích thước gói lớn Để thiết lập, bạn có thể sử dụng các thông số như net.ipv4.tcp_window_scaling = 1, net.ipv4.tcp_wmem = 10240 87380 16777216, net.ipv4.tcp_rmem = 10240 87380 16777216, và net.ipv4.tcp_mem = 16777216 16777216 16777216 Ngoài ra, cần chú ý đến net.core.rmem_max = 16777216 và net.core.wmem_max = 16777216 để đảm bảo tối ưu hóa tối đa cho kết nối mạng.
- Gỡ bỏ các dịch vụ không cần thiết: để hạn chế khả năng tiếp cận của kẻ tấn công và cải thiện hiệu năng của hệ thống
Dùng lệnh sau để xem các dịch vụ cần thiết: chkconfig - -list | grep :on
Danh sách các dịch vụ cần thiết: Crond, da-popb4smtp, directadmin, exim, http, iptables, modules_dep, mysqld, netfs, network, pure-ftpd, rsyslog, sshd, startips, udev-post, vzreboot
Chỉ nên sử dụng các dịch vụ cần thiết, trong khi các dịch vụ không cần thiết sẽ được gỡ bỏ hoặc tắt Để tắt các dịch vụ này, bạn có thể sử dụng lệnh: chkconfig tên_dịch_vụ off.
Dùng lệnh grouplist để xem các nhóm phần mềm đã được cài đặt: yum grouplist
Dùng lệnh gỡ lần lượt các lệnh với tên nhóm, ngoại trừ "Utilities": yum groupremove "Tên_nhóm"
- Tạo người dùng khác root để thực thi máy chủ: thêm người dùng mới là bien với lệnh:
[root@vanbien ~]# useradd bien [root@vanbien ~]# passwd bien
Mật khẩu cho tài khoản bien sẽ được đặt theo chính sách ở trên là: Hoang*0515 Tạo nhóm người dùng quantri bằng cách mở tập tin sudoers:
[root@vanbien ~]# vi /etc/sudoers
Viết đoạn lệnh sau vào dưới (# %wheel ALL=(ALL) ALL):
Những thành viên trong nhóm quản trị được phép sử dụng tất cả các dòng lệnh
Thêm người dùng có tên bien vào nhóm quản trị:
- Giới hạn người dùng được phép sử dụng quyền sudo thông qua các tập tin /etc/pam.d/su như sau:
Mở tập tin /etc/pam.d/su:
[root@vanbien ~]# vi /etc/pam.d/su
Thêm 2 dòng lệnh: auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_quantri.so group=quantri
Hai dòng lệnh trên có nghĩa rằng chỉ những tài khoản thuộc nhóm quantri có quyền su lên root
Tiếp theo để thêm một tài khoản có quyền su lên root làbien
Không cho đăng nhập bằng tài khoản root để đảm bảo bảo mật hơn
- Thay đổi port để kết nối SSH sang một port khác port mặc định 22:
[root@vanbien ~]# vi /etc/ssh/sshd_config Đổi dòng #port 22 thành port 1110
- Sử dụng kết nối SSH thay cho các kênh kết nối không an toàn như Telnet, FTP, v.v
- Kết nối SSH thông qua khóa bí mật và khóa công khai:Sử dụng PuTTy Key Generator để tạo khóa
Khóa công khai (public key) cần được lưu vào một tập tin và sau đó được sao chép vào tập tin ~/.ssh/authorized_keys trên máy chủ Việc đưa khóa công khai vào máy chủ là một bước quan trọng để thiết lập kết nối an toàn.
[root@vanbien ~] # mkdir ~/ ssh [root@vanbien ~] # chmod0700 ~/.ssh [root@vanbien ~] # touch ~/ ssh/authorized_keys [root@vanbien ~] # chmod 0644 ~/ ssh/authorized_keys [root@vanbien ~] # vi/.ssh/authorized_keys
Sau đó thêm đoạn mã khóa công khai ở trên vào tập tin này và lưu lại
Private Key (khóa bí mật): được lưu lại với tên bien.ppk
Keypharse (Mật khẩu để mở private key): lưu lại mật khẩu này để khi đăng nhập vào máy chủ nó sẽ hỏi
Hiện nay, người dùng có thể sử dụng khóa công khai và khóa bí mật để đăng nhập vào máy chủ, đồng thời có thể vô hiệu hóa chức năng đăng nhập bằng mật khẩu nhằm tăng cường bảo mật.
- Ghi nhật ký (log files): log files sẽ được lưu trữ tập trung trong thư mục /var/log
Trong phần này tôi sẽ thực hiện một số cấu hình cho máy chủ Apache để đảm bảo an toàn
- Thực hiện gỡ bỏ những thành phần sau mod_userid, mod_info, mod_status, mod_include ra khỏi Apache do những thành phần này không cần thiết
Điều khiển truy cập là một quy trình quan trọng nhằm quản lý quyền truy cập vào các thư mục hệ thống Bằng cách sử dụng các chỉ mục (Directory), người quản trị có thể hạn chế quyền thâm nhập vào các thư mục nhạy cảm như root, admin và administrator Đặc biệt, cần ngăn chặn việc duyệt qua thư mục root để bảo vệ hệ thống Cấu hình này được thiết lập trong tập tin httpd.conf, cụ thể là thông qua lệnh vi /etc/httpd/conf/httpd.conf.
order deny, allow deny from all
order allow, deny allow from all
Không cho hiển thị danh sách trong các thư mục
To enhance website security, limit the use of MultiViews, ExecCGI, FollowSymLinks, and SymLinksIfOwnerMatch by modifying the httpd.conf file (e.g., Directory /> Options -FollowSymLinks ) Adjust these options in the htaccess file when necessary (e.g., options +FollowSymLinks) Additionally, protect the htaccess configuration files by setting the chmod permission to 644.
- Ghi nhật ký: nhật ký Error Log được ghi trong mục /var/log/httpd/error_log, cấu hình nhật ký Access Log /var/log/httpd/access_log
LogLevel notice LogFormat “%a %l %u %t \’’%r\’’ %>s %O \”%{Referer}i\” \”%{User- Agent}i\”” combined
CustomLog log/access_log combined
- Hạn chế các thông tin về Web Server:
- Điều chỉnh các thông số như dưới đây để tối ưu để bảo vệ tấn công từ chối dịch vụ
Timeout 100 KeepAlive On MaxKeepAliveRequests 500 KeepAliveTimeout 15 LimitRequestline 512 LimitRequestFields 100 LimitRequestFieldsize 1024
LimitRequestBody được đặt là 102400, trong khi TimeOut xác định thời gian chờ của máy chủ cho một kết nối, với giá trị mặc định là 300 giây MaxKeepAliveRequests quy định số lượng yêu cầu tối đa có thể thực hiện cho mỗi kết nối, và KeepAliveTimeout chỉ định thời gian chờ trước khi đóng một kết nối.
LitmitRequestFields: giới hạn số lượng HTTP Request header được chấp nhận bởi client LimitRequestFieldsize: giới hạn kích thước HTTP request header
LimitRequestBody: giới hạn kích thước yêu cầu
- Sử dụng phiên bản MySql 5.5.41 mới nhất hiện tại
- Đã gỡ bỏ những cơ sở dữ liệu không cần thiết, chỉ sử dụng cơ sở dữ liệu cần thiết là demo
Khóa tất cả các kết nối từ hệ thống hoặc ứng dụng bên ngoài, chỉ cho phép kết nối từ ứng dụng web và máy chủ web, nhằm ngăn chặn mọi kết nối trực tiếp từ Internet đến cơ sở dữ liệu.
- Giới hạn truy cập đối với các tài khoản sử dụng (không có quyền xóa hoặc thay đổi cấu trúc cơ sở dữ liệu)
- Phân quyền cho các tài khoản và các tập tin hệ thống
- Thực hiện gỡ bỏ các tài khoản không cần thiết, thay đổi mật khẩu của tài khoản (root, admin của MySQL)
- Cấu hình thực hiện việc sao lưu cơ sở dữ liệu hàng tuần vào 5 giờ sáng ngày thứ
Cài đặt tường lửa ứng dụng web ModSecurity
Để bảo vệ máy chủ khỏi các cuộc tấn công, tôi đã nghiên cứu về tường lửa và tường lửa ứng dụng web ModSecurity Bài viết này sẽ hướng dẫn cách triển khai thiết lập tường lửa, cài đặt ModSecurity và cấu hình bộ luật cho mod_security, sử dụng bộ luật Core rules set của OWASP để phát hiện và ngăn chặn các tấn công vào những lỗi phổ biến trên ứng dụng web.
Bước 1: Cài đặt các thư viện cần thiết trước khi cài đặt ứng dụng:
[root@vanbien ~]# yum install openssl openssl-devel pcre pcre-devel libxml2 libxml2- devel curl-devel pcre pcre-devel expat expat-devel
Bước 2: Tải mod_security từ trang chủ về máy chủ:
[root@vanbien ~]# cd /usr/local/src [root@vanbien src]# mkdir modsecurity2 [root@vanbien src]# cd modsecurity2 [root@vanbien modsecurity2]# wget https://www.modsecurity.org/tarball/2.9.0/modsecurity-2.9.0.tar.gz
[root@vanbien modsecurity2]# tar xzfv modsecurity-2.9.0.tar.gz [root@vanbien modsecurity2]# cd modsecurity-2.9.0
Bước 3: Tiến hành cài đặt mod_security:
[root@vanbien modsecurity-2.9.0]# /configure make make install
Bước 4: Cấu hình ModSecurity rất quan trọng để quản lý và bảo trì dữ liệu Trước khi cấu hình, tôi sẽ tạo danh sách các thư mục theo định dạng sẵn, giúp dễ dàng quản lý dữ liệu mà ModSecurity tạo ra Các tập tin cấu hình sẽ được lưu trữ tại /opt/modsecurity và /etc, hỗ trợ trong việc cập nhật các luật mới cho ModSecurity.
Nhật ký: /opt/modsecurity/var/log Các tập tin tạm thời: /opt/modsecurity/var/tmp Tập tin tải lên: /opt/modsecurity/var/upload
Thực hiện tạo tập tin modsecurity.conf trong thư mục /etc/httpd/conf.d với nội dung:
Include /opt/modsecurity/etc/main.conf Include /opt/modsecurity/etc/rules.conf
Tạo một tập tin cấu hình mẫu cho ModSecurity bằng cách sao chép từ tập tin đề nghị có sẵn trong thư mục chứa mã nguồn của ModSecurity.
[root@vanbien modsecurity-2.9.0]# cp /usr/local/src/mosecurity2/modsecurity-2.9.0 modsecurity.conf-recommended /opt/modsecurity/etc/main.conf
Chép tập tin unicode.mapping tới thư mục sau:
[root@vanbien ~]# cp /usr/local/src/modsecurity2/modsecurity-2.9.0/unicode.mapping /opt/modsecurity/etc/
Bước 5: Thêm những dòng sau vào bên dưới dòng LoadModulefile trong file /etc/httpd/conf/httpd.conf:
LoadFile /usr/local/lib/libxml2.so LoadModule security2_module /usr/lib/apache/mod_security2.so Include /etc/httpd/conf.d/modsecurity.conf
Lưu và khởi động lại Apache với lệnh: service httpd restart Bước 6: Kiểm tra hoạt động của Modsecurity
Sau khi hoàn thành phần cấu hình, tôi sẽ kiểm tra hoạt động của ModSecurityuriy bằng một luật đơn giản như sau:
#vi /opt/modsecurity/etc/rules.conf
SecRule REQUEST_URI "dangerous" "id:'900721'phase:1,deny,status:406"
Luật trên hoạt động trong trường hợp khi một người dùng cố truy cập vào URI có chứa mẫu nguy hiểm, thì Modsecurity sẽ trả về mã lỗi 406
[root@vanbien ~]# curl -I http://www.hoangchinhthang.com/?user=1 order by 1,2,4 HTTP/1.1 406 Not Acceptable
Date: Tue, 16 Jun 2015 09:11:07 GMT Server: Apache
Connection: close Content-Type: text/html; charset=iso-8859-1 curl: (6) Couldn't resolve host '1,2,4'
Bước 7: Cấu hình tập luật cho ModSecurity sử dụng tập luật được phát triển bởi OWASP:
[root@vanbien modsecurity-2.9.0]# mkdir /etc/modsecurity2 [root@vanbien modsecurity-2.9.0]# cd /etc/modsecurity2 [root@vanbien modsecurity2]# wget https://github.com/SpiderLabs/owasp- modsecurity-crs/archive/master.zip
[root@vanbien modsecurity2]# unzip master [root@vanbien modsecurity2]# mv owasp-modsecurity-crs-master/* [root@vanbien modsecurity2]# rm -rf master.zip owasp-modsecurity-crs-master
Chép tập tin modsecurity_crs_10_setup.conf đến thư mục opt/modsecurity:
[root@vanbien modsecurity2]# cp modsecurity_crs_10_setup.conf.example /opt/modsecurity/modsecurity_crs_10_setup.conf
[root@vanbien modsecurity2]# mkdir -p /opt/modsecurity/etc/crs/activated_rules
Tạo liên kết giữa base_rules, optional_rules với activated_rules
To activate the ModSecurity rules, use the command `for f in 'ls base_rules/' ; do sudo ln -s /etc/modsecurity2/base_rules/$f /opt/modsecurity/etc/crs/activated_rules/$f ; done` to create symbolic links for the base rules Additionally, run `for f in 'ls optional_rules/' ; do sudo ln -s` to link the optional rules as well.
/etc/modsecurity2/optional_rules/$f /opt/modsecurity/etc/crs/activated_rules/$f ; done
Chỉnh sửa tập tin cấu hình modsecurity trong /etc/httpd/conf.d:
[root@vanbien modsecurity2]# vi /etc/httpd/conf.d/modsecurity.conf
Include /opt/modsecurity/etc/main.conf Include /opt/modsecurity/etc/modsecurity_crs_10_setup.conf Include /opt/modsecurity/etc/crs/activated_rules/*.conf
Bước 8: Kiểm tra hoạt động của modsecurity [root@vanbien activated_rules]# tail -f /var/log/httpd/error_log [Wed Jun 17 11:01:07.004120 2015] [:notice] [pid 29216:tid 139831424718784]
ModSecurity: StatusEngine call: "2.9.0,Apache/2.4.12 (Unix)
Open,1.5.1/1.5.1,8.20/8.20 2011-10- 21,(null),2.9.2,73df89cdb92a3eaebd84113418437c233c3636e4"
[Wed Jun 17 11:01:15.027120 2015] [:notice] [pid 29216:tid 139831424718784] ModSecurity: StatusEngine call successfully sent For more information visit: http://status.modsecurity.org/
Bước 9: Tạo tập luật chặn tấn công Session Hijacking và đưa vào activated_rules: [root@vanbien modsecurity2]# cd /opt/modsecurity/etc/crs/activated_rules
[root@vanbien activated_rules]# touch modsecurity_ session_hijacking.conf
Thêm các luật phòng chống session_hijacking vào tập tin modsecurity_session_hijacking.conf
[root@vanbien activated_rules]# vi modsecurity_ session_hijacking.conf Sau đó lưu lại, thử nghiệm và kiểm tra tập tin log trong /opt/modsecurity/var/log:
[www.hoangchinhthang.com/sid#1159438][rid#7fe4d0013 140][/][2] Warning
Operator EQ matched 1 at SESSION:IS_NEW [file "/opt/modsecu rity/etc/crs/activated_rules/ modsecurity_ session_hijacking.conf"] [line " 24"] [id
Sau khi hoàn tất tiến trình cài đặt mod_security, tôi tiến hành cấu hình tường lửa iptables trên máy chủ cơ sở dữ liệu Mục tiêu là chỉ cho phép máy chủ web và máy chủ ứng dụng kết nối đến máy chủ cơ sở dữ liệu thông qua cổng 3306.
/sbin/iptables -A INPUT -i eth0 -s 123.30.209.22 -p tcp –destination-port 3306 -j ACCEPT
Thiết lập hệ thống Snort để phát hiện và ngăn chặn xâm nhập
To identify the network interface communication, use the ifconfig command with the interface eth1 Next, download the following library files into the /usr/local/src directory: libdnet-1.11.tar.gz, daq-2.0.4.tar.gz, snort-2.9.7.2.tar.gz, and snortrules-snapshot-2972.tar.gz.
Chúng tôi sẽ sử dụng bộ luật có sẵn của Snort trong môi trường thực nghiệm, được tải về từ trang web www.snort.org Tập tin chứa bộ luật này có tên là snortrules-snapshot-2972.tar.gz.
Bước 1: Cài đặt thư viện libpcap-devel và libdnet-devel
To download the necessary libraries, use the following commands:```bashwget http://mirror.centos.org/centos/6/os/x86_64/Packages/libpcap-devel-1.4.0-1.20130826git2dbcaa1.el6.x86_64.rpmwget http://pkgs.repoforge.org/libdnet/libdnet-devel-1.11-1.2.el6.rf.x86_64.rpm``` These commands will fetch the `libpcap-devel` and `libdnet-devel` packages from their respective repositories.
Giải nén các thư viện: cd /usr/local/src tar -zxvf libdnet-1.11.tar.gz tar -zxvf daq-2.0.4.tar.gz tar -zxvf snort-2.9.7.2.tar.gz
To configure, compile, and install libdnet on CentOS 6.6, navigate to the libdnet directory using the command `cd /usr/local/src/libdnet-1.11` Then, run `./configure with-pic`, followed by `make` and `make install` to build and install the library Finally, update the library cache by executing `cd /usr/local/lib` and `ldconfig -v /usr/local/lib`.
Bước 3: Cấu hình, biên dịch và cài đặt DAQ-2.0.4 cho CentOS 6.6: cd /usr/local/src/daq-2.0.4 /configure make make install cd /usr/local/lib ldconfig -v /usr/local/lib
To configure, compile, and install SNORT 2.9.7.2 on CentOS 6.6, navigate to the SNORT source directory using `cd /usr/local/src/snort-2.9.7.2` Run the configuration command with `./configure enable-sourcefire`, followed by `make` to compile the software, and `make install` to complete the installation Finally, update the library cache by executing `cd /usr/local/lib` and `ldconfig -v /usr/local/lib`.
Bước 5: Tạo liên kết cho thư viện libdnet vào các thư mục: ln -s /usr/local/lib/libdnet.1 /usr/lib/ ln -s /usr/local/lib/libdnet.1 /usr/lib64/
To configure Snort, navigate to the /etc/snort/ directory where all configuration files and rules will override the default settings Begin by creating the snort directory with `mkdir -p snort`, then copy the necessary files from the Snort installation directory using `cp /usr/local/src/snort-2.9.7.2/etc/* ` Extract the Snort rules from the compressed file with `tar -zvxf /usr/local/src/snortrules-snapshot-2972.tar.gz` and copy the rules to the current directory Finally, create the white_list.rules and black_list.rules files in the /etc/snort/rules/ directory by executing `touch /etc/snort/rules/white_list.rules` and `touch /etc/snort/rules/black_list.rules`.
Để tạo nhóm và người dùng mới cho Snort, bạn cần thực hiện các bước sau: sử dụng lệnh `groupadd -g 40000 snort` để tạo nhóm mới với tên là snort Tiếp theo, tạo người dùng mới bằng lệnh `useradd snort -u 40000 -d /var/log/snort -s /sbin/nologin -c SNORT_IDS -g snort` Sau đó, chuyển đến thư mục Snort với lệnh `cd /etc/snort`, và thay đổi quyền sở hữu cho tất cả các tệp trong thư mục bằng lệnh `chown -R snort:snort *` và `chown -R snort:snort /var/log/snort`.
Step 8: Modify the configuration file located at /etc/snort/snort.conf by setting the following variables: define RULE_PATH as /etc/snort/rules, set HOME_NET to 123.30.209.22, define EXTERNAL_NET as not equal to HOME_NET, and specify SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATH, and BLACK_LIST_PATH all as /etc/snort/rules.
Bước 9: Thay đổi quyền sở hữu cho tài khoản "snort" và nhóm "snort", đồng thời thiết lập quyền truy cập cho các tập tin và thư mục liên quan đến snort và daq Thực hiện các lệnh sau: cd /usr/local/src, chown -R snort:snort daq-2.0.4, chmod -R 700 daq-2.0.4, chown -R snort:snort snort-2.9.7.2, chmod -R 700 snort-2.9.7.2, chown -R snort:snort snort_dynamicsrc, và chmod -R 700 snort_dynamicsrc.
To set up Snort to start with the system, navigate to the Snort directory using the command `cd /usr/local/src/snort-2.9.7.2/rpm/snortd` Copy the Snort startup script to the init.d directory with `cp snortd /etc/init.d/`, and then change its permissions to make it executable by running `chmod 755 /etc/init.d/snortd` Finally, enable the Snort service to start on boot using `chkconfig snortd on` and add it to the system's startup configuration with `chkconfig add /etc/init.d/snortd`.
Step 11: Create a symbolic link for the Snort binary file to /usr/sbin/snort, as the Snort binary is located at /usr/local/bin/snort Navigate to /usr/sbin and execute the command: ln -s /usr/local/bin/snort snort.
- Tạo một tập tin tên snort nằm trong /etc/sysconfig có nội dung:
CONF=/etc/snort/snort.conf USER=snort
#### Logging & Alerting LOGDIR=/var/log/snort ALERTMODEt DUMP_APP=1 BINARY_LOG=1 NO_PACKET_LOG=0 PRINT_INTERFACE=0
- Xác lập quyền truy cập đối với tập tin snort vừa tạo ra ở trên cd /etc/sysconfig chmod -R 700 snort
Bước 13: Tạo thư mục ghi nhật ký cho tài khoản “snort” và nhóm “snort” bằng cách thực hiện các lệnh sau: vào thư mục /var/log và tạo thư mục snort với quyền truy cập 700 Thay đổi quyền sở hữu cho thư mục snort và các tệp liên quan trong /usr/local/lib và /usr/local/bin để đảm bảo tài khoản snort có quyền truy cập đầy đủ Cuối cùng, trong thư mục /etc, thay đổi quyền sở hữu và quyền truy cập cho thư mục snort để hoàn tất quá trình cấu hình.
Bước 14: Kiểm tra trạng thái của snort
- Chạy để kiểm thử cấu hình của snort: cd /usr/local/bin /snort -T -i eth1 -u snort -g snort -c /etc/snort/snort.conf
- Chạy snort ở chế độ kiểm thử cd /usr/local/bin /snort -A fast -b -d -D -i eth1 -u snort -g snort -c /etc/snort/snort.conf -l /var/log/snort
- Kiểm tra snort đang chạy ở chế độ kiểm thử hay không: ps aux | grep -i "snort"
Kết quả: ở chế độ kiểm thử snort đang chạy root 5414 0.0 0.0 103316 880 pts/1 s+ 22:25 0:00 grep –i snort
- Kiểm tra trạng thái của snort
Kết quả: snort đang chạy snort (pid 14313) is running
Bước 15: Kiểm tra hoạt động của snort
To enhance your Snort configuration, add the following new rule to the local.rules file located in the /etc/snort/rules/ directory: `alert icmp any any any any (msg:"ICMP test"; classtype:bad-unknown; sid:10000016; rev:1;)` This rule will trigger an alert for any ICMP traffic, helping to improve network security monitoring.
Kết quả từ Snort sẽ được ghi lại trong tập tin alert tại thư mục /var/log/snort/ Để kiểm tra nội dung của tập tin alert, bạn có thể sử dụng lệnh: tail -f /var/log/snort/alert.
Potentially Bad Traffic] [Priority: 2] {ICMP} 123.30.209.22 -> 185.35.62.47
Đánh giá và khuyến nghị
Thực hiện các biện pháp đã nghiên cứu và thử nghiệm sẽ giúp đảm bảo an toàn cho các cổng/trang thông tin điện tử, giảm thiểu rủi ro mất an toàn thông tin Những biện pháp này có khả năng phòng chống các loại tấn công vào những lỗi phổ biến, từ đó giảm nguy cơ và thiệt hại do tấn công từ chối dịch vụ Hơn nữa, việc phát hiện sớm các dấu hiệu tấn công sẽ cho phép có những ứng phó kịp thời, bảo vệ hệ thống hiệu quả hơn.
Khi lựa chọn giải pháp an ninh cho cổng/trang thông tin điện tử, các cơ quan, tổ chức nên căn cứ vào điều kiện cụ thể để chọn cấu trúc triển khai phù hợp Đối với các đơn vị lớn có đủ nhân lực và hạ tầng, mô hình n lớp là lựa chọn tối ưu để đảm bảo an toàn và phục vụ nhiều người dùng Nếu không đủ điều kiện cho mô hình n lớp, mô hình ba lớp cũng là sự lựa chọn hợp lý, giúp dễ dàng vận hành và phòng chống tấn công Tối thiểu, nên áp dụng mô hình hai lớp để tăng cường bảo mật và vận hành hiệu quả Tránh xây dựng theo mô hình một lớp, vì điều này có thể dẫn đến rủi ro lớn khi một máy chủ bị tấn công sẽ ảnh hưởng đến các máy chủ khác, đồng thời gây khó khăn trong việc triển khai các biện pháp bảo vệ.
Trong luận văn này, tôi đã trình bày và phân tích mô hình cùng các giải pháp cơ bản để đảm bảo an ninh cho cổng/trang TTĐT, bao gồm việc lựa chọn mô hình triển khai và cấu hình cần thiết trên máy chủ Tôi cũng nghiên cứu các lỗ hổng phổ biến và phân tích các hình thức tấn công từ chối dịch vụ nhằm vào cổng/trang TTĐT, đồng thời đề xuất các biện pháp phòng chống Ngoài ra, tôi giới thiệu hai ứng dụng phòng thủ miễn phí là tường lửa ứng dụng web ModSecurity và hệ thống phát hiện xâm nhập Snort, giúp phát hiện và ngăn chặn các tấn công hiệu quả, đồng thời cho phép phát triển tập luật bảo vệ.
Đảm bảo an ninh an toàn cho các cổng/trang TTĐT là rất quan trọng và cần thực hiện đồng bộ nhiều biện pháp theo quy trình đã đề ra Một trong những biện pháp hiệu quả là kiểm tra tính bảo mật bằng cách dò quét lỗ hổng và thực hiện tấn công thử Luận văn này sẽ là tài liệu tham khảo hữu ích cho các cơ quan, doanh nghiệp trong việc thiết lập hệ thống an ninh cho các cổng/trang TTĐT của mình.
Kết quả luận văn có thể được sử dụng làm tài liệu tham khảo trong việc xây dựng hệ thống đảm bảo an ninh cho các cổng/trang TTĐT của cơ quan, doanh nghiệp Luận văn giúp kiểm tra và phát hiện các lỗi phổ biến trên cổng/trang TTĐT, từ đó tổ chức phòng chống tấn công hiệu quả Ngoài ra, nó cung cấp kiến thức cho các quản trị viên về tấn công từ chối dịch vụ và các biện pháp phòng ngừa.
Các kết quả cụ thể đã đạt được của luận văn gồm:
1 Nghiên cứu tổng quan về cổng TTĐT, các dạng lỗi phổ biến trên cổng/trang TTĐT, một số hình thức tấn công vào tính năng xác thực một lần, mức độ nguy hiểm của các lỗ hổng và cách phòng chống
2 Nghiên cứu cấu trúc triển khai ứng dụng web và đưa ra ưu, nhược điểm của từng mô hình Giúp xác định và lựa chọn được mô hình triển khai cổng/trang TTĐT một cách phù hợp
3 Nghiên cứu cách tổ chức mô hình mạng hợp lý, đưa ra các mô hình có thể áp dụng vào triển khai đảm bảo an ninh an toàn cho cổng/trang TTĐT
4 Nghiên cứu và đưa ra được các khuyến nghị trong việc thiết lập, triển khai tường lửa một cách hợp lý và sử dụng được tường lửa ứng dụng web mod_security giúp ngăn chặn các loại tấn công phổ biến
5 Đưa ra những kiến thức tổng quan về hệ thống phát hiện và ngăn chặn xâm nhập Nghiên cứu, triển khai được hệ thống phát hiện và ngăn chặn xâm nhập snort giúp đảm bảo an toàn cho hệ thống
6 Nghiên cứu và triển khai, thiết lập, cấu hình hệ thống điều hành, hệ thống máy chủ an toàn cũng như việc sao lưu và phục hồi dữ liệu
7 Chính sách vận hành một cách an toàn, khuyến nghị xây dựng nguồn nhân lực để vận hành an toàn, sẵn sàng ứng phó với các cuộc tấn công
8 Phân tích loại hình tấn công từ chối dịch vụ và các dạng của loại hình tấn công này Đồng thời cũng có những biện pháp phòng chống dạng tấn công này
9 Triển khai một số biện pháp cơ bản đã nghiên cứu trên hệ thống thực, đồng thời đưa ra những đánh giá và khuyến nghị trong việc thực hiện những giải pháp đảm bảo an ninh an toàn cho các cổng/trang TTĐT
Luận văn đã hoàn thành các yêu cầu và mục tiêu đề ra, tuy nhiên vẫn còn nhiều thiếu sót do thời gian hạn chế Trong tương lai, tôi dự định tiếp tục nghiên cứu và phát triển các giải pháp nhằm xây dựng mô hình chuẩn hiệu quả cho việc đảm bảo an ninh an toàn cho các cổng/trang TTĐT Bên cạnh đó, tôi sẽ phát triển tập luật của tường lửa ứng dụng web mod_security và hệ thống phát hiện và ngăn chặn xâm nhập snort để nâng cao khả năng phòng chống tấn công cho hệ thống.
1 Bộ công an (2011), An toàn thông tin và công tác phòng chống tội phạm sử dụng công nghệ cao, Nhà xuất bản Công an nhân dân, Hà Nội Tr 258-266, 286-716
2 Nguyễn Ngọc Cường (2012), Tin học ứng dụng trong điều tra tội phạm, Nhà xuất bản Công an nhân dân, Hà Nội Tr.181-186, 302-315
3 Tô Nguyễn Nhật Quang, Các kỹ thuật tấn công DoS, DDoS, DRDoS & Botnet
4 Nguyễn Đức Quỳnh, “Portal là gì? – Cổng thông tin điện tử”, ttvnol.com
5 Hồ Văn Hương, Đào Thị Ngọc Thùy (2013), “ứng dụng hệ thống kiểm soát truy nhập mạng theo mô hình truy nhập một lần”, Tạp chí An toàn thông tin
6 Chính Phủ (2013), Nghị định 72/2013/NĐ-CP của chính phủ về Quản lý, cung cấp, sử dụng dịch vụ internet và thông tin trên mạng, Hà Nội
7 Bộ Thông tin và Truyền thông (2011), hướng dẫn đảm bảo an toàn thông tin cho các cổng/trang thôn tin điện tử, Hà Nội
8 Chính Phủ (2007), Nghị định 64/2007/NĐ-CP của Chính phủ về Ứng dụng công nghệ thông tin trong hoạt động của cơ quan nhà nước, Hà Nội
1 William Stalling, Lawrie Brown (2012), Computer Security Principles and Practice Second Edition, University of New South Wales, Australian Defence
2 Stephen Northcutt, Judy Novak (2002), Network Intrusion Detection Third Edition, America
3 NIST (2010), Guide to Intrusion Detection and Prevention Systems (IDPS)
4 Ph.D.Wm Athur Conklin, Ph.D CompTIA ComTIA Security,Principles of
Computer Security CompTIA Security and Beyond Lab Manual Second Edition,
Vincent Nestler CompTIA Security+ Gregory White, CISSP
5 Issues Concerning The OWASP Top Ten 2013, www.owasp.org
6 ModSecurity Open Source Web Application Firewall, www.modsecurity.org
8 Andrew R Baker Brian Caswell Mike Poor (2004), Snort 2.1 Intrusion Detection
9 Rafeeq Ur Rehman (2003), Intrusion Detection Systems with Snort Advanced IDS
Techniques Using Snort, Apache, MySQL, PHP, and ACID,Prentice Hall PTR
10 Christian Wege (2004), “Portal Server Technology”, IEEE Internet Computing
11 Stephen Specht and Ruby Lee, Distributed Denial of Service Networks, Attacks,
Tools and Countermeasures, Princeton University
PHỤ LỤC 1: THÔNG TIN THAM KHẢO VỀ CÁC TƯỜNG LỬA
- Checkpoint (http://www.checkpoint.com)
- Juniper (http://www.juniper.net)
- Cisco (http://www.cisco.net)
- Astaro (http://www.astaro.com
- Paloalto (http://www.paloaltonetworks.com)
2 Tường lửa phần mềm mềm
- Bản thương mại: o Microsoft Internet Security and Acceleration (ISA) Server (http://www.microsoft.com)
There are several free and open-source firewall solutions available, including Netfilter/iptables, pfSense, IPCop, Shorewall, SmoothWall, and Vyatta Each of these options offers unique features and capabilities for network security management For more information, you can visit their respective websites: Netfilter/iptables (http://www.netfilter.org), pfSense (http://www.pfsense.org), IPCop (http://www.ipcop.org), Shorewall (http://shorewall.net), SmoothWall (http://www.smoothwall.org), and Vyatta (http://www.vyatta.org).
3 Tường lửa ứng dụng web (WAF)
- Các phiên bản mã nguồn mở WAF phổ biến: o WebKnight (http://www.aqtronix.com/?PageID) o ModSecurity (http://modsecurity.org) o URLScan (http://www.iis.net/download/urlscan)
In addition to well-known commercial WAF solutions, several notable options include Hypergouard, WebDefend, NetScaler application firewalls, Eeye’s SecureIIS, and Appwall These products offer robust web application security features to protect against various online threats.
PHỤ LỤC 2: TƯỜNG LỬA ỨNG DỤNG WEB ModSecurity