Pagina 1 di 2

Permessi di esecuzione MoBlock-nfq.sh

Inviato: mer 23 gen 2008, 22:46
da jena
Ciao a tutti!!!
Ho installato sulla mia slackware 11 moblock...il problema è che se lo lancio da root funziona correttamente mentre se lo lancio da utente ricevo questo errore:

Codice: Seleziona tutto

/usr/bin/./MoBlock-nfq.sh: line 32: modprobe: command not found
/usr/bin/./MoBlock-nfq.sh: line 36: modprobe: command not found
/usr/bin/./MoBlock-nfq.sh: line 40: iptables: command not found
/usr/bin/./MoBlock-nfq.sh: line 41: modprobe: command not found
/usr/bin/./MoBlock-nfq.sh: line 42: modprobe: command not found
/usr/bin/./MoBlock-nfq.sh: line 45: modprobe: command not found
/usr/bin/./MoBlock-nfq.sh: line 46: modprobe: command not found
/usr/bin/./MoBlock-nfq.sh: line 51: modprobe: command not found
/usr/bin/./MoBlock-nfq.sh: line 54: modprobe: command not found
/usr/bin/./MoBlock-nfq.sh: line 57: modprobe: command not found
/usr/bin/./MoBlock-nfq.sh: line 84: modprobe: command not found
/usr/bin/./MoBlock-nfq.sh: line 85: modprobe: command not found
Il modprobe alla linea 32 mi ha fatto pensare ad un problema di permessi perchè modprobe dovrebbe essere lanciato da root...
Per abilitare l'utente ad eseguire il comando ho editato /etc/sudoers cosi:

Codice: Seleziona tutto

# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification
User_Alias UTENTI = alex
# Cmnd alias specification
Cmnd_Alias SPEGNI = /sbin/shutdown -h now, /usr/bin/cpufreq-set -g ondemand -u 1096370 -d 498350, /usr/bin/./MoBlock-nfq.sh
# Defaults specification

# Runas alias specification

# User privilege specification
root	ALL=(ALL) ALL

# Uncomment to allow people in group wheel to run all commands
# %wheel	ALL=(ALL)	ALL

# Same thing without a password
# %wheel	ALL=(ALL)	NOPASSWD: ALL
UTENTI ALL = NOPASSWD: SPEGNI

# Samples
# %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users  localhost=/sbin/shutdown -h now
Non sò come procedere per risolvere...
Qualcuno può aiutarmi???
Grazie!!!

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: mer 23 gen 2008, 23:00
da JohnnyMnemonic
Il problema è che il percorso di modprobe non è nel PATH di un utente non root, e nemmeno dovrebbe esserlo, perchè devi lanciarlo da utente?

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: mer 23 gen 2008, 23:15
da jena
Grazie della tua risposta!!!
Stò cercando di utilizzare un vecchio computer come server da utilizzare per scaricare come amule...potrei anche lanciarlo da root ma per una maggiore sicurezza credevo fosse meglio lanciarlo da utente...
O posso anche lanciarlo da root???
Grazie!!!

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: mer 23 gen 2008, 23:20
da JohnnyMnemonic
Non conosco questo programma, ho visto che è una specie di PeerGuardian (che poi non conosco nemmeno quello)
Che modulo carica con modprobe?
Se è una specie di demone potresti lanciarlo all'avvio con rc.local

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: gio 24 gen 2008, 1:17
da algol
jena ha scritto:Grazie della tua risposta!!!
Stò cercando di utilizzare un vecchio computer come server da utilizzare per scaricare come amule...potrei anche lanciarlo da root ma per una maggiore sicurezza credevo fosse meglio lanciarlo da utente...
O posso anche lanciarlo da root???
Grazie!!!
Lanciare da root moblock o amule?
Metti moblock in rc.local e amule come sempre da utente...

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: gio 24 gen 2008, 11:04
da jena
JohnnyMnemonic ha scritto:Che modulo carica con modprobe?
Grazie della risposta!!!
La riga che dà errore con modprobe è:

Codice: Seleziona tutto

modprobe ipt_state
algol ha scritto:Lanciare da root moblock o amule?
Metti moblock in rc.local e amule come sempre da utente...
Pensavo di lanciare da root moblock...per lanciare lo script in rc.local devo inserire tutto il percorso allo script cosi???

Codice: Seleziona tutto

/usr/bin/./MoBlock-nfq.sh
Giusto???
Grazie!!!

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: gio 24 gen 2008, 12:09
da conraid
jena ha scritto: Pensavo di lanciare da root moblock...per lanciare lo script in rc.local devo inserire tutto il percorso allo script cosi???

