Tôi cần triển khai máy chủ có thể truy cập công khai từ internet. Các máy chủ có một nhiệm vụ rất đơn giản:Lựa chọn an toàn cho máy chủ web có tính năng nối mạng internet bằng Java là gì?
- Chấp nhận POSTS hình thức từ những người dùng qua HTTPS (dưới dạng HTML thực tế là trên một trang web khác nhau)
- Viết lại những bài dạng như JSON
- Gửi nó đến một máy chủ nội bộ qua kết nối HTTPS riêng biệt, với đa máy chủ không vượt quá
- Chờ trả lời bằng JSON, có chứa thành công hoặc lý do lỗi
- Trả lại chuyển hướng '303' từ URI thành công hoặc URI lỗi, đặt lý do lỗi làm thông số truy vấn
Các tải máy chủ này thường chịu được tối thiểu, nhưng vì không có hạn chế truy cập, máy chủ có thể rõ ràng là bị tấn công bởi hệ điều hành DOS, vv
Tuy nhiên, vấn đề thực sự ở đây là an ninh là hoàn toàn tối quan trọng cho máy chủ - máy chủ có liên quan đến các giao dịch thanh toán với khối lượng đủ lớn để làm cho nó trở thành mục tiêu mong muốn cho việc bẻ khóa. Máy chủ nằm phía sau IPS, nhưng nếu không kết nối trực tiếp với internet và sẽ chấm dứt kết nối HTTPS từ trình duyệt của người dùng cuối trực tiếp mà không cần bất kỳ proxy proxy hoặc bộ gia tốc SSL can thiệp nào.
Vì vậy, câu hỏi của tôi là, máy chủ web Java nào sẽ là lựa chọn an toàn nhất cho một mục đích như vậy? Hoặc, theo cách khác, nếu bạn thực sự nghĩ rằng các yêu cầu như vậy không nên được nhận trực tiếp bởi Java, nhưng bằng lighttpd hoặc một cái gì đó khác, bạn có thể đề xuất một cái gì đó khác. Nhưng chỉ khi nó có thể đáp ứng các yêu cầu nêu trên.
Một câu trả lời thật sự tốt đẹp sẽ chạm vào những vấn đề này:
- an ninh có liên quan của OpenSSL vs Java lựa chọn thay thế crypto vs (tất cả đã có lỗ hổng)
- an ninh có liên quan các tính năng Java VM (chẳng hạn như lỗ hổng phân tích cú pháp XML gần đây)
- Bảo mật liên quan đến phân tích cú pháp tiêu đề HTTP của máy chủ web (hầu như tất cả dường như đã có lỗ hổng ở đó)
- nén tùy chọn (zlib đã có lỗ hổng và mod_deflate có lỗ hổng riêng biệt trên đó)
Trong khi các nhà quản lý quỹ tương hỗ nhanh chóng chỉ ra rằng hiệu suất trong quá khứ không có chỉ báo về hiệu suất trong tương lai, bạn có thể kiểm tra lịch sử bảo mật trên các công cụ bạn đang cân nhắc trong [CVE] (http://cve.mitre.org/ cve /) danh sách. Nó chỉ liệt kê các lỗi được công khai biết, tất nhiên, và một dự án nhỏ không ai biết (và do đó không có nhiều lỗi được biết đến công khai) có thể là gì ngoài một đống đi bộ trùng hợp mã làm việc. Nhưng tôi thấy CVE là một công cụ rất hữu ích. :) – sarnold
Cảm ơn, tôi biết CVE và thông tin tôi có thể tìm thấy ở đó. Tôi đang tìm kiếm các câu trả lời dễ hiểu hơn tôi có thể đến với nửa ngày của google. – Nakedible