Làm thế nào bạn sẽ gửi syslog * một cách an toàn * qua Internet công cộng?


20

Vì vậy, tôi đã có một vài máy chủ mà tôi muốn đăng nhập tập trung nhưng rõ ràng tôi không muốn truyền dữ liệu không an toàn qua internet.

Tôi đã thử syslog-ng nhưng không thể làm cho nó hoạt động một cách an toàn, một ssh -L PORT:localhost:PORT user@hostđường hầm SSH bình thường sẽ không hoạt động vì tôi tin rằng làm cho các bản ghi dường như đến từ máy cục bộ và VPN có vẻ hơi quá mức .

Câu trả lời:


19

Bạn đã thử syslog-ng và stunnel chưa?

  1. Cài đặt Stunnel
  2. Tạo tệp chứng chỉ cho syslog-ng qua Stunnel
  3. Định cấu hình Stunnel để sử dụng với syslog-ng
  4. Cài đặt syslog-ng
  5. Cấu hình syslog-ng
  6. LÀM XONG!

CHÚ THÍCH:

Stunnel ( http://www.stunnel.org ) là một chương trình cho phép bạn mã hóa các kết nối TCP tùy ý bên trong SSL (Lớp cổng bảo mật) có sẵn trên cả Unix và Windows. Stunnel có thể cho phép bạn bảo mật các giao thức và giao thức không nhận biết SSL (như POP, IMAP, LDAP, v.v.) bằng cách Stunnel cung cấp mã hóa, không yêu cầu thay đổi mã của daemon.


Đây là những gì chúng tôi sử dụng để gửi syslog từ DMZ đến mạng nội bộ của chúng tôi. Hoạt động tốt.
Kamil Kisiel

3
Đối với những gì nó có giá trị, syslog-ng 3.x hỗ trợ TLS nguyên bản, vì vậy, không cần phải sử dụng stunnel nữa.
tổng hợp

12

Câu trả lời ngắn: VPN

Nó có vẻ quá mức cần thiết, nhưng đó là câu trả lời đúng và không quá phức tạp để thiết lập.


đúng!; openvpn.net thực sự đơn giản để thiết lập và chỉ hoạt động.
pQd

Không chỉ vậy, nó còn giúp bạn linh hoạt hơn rất nhiều trong việc quản lý và giám sát các máy từ xa một cách an toàn. OpenVPN (hoặc thậm chí IPSec) sẽ tốt hơn nhiều trong thời gian dài.
Christopher Cashell

9

Rsyslog có thể làm điều này. Mã hóa lưu lượng Syslog bằng TLS


Bạn vẫn đang mở một cổng vào internet với giải pháp này? Tôi vẫn không thích làm điều đó cho một cái gì đó như thế này.
Kevin Kuphal

3
Kevin: Giả định rằng máy chủ nhật ký hệ thống của bạn sẽ mong đợi lưu lượng truy cập từ các IP được xác định trước nhất định, dễ dàng thực hiện thông qua iptables
Matt Simmons

Hầu hết các nhà cung cấp đám mây cũng cho phép các nhóm bảo mật linh hoạt cho phép bạn liệt kê các cổng cụ thể từ các IP cụ thể.
jorfus


1

Sử dụng syslog-ng hoặc một daemon syslog khác hỗ trợ TCP.

Gửi dữ liệu qua một đường hầm được mã hóa. Đừng sử dụng đường hầm ssh, nó quá khó.

Syslog UDP là một giao thức braindamaged lịch sử nên đã bị loại bỏ từ lâu. Nếu nhà cung cấp của bạn cung cấp nó theo mặc định, xin vui lòng dựa vào họ.

Nếu nhà cung cấp của bạn không cung cấp giải pháp nhật ký hệ thống ký từng tin nhắn trước khi gửi, hãy dựa vào chúng.

Phần mềm dễ, thuật toán dễ. Chính trị của việc cài đặt nó theo mặc định là không.


Syslog UDP có một số lợi thế nhất định khi không gây ra sự cố ngừng hoạt động nếu đích đến trong thời gian dài hơn. Không phải là một vấn đề quá lớn với syslog-ng, nhưng có thể là một cơn ác mộng trong rsyslog. Giá trị của mã hóa là không có gì tôi muốn đặt câu hỏi bằng cách nói rằng.
Florian Heigl

1

Tôi có thể sẽ không gửi dữ liệu nhật ký qua internet ở nơi đầu tiên, nhưng cài đặt một loghost tập trung tại (các) vị trí cần thiết.

Những ngày này, tôi thích rsyslog hơn syslog-ng. Đây là một sự thay thế gần như thay thế, và có nhiều loại giấy tờ và howtos, bao gồm một trong việc gửi dữ liệu được mã hóa bằng TLS / SSL (kể từ v3.19.0), các phiên bản cũ hơn vẫn có thể sử dụng stunnel .

Theo kinh nghiệm của tôi với cả rsyslog và syslog-ng, rsyslog thắng dễ dàng về cấu hình, đặc biệt là khi bạn có thể sử dụng syslog.conf hiện có của mình và thêm vào đó.

Đối với những gì nó có giá trị, Rupyslog là trình nền syslog mặc định trên Debian Lenny (5.0), UbuntuFedora .


Thật tệ khi rsyslog chưa thêm cú pháp tệp cấu hình (theo kế hoạch) mới. Ngay bây giờ, cấu hình rsyslog cho bất cứ thứ gì không tầm thường là đau đớn so với syslog-ng.
Christopher Cashell

0

Tôi đang sử dụng rsyslog với tls. Có một số công việc chuẩn bị ngoài phạm vi: Triển khai một CA cục bộ, thêm chứng chỉ của CA cho mỗi máy chủ, tạo các certs riêng cho từng máy chủ. (bây giờ tất cả các máy chủ của bạn có thể nói chuyện ssl với nhau)

Tôi cũng cần cài đặt rsyslog-gnutls:

sudo apt-get install rsyslog-gnutls

Tôi cũng đã hạn chế kết nối syslog gửi đi (tcp 514) để máy chủ của tôi chỉ có thể kết nối với máy chủ rsyslog của tôi và tạo danh sách trắng đến ở phía máy chủ rsyslog để chỉ máy chủ của tôi có thể kết nối.

trong /etc/rsyslog.conf

# make gtls driver the default
$DefaultNetstreamDriver gtls

# certificate files
$DefaultNetstreamDriverCAFile /etc/my_keys/internal_CA.crt
$DefaultNetstreamDriverCertFile /etc/my_keys/my_hostname.crt
$DefaultNetstreamDriverKeyFile /etc/my_keys/my_hostname.key

$ActionSendStreamDriverAuthMode x509/name
$ActionSendStreamDriverPermittedPeer my_syslog_server.com
$ActionSendStreamDriverMode 1 # run driver in TLS-only mode
*.* @@my_syslog_server.com:514 # forward everything to remote server

Có vẻ như cấu hình cho syslog-ng thậm chí còn dễ dàng hơn. (mặc dù tôi chưa thử điều này) syslog-ng /etc/syslog-ng/conf.d/99-graylog2.conf

destination remote-server {  
    tcp ("my_syslog_server.com" port(514)
        tls(ca_dir("/etc/my_keys/"))
    );
};
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.