Codice: Seleziona tutto

/usr/bin/./MoBlock-nfq.sh
Giusto???
il punto equivale a dire "directory corrente", quindi è inutile in quel contesto

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: gio 24 gen 2008, 12:44
da jena
Grazie della risposta!!!
Ora però ho notato una cosa che non riesco a spiegarmi...
Ho attivato il firewall creando il file /etc/rc.d/rc.firewall e come consigliato in questa http://linux.p2pforum.it/wiki/Script_di ... _Netfilter guida al suo interno ho inserito:

Codice: Seleziona tutto

#!/bin/bash
 
## RESET DELLE REGOLE ##
iptables -F
iptables -t mangle -F
iptables -t nat -F
iptables -X
iptables -t mangle -X
iptables -t nat -X


## TABELLA FILTER ##

# Definizione criterio generale
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# Frammenti e pacchetti non validi
iptables -A INPUT -f -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -f -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP

# Traffico di loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

## TABELLA FILTER - INGRESSO ##
# Accetta pacchetti di connessioni esistenti
iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Accettiamo il traffico in ingresso nelle porte del client
# Accetta connessioni per client P2P
iptables -A INPUT -i ppp0 -p tcp --dport 4662 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --dport 4668 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --dport 18745 -j ACCEPT
In questo modo il computer è irraggiungibile non posso neanche pingarlo dagli altri computer della lan e neanche connettermi tramite ssh...
Però se lancio moblock il computer torna raggiungibile può essere pingato e posso connettermi tramite ssh...
Non capisco il motivo se lancio moblock il computer torna raggiungibile...
Qualcuno può aiutarmi???
Grazie!!!

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: gio 24 gen 2008, 12:49
da conraid
jena ha scritto: In questo modo il computer è irraggiungibile non posso neanche pingarlo dagli altri computer della lan e neanche connettermi tramite ssh...

Però se lancio moblock il computer torna raggiungibile può essere pingato e posso connettermi tramite ssh...
Non capisco il motivo se lancio moblock il computer torna raggiungibile...
Qualcuno può aiutarmi???
A parte che c'è una ripetizione inutile, ma cosa fa moblock?
Visto che voleva il modulo ipt_state ho l'impressione che setti delle regole di netfilter

Non conosco quello script, se è piccolo postalo qui

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: gio 24 gen 2008, 14:48
da jena
conraid ha scritto:A parte che c'è una ripetizione inutile, ma cosa fa moblock?
Visto che voleva il modulo ipt_state ho l'impressione che setti delle regole di netfilter
Grazie per la risposta!!!
Quale è la ripetizione???
Moblock http://www.slacky.eu/index.php?option=c ... 6&font=inc è un programma simile a peerguardian è un ipfilter che blocca gli ip presenti all'interno di una blacklist...
Si da quello che ho capito imposta delle regole di netfilter...ma quello che non capisco è perchè se lo avvio il computer torna raggiungibile???
Questo è lo script MoBlock-nfq.sh:

Codice: Seleziona tutto

#!/bin/sh
#
# MoBlock.sh - MoBlock start script
# ---------------------------------

ACTIVATE_CHAINS=1
WHITE_TCP_IN=""
WHITE_UDP_IN=""
WHITE_TCP_OUT=""
WHITE_UDP_OUT=""
WHITE_TCP_FORWARD=""
WHITE_UDP_FORWARD=""


PIDF=/var/run/moblock.pid

FNAME=`basename $0 .sh`
MODE=`echo $FNAME|awk -F-  '{print $2}'`

if [ -f $PIDF  ]; then
	PID=`cat $PIDF`
	if [ `ps -p $PID|wc -l` -gt 1 ]; then
		echo "$0: $PIDF exists and processs seems to be running. Exiting."
		exit 1;
	fi;
fi;

if [ $MODE == "ipq" ]; then
	modprobe ip_queue
	TARGET="QUEUE"
elif [ $MODE == "nfq" ]; then
	modprobe ipt_NFQUEUE
	TARGET="NFQUEUE"
fi;

modprobe ipt_state

# Filter all traffic, edit for your needs

iptables -N MOBLOCK_IN
iptables -N MOBLOCK_OUT
iptables -N MOBLOCK_FW

if [ $ACTIVATE_CHAINS -eq 1 ]; then
	iptables -I INPUT -p all -m state --state NEW -j MOBLOCK_IN
	iptables -I OUTPUT -p all -m state --state NEW -j MOBLOCK_OUT
	iptables -I FORWARD -p all -m state --state NEW -j MOBLOCK_FW	
fi;


