Làm cách nào để cài đặt phiên bản OpenSSL dễ bị tổn thương trên máy chủ Linux?


9

Tôi muốn biên dịch và cài đặt phiên bản OpenSSL dễ bị tổn thương Heartbleed trên máy chủ Tôi đang thiết lập cho một thách thức bảo mật web của nhóm (vì chúng không có sẵn để cài đặt từ kho lưu trữ của Ubuntu vì lý do rõ ràng).

Tôi đã tải xuống và biên dịch từ nguồn OpenSSL 1.0.1f bằng cách sử dụng các hướng dẫn được cung cấp (chạy ./config, sau đó makemake install) và cố gắng chạy POC Heartbleed có sẵn công khai từ GitHub từ PC của tôi, tuy nhiên tập lệnh không cho tôi biết rằng không có phản hồi nhịp tim nào được nhận và máy chủ có thể không dễ bị tấn công.

Chạy openssl versiontạo ra đầu ra sau: OpenSSL 1.0.1f 6 tháng 1 năm 2014 . Tôi đã cài đặt chứng chỉ SSL tất nhiên và truy cập SSL hoạt động trên máy chủ.

OpenSSL được cài đặt để hoạt động với Apache 2.4.7.

Có ai giúp được không?


3
Nói chung, một cách tốt để kiểm tra các phiên bản cũ hơn và các bản phân phối Linux là tải xuống các hình ảnh ISO cũ hơn của bản phân phối và có thể cài đặt VM bằng cách sử dụng nó. Không phải tất cả các gói đều có sẵn trong này, nhưng OpenSSL chắc chắn sẽ có.
Bruno

Nếu bạn đã quen thuộc với bao bì Debian, việc tải xuống gói nguồn mở hiện tại của bạn khá dễ dàng, loại bỏ CVE-2014-0160.patch và xây dựng lại nó.
Matt Nordhoff

Câu trả lời:


7

Có hai điều có thể xảy ra ở đây:

  1. Theo mặc định, một "./cool; make; make install" sẽ đặt các thư viện dùng chung vào /usr/local/lib. Các thư viện được cài đặt hệ thống, tuy nhiên, sẽ xuất hiện /usr/lib, xuất hiện sớm hơn trong đường dẫn tìm kiếm thư viện. Trừ khi bạn xóa phiên bản OpenSSL được cài đặt hệ thống, phiên bản dễ bị tổn thương sẽ không được tìm thấy.

  2. Ngay cả khi bạn viết quá nhiều thư viện hệ thống, thay đổi sẽ không được chọn cho đến khi bạn khởi động lại Apache. Các tệp đã xóa vẫn có thể truy cập (và chiếm dung lượng trên đĩa) cho đến khi tất cả các chương trình có tệp mở để chúng đóng các tệp đó.


7

Phần mềm máy chủ nào đang được sử dụng?

Mặc dù nhị phân OpenSSL dễ bị tấn công, một máy chủ web được cài đặt từ gói HĐH có thể sẽ sử dụng phiên bản thư viện không dễ bị tấn công.

Cách đơn giản nhất để khiến người nghe dễ bị tổn thương chạy là openssl s_server- nếu bạn cần một máy chủ web đầy đủ dễ bị tấn công, bạn có thể sẽ cần phải biên dịch chống lại OpenSSL dễ bị tổn thương.


1
Whoa, tôi không bao giờ biết s_serverlà một điều. Tôi đã sử dụng s_clientmãi mãi và điều đó hoàn toàn có ý nghĩa rằng cũng nên có một tùy chọn máy chủ.
EEAA

1
@EEAA Vâng, thật điên rồ khi có bao nhiêu tiểu ban khác nhau được nhồi nhét trong đó.
Shane Madden
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.