BỘ GIÁO DỤC VÀ ĐÀO TẠO TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --- Báo cáo BTL-Nhóm 4 Đề tài: Các biện pháp bảo mật máy chủ web, ứng dụng web và
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
Báo cáo BTL-Nhóm 4
Đề tài: Các biện pháp bảo mật máy chủ web, ứng dụng web
và trình duyệt web.Demo chiếm phiên làm việc của người
dùng web
Giảng Viên : Hoàng Xuân Dậu Sinh Viên Báo Cáo : Hoàng Tiến Hảo Hoàng Huy Hoàng Nguyễn Văn Hùng Phạm Duy Hùng Nguyễn Văn Hưng
HÀ NỘI – 2017
Trang 2Danh sách thành viên nhóm
Trang 3Mục Lục
Danh sách thành viên nhóm 2
Mục Lục 3
1.Giới thiệu 5
2.Bảo mật trình duyệt web 6
2.1.Giới thiệu trình duyệt web 6
2.2.Kiến trúc của trình duyệt 6
2.3.Tại sao trình duyệt web lại quan trọng ? 7
2.4.Các nguy cơ có thể gặp đối với trình duyệt web 7
2.5.Mục đích tấn công trình duyệt 7
2.6.Các biện pháp bảo mật đối với trình duyệt 7
2.6.1Cài đặt các trình anti virus 8
2.6.2Đừng bao giờ click vào các pop-up hay các cảnh báo virus xuất hiện trên trình duyệt 8
2.6.3Tăng cường cho trình duyệt 8
3.Bảo mật máy chủ web 9
3.1.Giới thiệu máy chủ web 9
3.2.Các lỗ hổng trong cấu hình máy chủ và phần mềm máy chủ web 10
3.2.1.Các lỗ hổng trong cấu hình máy chủ web 10
3.2.2.Các lỗ hổng trong phần mềm máy chủ web 10
3.3.Biện pháp bảo mật đối với máy chủ web 11
3.3.1 Gỡ bỏ các dịch vụ không cần thiết 11
3.3.2.Truy cập từ xa 11
3.3.3.Độc lập giữa các môi trường phát triển, kiểm thử và thương mại 11
3.3.4.Phân vùng tập tin ứng dụng web và tập tin máy chủ web 11
3.3.5.Quyền và đặc quyền 11
3.3.6.Cài đặt tất các các gói bảo mật mới nhất 12
3.3.7.Giám sát và kiểm tra máy chủ 12
3.3.8.Sử dụng tài khoản 12
3.3.9.Loại bỏ tất cả các modules và ứng dụng mở rộng không sử dụng 12
3.3.10.Sử dụng công cụ bảo mật đối với phần mềm máy chủ web 12
3.3.11.Cập nhật thông tin 12
3.3.12.Sử dụng máy quét 12
4.Bảo mật ứng dụng web 13
4.1.Giới thiệu ứng dụng web 13
Trang 44.1.2.Mô hình hoạt động của một ứng dụng web 14
4.2.Tại sao bảo mật ứng dụng web lại quan trọng ? 14
4.3.Các nguy cơ bảo mật đối với ứng dụng web 14
4.4.Nguyên tắc của bảo mật ứng dụng web 15
4.5.Các biện pháp bảo mật ứng dụng web 15
4.5.1.Các đề xuất bảo mật ứng dụng web cơ bản: 15
4.5.2.Chạy ứng dụng web với đặc quyền tối thiểu 16
4.5.3.Xác định người dùng 16
4.5.4.Bảo vệ chống lại dữ liệu đầu vào nguy hiểm 16
4.5.5.Truy cập CSDL an toàn 17
4.5.6.Tạo thông báo lỗi an toàn 17
4.5.7.Đảm bảo các thông tin nhạy cảm an toàn 17
4.5.8.Sử dụng cookies an toàn 17
4.5.9.Bảo vệ chống lại các mối đe dọa từ chối dịch vụ 17
5.Demo chiếm phiên làm việc 18
6.Kết luận 18
7.Tài liệu tham khảo 18
Trang 51.Giới thiệu
Mô hình hoạt động giữa trình duyệt, máy chủ và ứng dụng web
Quy trình hoạt động của quá trình truy cập web:
Khi người dùng thao tác trên trình duyệt (có thể là tìm kiếm, gửi tài liệu, download …), trình duyệt sẽ gửi các yêu cầu này tới máy chủ web Tại máy chủ web, các ứng dụng web tương ứng (gọi chung là dịch vụ web) sẽ được sử dụng để thực hiện yêu cầu từ phía người dùng Quá trình này có thể bao gồm các thao tác truy vấn đến CSDL và sau đó gửi trả lại phía trình duyệt cho người dùng
Nếu như thường xuyên đọc sách về chủ đề bảo mật web, có thể bạn sẽ không bao muốn giờ đăng nhập vào máy tính nữa Có vô số cách khiến thông tin cá nhân của bạn bị đánh cắp, chẳng hạn như máy tính bị dính virus hoặc malware, hoặc đơn giản hơn như việc click vào 1 liên kết trên trang web hoặc email Máy tính bị nhiễm các phần mềm độc hại có thể chạy chậm, tự động tải các phần mềm không mong muốn khác
mà không có sự cho phép hoặc truy cập thông tin cá nhân của bạn
Báo cáo dưới đây sẽ giúp bạn có cái nhìn tổng quan về hoạt động của các máy chủ web, trình duyệt và ứng dụng web.Bên cạnh đó, báo cáo sẽ tập trung vào việc chỉ ra các nguy cơ mất an toàn và đặc biệt là các giải pháp bảo mật đối với chúng
Trang 62.Bảo mật trình duyệt web
2.1.Giới thiệu trình duyệt web
Trình duyệt web là một phần mềm ứng dụng cho phép người sử dụng xem và tương tác với các văn bản, hình ảnh, đoạn phim, nhạc, trò chơi và các thông tin khác ở trên một trang web của một địa chỉ web trên mạng toàn cầu hoặc mạng nội bộ Văn bản và hình ảnh trên một trang web có thể chứa siêu liên kết tới các trang web khác của cùng một địa chỉ web hoặc địa chỉ web khác Trình duyệt web cho phép người sử dụng truy cập các thông tin trên các trang web một cách nhanh chóng và dễ dàng thông qua các liên kết
đó Trình duyệt web đọc định dạng HTML để hiển thị, do vậy một trang web có thể hiển thị khác nhau trên các trình duyệt khác nhau
Một số trình duyệt web thông dụng hiện nay:
1 MS Internet Explorer (Cài sẵn trên các máy tính windown)
2 Google Chrome
3 Mozilla Firefox (Cài sẵn trên các máy tính chạy hdh lilux)
4 Opera
5 Apple Safari (Trình duyệt mặc định )
Ngoài các trình duyệt kể trên chúng ta còn có một số trình duyệt khác như Avant Browser, Maxthon, Konqueror, Lynx, Flock, Arachne, Epiphany, K-Meleon, Midori và AOL Explorer nhưng chúng ít phổ biến hơn
2.2.Kiến trúc của trình duyệt
User interface : Giao diện tương tác giữa trình duyệt và người dùng, thường gồm có các thành phần như
menu quản lý, thanh địa chỉ, thanh công cụ, các tabs
Trang 7Browser Engine : Thành phần trung gian chuyển đầu vào từ User Interface đến Redering Engine Nó
chịu trách nhiệm truy vấn và xử lý Redering Engine theo các đầu vào từ các User Interface khác nhau
Redering Engine : Chịu trách nhiệm hiển thị nội dung được yêu cầu lên màn hình
Networking : Chịu trách nhiệm thực hiện các lời gọi dịch vụ mạng, như gửi yêu cầu http đến máy chủ
web
Java Script Interpreter : Chịu trách nhiệm diễn dịch và thực hiện mã JS trong trang web
UI Backend : Có nhiệm vụ vẽ các đối tượng trên trình duyệt như cửa sổ, combo box, danh sách, Data Storage : Một CSDL cục bộ lưu trên máy cài trình duyệt có nhiệm vụ lưu các dữ liệu cho trình
duyệt hoạt động như là các files cache, Cookies, History,
2.3.Tại sao trình duyệt web lại quan trọng ?
Ngày nay, trình duyệt web là một trong những phần mềm được sử dụng nhiều nhất trên máy tính Mặc dù trình duyệt chỉ có chức năng đơn giản là hiển thị các tài liệu văn bản, tìm kiếm, xem, sửa các tài liệu video, âm thanh, hình ảnh hoặc một số tài liệu khác trên internet, nhưng không may, chính nó lại là một trong các mục tiêu phổ biến của kẻ tấn công Tin tặc có thể khai thác nó để cài đặt các phần mềm độc hại vào máy tính một cách âm thầm, sửa lại hdh, quan trọng nhất là truy cập các tập tin bạn lưu trữ trên máy tính
Để dễ hình dung, bạn có thể coi máy tính là ngôi nhà của bạn, khi đó trình duyệt đóng vai trò là chiếc cửa
sổ Thông qua trình duyệt- tức cửa số, bạn có thể nhìn thấy thế giới internet bên ngoài nhưng nếu chiếc cửa sổ ấy không có các biện pháp bảo vệ đủ mạnh như khung sắt thì kẻ xấu có thể chui vào nhà và khoắng sạch đồ đạc của bạn qua chiếc cửa sổ đó
2.4.Các nguy cơ có thể gặp đối với trình duyệt web
Trình duyệt có thể gặp các nguy cơ bảo mật từ nhiều phía, tự bản thân nó, người dùng hoặc hdh nền Dưới đây là các nguy cơ có thể gặp đối với trình duyệt:
HDH nhiễm mã độc chạy như một tiến trình nền và mã độc có thể đọc/ sửa đổi không gian nhớ của trình duyệt trong chế độ đặc quyền
Bản thân trình duyệt bị tấn công
Các trình cắm(plug-in, add-on) của trình duyệt bị tấn công
Giao tiếp mạng của trình duyệt có thể bị chặn bắt ở bên ngoài máy
Nguy cơ từ các tính năng hỗ trợ
2.5.Mục đích tấn công trình duyệt
Trình duyệt web cung cấp cho chúng ta khả năng truy cập internet, nhưng nó cũng để lại một lỗ hổng cho
hệ thống của bạn Lỗ hổng đó cho phép tin tặc đánh cắp thông tin cá nhân của bạn, hiển thị các quảng cáo (pop-up), tiếp thị trên internet, theo dõi/ phân tích hoạt động duyệt web của bạn Nguy hiểm hơn, thông qua trình duyệt qqeb, tin tặc có thể cài đặt các phần mềm quảng cáo, virus, Trojan hay các công cụ khác như clickjacking, likejacking
2.6.Các biện pháp bảo mật đối với trình duyệt
Để bảo mật trình duyệt của bạn, các chuyên gia khuyến cáo bạn nên thực hiện các bước sau để duyệt web
an toàn hơn
Trang 82.6.1Cài đặt các trình anti virus
Các trình diệt virus hoạt động theo thời gian thực giúp bảo vệ và hạn chế nguy cơ lây nhiễm mã độc tấn công vào hẹ thống
2.6.2Đừng bao giờ click vào các pop-up hay các cảnh báo virus xuất hiện trên trình duyệt Các lỗ hổng của trình duyệt có xu hướng bị ảnh hưởng bởi 3 kênh sau: Chính trình duyệt, trình cắm thêm cho trình duyệt, plug-in hay phần mở rộng, hoặc bản thân người dùng Điều đó có nghĩa nếu các liên kết
mà người dùng click vào không đảm bảo an toàn là một trong những nguyên nhân gây nguy hại tro trình duyệt Nghiên cứu từ các chuyên gia bảo mật chỉ ra rằng, người dùng thường bị lừa bởi các cảnh báo bảo mật xuất hiện trên trình duyệt dưới dạng pop-up hay cảnh báo, và khi người dùng click vào và nghĩ mình đang thực hiện biện pháp bảo mật cho trình duyệt, trên thực tế họ đang tải về 1 virus
2.6.3Tăng cường cho trình duyệt
Có những hành động tương đối đơn giản mà bạn có thể làm để làm mạnh hoặc cải thiện tính bảo mật của trình duyệt và làm cho kẻ tấn công khó vượt qua Mặc dù các bước này sẽ không làm cho trình duyệt an toàn 100%, nhưng sẽ làm cho các cuộc tấn công vào nó trở nên khó khăn hơn nhiều Cụ thể, chúng ta có thể áp dụng các bước:
2.6.3.1.Cập nhật phiên bản mới nhất
Hành động đơn giản nhất bạn có thể tang tính bảo mật cho trình duyệt đó là nâng cấp lên phiên bản mới nhất Tất các các nhà cung cấp thường xuyên phát hành các bản vá, bản cập nhật cung cấp các chức năng mới hoặc cải tiến các tính năng hiện có Một số trình duyệt cũng bao gồm chức năng tự động cập nhật để thông báo tới bạn bất cứ khi nào có phiên bản mới phát hành Việc bạn cần làm đơn giản là bật chức năng
đó lên và thực hiện cập nhật ngay khi có thông báo
2.6.3.2.Tùy chỉnh các cài đặt liên quan đến bảo mật
Hầu hết các trình duyệt đều cho phép bạn tùy chỉnh các liên quan tới bảo mật Mặc dù có sự khác nhau giữa các trình duyệt nhưng các bạn cần quan tâm đến một số điểm chính dưới đây
Block reported attack / fake sites Nếu có, hãy bật tính năng này để ngăn chặn việc truy cập các
trang web độc hại
Cookies : Vô hiệu hóa hoặc chỉ chấp nhận khi bạn truy cập một trang web tin cậy có yêu cầu
cookies
Pop-up windows và JavaScript : Ngăn chặn chế độ tự động, chỉ bật với các trang web tin cậy
và yêu cầu trình duyệt hỏi mỗi khi được bật
Camera / microphone : Ngăn chặn việc chạy tự động và yêu cầu trình duyệt hỏi mỗi khi muốn
bật Camera / microphone
Plugins / add-ons : Ngăn chặn việc chạy tự động và yêu cầu trình duyệt hỏi mỗi khi muốn chạy
hoặc bật Plugins / add-ons
2.6.3.3.Sử dụng tài khoản giới hạn đặc quyền
Nếu có thể, chỉ sử dụng trình duyệt web từ tài khoản người dùng giới hạn không có đặc quyền của quản trị viên Bằng cách đó, ngay cả khi phần mềm độc hại có thể vượt qua trình duyệt web và lây nhiễm vào máy, nó sẽ có ít quyền tự do hơn để thao tác hệ thống
2.6.3.4.Gỡ các plug- in không sử dụng/ thêm các plug-in cần thiết để nâng cao bảo mật
Hành động này giúp tinh chỉnh trình duyệt của bạn để được an toàn nhất Các plug-in không dùng tới sẽ
bị gỡ bỏ, hạn chế nguy cơ từ tin tặc
Một số plug-in an ninh:
Trang 9 HTTPS Everywhere: cho phép luôn mở trang ở chế độ HTTPS (an toàn) nếu website có hỗ trợ
Web of Trust: Công cụ đánh giá độ an toàn của 1 trang web
LongURL.org: Hiển thị URL đầy đủ ẩn sau các link
2.6.4.Một số biện pháp bảo mật khác
Bạn cũng có thể thực hiện các bước bảo mật máy tính của mình bằng các bước sau:
Sử dụng một giải pháp chống virus uy tín như BKAV internet security, F-Secure
Sử dụng mạng riêng ảo VPN
Sử dụng công cụ tìm kiếm tập trung an toàn như F-Secure Search
Bật tường lửa
Bằng những cách này, bạn có thể xây dựng một rào cản “bảo vệ có chiều sâu” giúp máy tính không bị lạm dụng hoặc tấn công
3.Bảo mật máy chủ web
3.1.Giới thiệu máy chủ web
Web Server (máy chủ Web): máy chủ mà trên đó cài đặt phần mềm chạy Website, đôi khi người ta cũng gọi chính phần mềm đó là Web Server Tất cả các Web Server đều hiểu và chạy được các file *.htm và
*.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của
Microsoft dành cho *.asp, *.aspx…; Apache dành cho *.php…; Sun Java System Web Server của SUN dành cho *p…
Máy chủ Web là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác (các mã Script, các chương trình, và các file Multimedia)
Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP – giao thức được thiết kế để gửi các file đến trình duyệt Web (Web
Browser), và các giao thức khác
Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name Giả sử khi bạn đánh vào thanh Address trên trình duyệt của bạn một dòng http://ptit.edu.vn/ sau đó gõ phím Enter bạn sẽ gửi một yêu cầu đến một Server có Domain Name là www.ptit.edu.vn Server này sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt của bạn
Bất kỳ một máy tính – máy chủ nào cũng có thể trở thành một Web Server bằng cách cài đặt lên nó một chương trình phần mềm Server và sau đó kết nối vào Internet
Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn
Giống như những phần mềm khác mà bạn đã từng cài đặt trên máy tính của mình, Web Server Software cũng chỉ là một ứng dụng phần mềm Nó được cài đặt, và chạy trên máy tính – máy chủ dùng làm Web Server, nhờ có chương trình này mà người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng (Internet, Intranet).Web Server Software còn có thể được tích hợp với CSDL (Database), hay điều khiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên các trang Web và truyền tải chúng đến người dùng
Trang 10Một số máy chủ web thông dụng
Mozilla Apache web server
Microsoft Internet Information Services (IIS)
nginx (NGINX, Inc)
Google web services
IBM Websphere
Oracle web services
3.2.Các lỗ hổng trong cấu hình máy chủ và phần mềm máy chủ web
3.2.1.Các lỗ hổng trong cấu hình máy chủ web
Cấu hình máy chủ web cho phép thiết lập các tùy chọn cho phép điều khiển hoạt động của máy chủ web Các điểm yếu/lỗ hổng trong cấu hình máy chủ web:
Các tài khoản quản trị ngầm định: Hầu hết máy chủ web đều có các tài khoản quản trị ngầm định với mật khẩu yếu hoặc thậm chí không có mật khẩu
Các nội dung ngầm định : Nhiều phần máy chủ web được xuất xưởng kèm theo các nội dung mặc định, có thể là "đòn bẩy" giúp tin tặc tấn công máy chủ và các ứng dụng web
Liệt kê nội dung thư mục : Khi máy chủ web nhận được yêu cầu truy nhập là 1 thư mục, nếu trong thư mục không tồn tại trang mặc định, máy chủ web có thể trả về danh sách files nếu cho phép liệt kê thư mục Do nhiều files/thư mục có thể được cấu hình quyền truy nhập không phù hợp, việc cho phép duyệt nội dung thư mục, có thể giúp tin tặc tìm kiếm các thông tin hữu ích hỗ trợ tấn công
Các phương thức nguy hiểm : Ngoài các phương thức chuẩn gồm GET và POST, máy chủ web còn cung cấp một số phương thức "nguy hiểm" như:
PUT: cho phép tải các files lên máy chủ;
DELETE: cho phép xóa một tài nguyên (file/thư mục) COPY: cho phép sao chép một tài nguyên
MOVE : cho phép chuyển vị trí một tài nguyên SEARCH: cho phép tìm kiếm trên các file/thư mục
3.2.2.Các lỗ hổng trong phần mềm máy chủ web
Các lỗ hổng tràn bộ đệm (Buffer Overflow Vulnerabilities):
Là một trong các lỗ hổng điển hình có mức nghiêm trọng rất cao Cho phép tin tặc chèn và thực hiện mã độc từ xa, có thể giúp tin tặc giành quyền điều khiển hệ thống
Các lỗ hổng cho phép duyệt đường dẫn (Path Traversal Vulnerabilities):
Lỗ hổng dạng này thường xuất hiện khi các ứng dụng web thực hiện việc đọc/ghi vào hệ thống file dựa trên các tham số do người dùng cung cấp Nếu các thao tác đọc/ghi vào hệ thống file không được kiểm soát chặt chẽ, nó sẽ tạo điều kiện cho tin tặc lợi dụng Lỗ hổng có thể giúp tin tặc đánh cắp thông tin mật khẩu, logs, các dữ liệu nhạy cảm; ghi đè lên các dữ liệu quan trọng Trường hợp xấu nhất, tin tặc có thể giành quyền kiểm soát cả ứng dụng web và hệ thống
Các lỗ hổng trong mã hóa và chuẩn hóa
Các máy chủ web thường sử dụng các kỹ thuật mã hóa (encoding) để mã hóa dữ liệu (như base64) Các lỗi trong trong các bộ phận mã hóa và chuẩn hóa có thể tạo điều kiện cho tin tặc tấn công hệ thống