iptables -I MOBLOCK_IN -p all -j $TARGET
#iptables -I MOBLOCK_IN -m state --state ESTABLISHED,RELATED -j ACCEPT 

iptables -I MOBLOCK_OUT -p all -j $TARGET
#iptables -I MOBLOCK_OUT -m state --state ESTABLISHED,RELATED -j ACCEPT 

iptables -I MOBLOCK_FW -p all -j $TARGET
#iptables -I MOBLOCK_FW -m state --state ESTABLISHED,RELATED -j ACCEPT 

for PORT in $WHITE_TCP_OUT; do
	iptables -I MOBLOCK_OUT -p tcp --dport $PORT -j ACCEPT
done
for PORT in $WHITE_UDP_OUT; do
	iptables -I MOBLOCK_OUT -p udp --dport $PORT -j ACCEPT
done

for PORT in $WHITE_TCP_IN; do
	iptables -I MOBLOCK_IN -p tcp --dport $PORT -j ACCEPT
done
for PORT in $WHITE_UDP_IN; do
	iptables -I MOBLOCK_IN -p udp --dport $PORT -j ACCEPT
done

for PORT in $WHITE_TCP_FORWARD; do
	iptables -I MOBLOCK_FW -p tcp --dport $PORT -j ACCEPT
done
for PORT in $WHITE_UDP_FORWARD; do
	iptables -I MOBLOCK_FW -p udp --dport $PORT -j ACCEPT
done


# Loopback traffic fix

iptables -I INPUT -p all -i lo -j ACCEPT
iptables -I OUTPUT -p all -o lo -j ACCEPT

# Here you can change block list and log files
./moblock -p /home/alex/moblock/guarding.p2p /home/alex/moblock/moblock.log

# On exit delete the rules we added

if [ $ACTIVATE_CHAINS -eq 1 ]; then
	iptables -D INPUT -p all -m state --state NEW -j MOBLOCK_IN
	iptables -D OUTPUT -p all -m state --state NEW -j MOBLOCK_OUT
	iptables -D FORWARD -p all -m state --state NEW -j MOBLOCK_FW
fi;

iptables -D INPUT -p all -i lo -j ACCEPT
iptables -D OUTPUT -p all -o lo -j ACCEPT

iptables -F MOBLOCK_IN
iptables -X MOBLOCK_IN
iptables -F MOBLOCK_OUT
iptables -X MOBLOCK_OUT
iptables -F MOBLOCK_FW
iptables -X MOBLOCK_FW

if [ -f $PIDF ]; then	
	rm $PIDF;
fi
Grazie!!!

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: gio 24 gen 2008, 15:11
da conraid
Ad una veloce occhiata sembra che sovrascriva alcune regole.

Prima metti la regola generale, dopo le specifiche.
Se trova un DROP in una regola il pacchetto si blocca, se trova ACCEPT continua fino a che non finiscono le regole
http://www.netfilter.org/documentation/ ... WTO-6.html

IO se fossi in te non userei un file simile, ma integrerei le regole nel tuo script

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: gio 24 gen 2008, 17:07
da jena
conraid ha scritto:Prima metti la regola generale, dopo le specifiche.
Grazie per la risposta!!!
Purtroppo non sono molto esperto lo script di moblcok non l'ho scritto io ma l'ho installato con i pacchetti precompilati...non sò quali sono le regole generali e le regole specifiche...stò cercando di imparare...
conraid ha scritto:IO se fossi in te non userei un file simile, ma integrerei le regole nel tuo script
Sicuro si possa fare???Perchè moblock crea un file.log con gli ip bloccati...
Se non ho capito male potrei eliminare da MoBlock-nfq.sh la parte che imposta le regole nel firewall e incollare queste regole in rc.firewall in modo da evitare conflitti???
Utilizzo il kernel 2.6.13.17...
Grazie dell'aiuto!!!

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: gio 24 gen 2008, 17:29
da conraid
jena ha scritto:
conraid ha scritto:IO se fossi in te non userei un file simile, ma integrerei le regole nel tuo script
Sicuro si possa fare???Perchè moblock crea un file.log con gli ip bloccati...
Se non ho capito male potrei eliminare da MoBlock-nfq.sh la parte che imposta le regole nel firewall e incollare queste regole in rc.firewall in modo da evitare conflitti???
Utilizzo il kernel 2.6.13.17...
Dal poco che ho letto in rete moblock a volte crea conflitti con le regole di iptables, sembra che la versione 0.9 in questo comporterà notevoli miglioramenti.

leggendo in qua e la mi è sembrato di capire che alcuni utenti usano questo come "firewall" aggiungendoci regole ad hoc, in pratica il contrario di come ti ho suggerito io


