Pagina 1 di 1

[RISOLTO] Problema esecuzione script

Inviato: mer 17 ago 2011, 12:07
da Burroughs
Salve a tutti!

Ho realizzato un banalissimo script che mi serve per visualizzare, tramite anche un cronjob d'appoggio, tutti i tentativi di intrusione alla mia Linux box provenienti dall'esterno, sulla porta 22.
Questo è il codice:

Codice: Seleziona tutto

[root@andy ~]# cat /usr/local/bin/bf-andy 
#!/bin/bash
# Script di notifica dei tentativi di connessione sulla porta 22

echo "Rimuovi il log precedente"
rm /home/alutri/Documents/backup/archy/bfc*
echo "Pubblica bfchck sulla /home dell'utente"
bfchck > /home/alutri/Documents/backup/archy/bfchck-`date +%F` 
echo "Cambia i permessi sul log"
chown alutri:users /home/alutri/Documents/backup/archy/bfc*
Il problema che riscontro è il seguente: se schedulo (perdonate l'orribile anglismo) lo script tramite un cronjob, questo viene eseguito ma il file finale (quello che si trova in /home/alutri/Documents/backup/archy) risulta vuoto, se invece lo eseguo manualmente, tutto ok.
Preciso altresì che il cronjob in questione è assegnato al superutente...
Any ideas?

Burroughs.

Re: Problema esecuzione script

Inviato: mer 17 ago 2011, 12:53
da notsafe
problema di path?
prova a mettere il path assoluto di bfchck.

Re: Problema esecuzione script

Inviato: mer 17 ago 2011, 13:02
da Mario Vanoni
notsafe ha scritto:problema di path?
prova a mettere il path assoluto di bfchck.
O aggiungi nel crontab di root in PATH= l'indirizzo di bfchck.

Re: Problema esecuzione script

Inviato: mer 17 ago 2011, 13:30
da 414N
Burroughs ha scritto: Ho realizzato un banalissimo script che mi serve per visualizzare, tramite anche un cronjob d'appoggio, tutti i tentativi di intrusione alla mia Linux box provenienti dall'esterno, sulla porta 22.
Non sarebbe più sensato sfruttare iptables, dato che offre delle funzionalità proprio per raggiungere questo scopo?
Io ho una regola che mi "logga" (altro terribile anglismo) e poi mi scarta tutti i pacchetti che tentano di accedere da internet ad un insieme di porte che ho specificato.
Per esempio:

Codice: Seleziona tutto

iptables -A INPUT --protocol tcp ! --source TUA_SUBNET/TUA_NETMASK --dport 22 --jump LOG --log-prefix "IPTABLES: "
iptables -A INPUT --protocol tcp ! --source TUA_SUBNET/TUA_NETMASK --dport 22 --jump DROP
Con queste due regole, fai in modo che iptables prima registri nei log di sistema (anche dmesg) il tentantivo di connessione, poi lo scarti silenziosamente (DROP).
Il log prefix è una stringa che sarà anteposta alla riga che iptables andrà a scrivere nei log di sistema. La puoi personalizzare come preferisci per poterla cercare più agevolmente.
TUA_SUBNET è l'indirizzo della tua rete (tipo 192.168.0.0); TUA_NETMASK è la netmask in notazione CIDR (255.255.255.0 = 24).
Per vedere tutti i tentativi di intrusione in tempo reale, ti dovrebbe bastare un bel

Codice: Seleziona tutto

watch 'dmesg | grep IPTABLES:'
Ovviamente, al posto di IPTABLES: devi mettere la stringa che hai scelto come log prefix.

Re: Problema esecuzione script

Inviato: mer 17 ago 2011, 14:11
da Burroughs
Prima di tutto, grazie per il sollecito aiuto... :)
Allora, ho risolto dando il percorso assoluto tanto nel crontab quanto all'interno dello script.
Ancora grazie...

Burroughs.