Công cụ email dòng lệnh Ubuntu cho máy chủ


0

Tôi bắt đầu viết một số tập lệnh sao lưu các tập tin nhật ký của tôi. Bất cứ khi nào một lỗi được tìm thấy trong tệp nhật ký, tôi muốn gửi một email cho chính mình. Tuy nhiên, tôi muốn đảm bảo rằng máy chủ của tôi không bị xâm phạm vì tôi nghe nói rằng việc cài đặt smtp / mail sẽ mở ra các tùy chọn mới cho tin tặc.

Có một công cụ không nhận được email, nhưng chỉ có thể gửi chúng? Ngoài ra, tôi cần cân nhắc bảo mật gì khi cài đặt nó?

Câu trả lời:


2

Tuy nhiên, tôi muốn đảm bảo rằng máy chủ của tôi không bị xâm phạm vì tôi nghe nói rằng việc cài đặt smtp / mail sẽ mở ra các tùy chọn mới cho tin tặc

Bất kì dịch vụ có thể "mở ra các tùy chọn mới cho tin tặc" nếu nó viết kém. Nhưng đối với thư, cả Postfix hoặc Exim4 đều rất an toàn.

(Nói chung, bạn sẽ ổn miễn là bạn không sử dụng Sendmail mười năm tuổi. Các phiên bản hiện tại vẫn an toàn, nhưng dù sao tôi cũng khuyên bạn nên tránh xa Sendmail - tệp cấu hình không chính xác có thể đọc được bằng con người .)

Có một công cụ không nhận được email, nhưng chỉ có thể gửi chúng?

Bất kỳ MTA nào (Postfix, Exim4, Sendmail) đều có thể hoạt động theo cách này - chỉ cần cấu hình nó để nghe trên các địa chỉ loopback ( ::1127.0.0.1 ). Bạn thậm chí có thể vô hiệu hóa hoàn toàn thành phần SMTP - hầu hết các chương trình Unix không yêu cầu và gửi thư qua /usr/sbin/sendmail 1 , làm cho SMTP không cần thiết.

Tuy nhiên, điều đó thực sự không cần thiết đối với "tin tặc". Điều tồi tệ nhất bạn có thể nhận được với một MTA đàng hoàng là để nó mở để chuyển tiếp - và các cấu hình mặc định đã đảm nhiệm việc đó.

Một lựa chọn khác là msmtp, thậm chí không có hỗ trợ SMTP đầy đủ - tất cả những gì có thể làm là chuyển tiếp thư qua máy chủ thư khác, chẳng hạn như Gmail hoặc ISP của bạn. Nhưng mặc dù nó hữu ích cho máy tính cá nhân, nhưng nó không thực sự phù hợp với môi trường máy chủ.


1 " /usr/sbin/sendmail "là một chương trình đi kèm với tất cả các MTA, trong khi "Sendmail" là tên của một riêng MTA.


Tôi có thể đề nghị sử dụng tài khoản email google.com để gửi tin nhắn tự động gửi đi không? Đó là cách tôi cài đặt máy chủ của mình, theo cách đó nếu có ai bao gồm email của tôi để spam, tôi chỉ mất một rất tài khoản email có thể thay thế và không có danh sách đen. Tất cả những gì bạn cần làm là thiết lập MTA yêu thích của bạn để gửi qua tài khoản google của bạn. Ngoài ra, OSSEC - google nó.
skub

@skub: Nghe có vẻ rất hứa hẹn, bạn đang sử dụng MTA nào với gmail?
Frank Vilea

Bạn có thể làm điều đó với Exim hoặc Postfix, nhưng tôi nghĩ Exim dễ cấu hình hơn. Dưới đây là hướng dẫn cho Exim và Gmail: wiki.debian.org/GmailAndEimum4
skub

@skub: Chỉ để ghi lại, Exim trên Debian / Ubuntu có rất hệ thống cấu hình khác nhau (dựa trên M4) so ​​với các bản phân phối khác. Nó không phải lúc nào cũng "dễ dàng" hơn.
grawity

Bạn nói đúng, có thể khó thiết lập hơn trong các hệ thống khác. Đó chỉ là một giả định rằng poster đã sử dụng một số hương vị của * nix. Lý thuyết vẫn như cũ bất kể hệ thống được sử dụng. Bạn có thể thiết lập máy chủ thông minh với xác thực trong bất kỳ MTA nào - bao gồm trao đổi.
skub

2

Gửi thư từ tập lệnh shell khá dễ dàng miễn là bạn đã cài đặt MTA tiêu chuẩn (Postfix, Exim4, Sendmail, v.v.). Nói chung để gửi bạn có thể sử dụng mail lệnh với các đối số thích hợp, lặp lại nội dung email của bạn với chương trình. Ví dụ:

echo "Error occurred in script at `date`" | mail -s "Error running script" youremail@domain.com

các -s đối số chỉ định chủ đề và bạn theo dõi với người nhận email.

Một vi dụ khac

grep -i error /path/to/yourfile.log | mail -s "Errors from script execution" youremail@domain.com

Kiểm tra man mail để có thêm lựa chọn.

Một tùy chọn khác nếu bạn đang chạy tập lệnh của mình qua cron, là để cron tự động gửi email đầu ra từ tập lệnh của bạn cho bạn. Thêm MAILTO tùy chọn cho crontab của bạn như sau:

MAILTO=youremail@domain.com

và bạn sẽ nhận được email với bất kỳ đầu ra nào từ thiết bị xuất chuẩn mỗi khi tập lệnh của bạn chạy.

Về bảo mật, gửi và nhận email là 2 điều hoàn toàn khác nhau. Bạn có thể gửi email từ máy chủ của mình mà không cần chạy máy chủ nhận thư, chỉ cần không chạy trình nền smtp hoặc chặn truy cập vào cổng 25 (SMTP) qua tường lửa nếu bạn không cần nhận email qua máy chủ này.

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.