Ho trovato solo info su debian/ubuntu in rete :-(
Tra cui:
http://moblock-deb.sourceforge.net/
http://www.intilinux.com/howto/388/mobl ... per-linux/

A parte naturalmente il sito ufficiale dove nel readme dove c'è scritto di metterlo in coda ad ogni regola
http://moblock.berlios.de/README-0.8

Tra l'altro l'autore è italiano, al limite chiedi nel forum loro

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: gio 24 gen 2008, 22:34
da jena
conraid ha scritto:leggendo in qua e la mi è sembrato di capire che alcuni utenti usano questo come "firewall" aggiungendoci regole ad hoc, in pratica il contrario di come ti ho suggerito io
Davvero???Io sò che ci sono molte persone che pensano che moblock è un firewall come netfilter mentre non è cosi...moblock è solo un ipfilter che non può sostituire netfilter...
Ho trovato questa http://linux.p2pforum.it/wiki/Guida_MoBlock pagina dove cè scritto:
Per iniziare il filtraggio su tutti i protocolli e connessioni ci basta avviare uno script presente nell'archivio dei sorgenti di MoBlock (per i più smanettoni si possono anche creare delle regole di iptables per abilitare il filtraggio con Moblock
Questo può significare che il tuo consiglio era giusto???Cioè posso creare io le regole invece di farle creare allo script???
conraid ha scritto:nel readme dove c'è scritto di metterlo in coda ad ogni regola
Che cosa deve essere messo in coda ad ogni regola???
Grazie del tuo aiuto!!!

Re: Permessi di esecuzione MoBlock-nfq.sh

Inviato: ven 25 gen 2008, 11:56
da conraid
jena ha scritto: Davvero???Io sò che ci sono molte persone che pensano che moblock è un firewall come netfilter mentre non è cosi...moblock è solo un ipfilter che non può sostituire netfilter...
Non confondere le cose. Moblock è uno script che si appoggia a netfilter, così come ce ne sono altri.
Non sostituisce, ma al tempo stesso non è cosa diversa.
Quello che viene detto da più parti è che se non stai attento le regole di moblock possono "scozzare" con regole messe da te o da altri script. Sempre regole di netfilter si tratta.
Netfilter è il componente del kernel e tutti usano quello.
jena ha scritto: Ho trovato questa http://linux.p2pforum.it/wiki/Guida_MoBlock pagina dove cè scritto:
Per iniziare il filtraggio su tutti i protocolli e connessioni ci basta avviare uno script presente nell'archivio dei sorgenti di MoBlock (per i più smanettoni si possono anche creare delle regole di iptables per abilitare il filtraggio con Moblock
Questo può significare che il tuo consiglio era giusto???Cioè posso creare io le regole invece di farle creare allo script???
Ma sono giusti entrambi. Essendo regole di netfilter puoi lasciarle così, aggiungerne di altre in quello script o aggiungere quello in un tuo script.
Non esiste giusto e sbagliato, chi fa in un modo chi in un altro.
Solitamente si dovrebbe lasciare separato, così che se cambia non sei costretto a fare salti mortali.
jena ha scritto:
conraid ha scritto:nel readme dove c'è scritto di metterlo in coda ad ogni regola
Che cosa deve essere messo in coda ad ogni regola???
Ho sbagliato, in coda alle regole.
Tu hai già delle regole?
Loro dicono che quelle di moblock devono essere messe in coda, cioè per ultime, nella catena di netfilter.
Anche se sono in script separati, come ti ripeto, sempre netfilter vanno ad usare.

moblock da quel che ho visto sfrutta una caratteristica dei nuovi kernel non indirizzando i pacchetti direttamente al kernel, ma accodandoli per lasciarli gestire in userspace.
mi sembra dallo script che richiama.
Una volta deciso il "destino" di tale pacchetto viene rispedito al kernel per l'elaborazione.
Se non collima con nessuna regola semplicemente torna al kernel che lo gestisce in base alle regole di default.

Nel tuo caso probabilmente quello script dice al kernel "questo pacchetto è valido, lascialo passare", mentre senza il kernel non trova niente su quel pacchetto ed applica la politica di defuault che tu gli hai detto essere DROP

Spiegazione sommaria e forse nemmeno tanto giusta, è un po' che non mi occupo di iptables, e detto sinceramente non ho mai usato la nuova funzione QUEUE che usa moblock.

Io se fossi in te cercherei di capire cosa fa moblock, e se vuoi non far vedere ssh metti subito un DROP nel tuo script.

Per i ping agisci di sysctl se proprio non li vuoi