Strumento di posta elettronica da riga di comando di Ubuntu per server


0

Ho iniziato a scrivere alcuni script che eseguono il backup dei miei file di registro. Ogni volta che si trova un errore nel file di registro, voglio inviare una email a me stesso. Tuttavia, voglio assicurarmi che il mio server non sia compromesso poiché ho sentito che avere smtp / mail installato apre nuove opzioni per gli hacker.

C'è uno strumento che non riceve email, ma è solo in grado di inviarle? Inoltre, quali considerazioni di sicurezza dovrei prendere durante l'installazione?

Risposte:


2

Tuttavia, desidero assicurarmi che il mio server non sia compromesso poiché ho sentito che avere smtp / mail installato apre nuove opzioni per gli hacker

Qualunque il servizio può "aprire nuove opzioni per gli hacker" se è scritto male. Ma per la posta, sia Postfix che Exim4 sono molto sicuri.

(In generale, starai bene finché non usi Sendmail di dieci anni. Le versioni attuali sono sicure, ma ti consiglio comunque di stare lontano da Sendmail - il file di configurazione non è esattamente leggibile .)

C'è uno strumento che non riceve email, ma è solo in grado di inviarle?

Qualsiasi MTA (Postfix, Exim4, Sendmail) può funzionare in questo modo - basta configurarlo per ascoltare solo gli indirizzi di loopback ( ::1 e 127.0.0.1 ). È anche possibile disabilitare completamente il componente SMTP: la maggior parte dei programmi Unix non lo richiede e invia la posta /usr/sbin/sendmail 1 , rendendo inutile l'SMTP.

Non è davvero necessario contro gli "hacker", però. Il peggio che si può ottenere con un MTA decente è lasciarlo aperto per l'inoltro - e le configurazioni predefinite si occupano già di questo.

Un'altra opzione è msmtp, che non ha nemmeno il supporto SMTP completo: tutto ciò che può fare è ritrasmettere la posta attraverso un altro server di posta, come Gmail o il tuo ISP. Ma mentre è utile per un personal computer, non si adatta perfettamente a un ambiente server.


1 " /usr/sbin/sendmail "è un programma che viene fornito con tutti MTA, mentre "Sendmail" è il nome di a specifico MTA.


Posso suggerire di utilizzare un account email google.com per inviare messaggi automatici in uscita? È così che ho configurato i miei server, in questo modo se qualcuno dovesse mai includere la mia e-mail per lo spam, perdo solo un molto account e-mail sostituibile e nessuna lista nera. Tutto quello che devi fare è impostare il tuo MTA preferito da inviare tramite il tuo account Google. Inoltre, OSSEC - google it.
skub

@skub: Sembra molto promettente, quale MTA stai usando con gmail?
Frank Vilea

Puoi farlo con Exim o Postfix, ma penso che Exim sia più facile da configurare. Ecco le istruzioni per Exim e Gmail: wiki.debian.org/GmailAndExim4
skub

@skub: Solo per la cronaca, Exim su Debian / Ubuntu ha un molto diverso sistema di configurazione (basato su M4) rispetto ad altre distribuzioni. Non è sempre "più facile".
grawity

Hai ragione, potrebbe essere più difficile da configurare in altri sistemi. Era solo un'ipotesi che il poster usasse un po 'di sapore di * nix. La teoria rimane la stessa indipendentemente dal sistema utilizzato. È possibile configurare uno SmartHost con autenticazione in qualsiasi MTA, incluso lo scambio.
skub

2

L'invio di posta da uno script di shell è abbastanza semplice purché sia ​​installato un MTA standard (Postfix, Exim4, Sendmail, ecc.). In genere per inviare è possibile utilizzare il mail comando con argomenti appropriati, riecheggiando il contenuto dell'email al programma. Per esempio:

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

il -s argomento specifica l'oggetto e segui il destinatario dell'e-mail.

Un altro esempio

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

Dai un'occhiata man mail per più opzioni.

Un'altra opzione se stai eseguendo il tuo script tramite cron, è che cron invii automaticamente l'output dal tuo script a te. Aggiungi il MAILTO opzione per il tuo crontab come segue:

MAILTO=youremail@domain.com

e riceverai un'e-mail con qualsiasi output da stdout ogni volta che viene eseguito lo script.

Per quanto riguarda la sicurezza, l'invio e la ricezione di e-mail sono due cose completamente diverse. È possibile inviare e-mail dal server senza eseguire un server di posta ricevente, semplicemente non eseguire il daemon smtp o bloccare l'accesso alla porta in ingresso 25 (SMTP) tramite un firewall se non è necessario ricevere e-mail tramite questo server.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.