connessione VPN senza essere root

4 risposte [Ultimo messaggio]
Ritratto di anubis
anubis
(Guru)
Offline
Guru
Iscritto: 07/04/2007
Messaggi: 3656

salve siniori... prima volta che lavoro con le vpn...

sapete se è possibile connettersi senza essere root?

al momento il comando:

openvpn --config Andrea-TO-IPCop.ovpn

funziona benissimo, ma solo da root, da utente normale fallisce così:

anubis@suse-laptop:~/Desktop/Andrea-TO-IPCop&gt; openvpn --config Andrea-TO-IPCop.ovpn<br />Fri Jul  3 14:58:56 2009 OpenVPN 2.0.9 i586-suse-linux [SSL] [LZO] [EPOLL] built on Dec  3 2008<br />Fri Jul  3 14:58:56 2009 IMPORTANT: OpenVPN&#039;s default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.                                                                                                        <br />Enter Private Key Password:                                                                                                                          <br />Fri Jul  3 14:58:59 2009 WARNING: normally if you use --mssfix and/or --fragment, you should also set --tun-mtu 1500 (currently it is 1400)          <br />Fri Jul  3 14:58:59 2009 Control Channel MTU parms [ L:1441 D:138 EF:38 EB:0 ET:0 EL:0 ]                                                             <br />Fri Jul  3 14:58:59 2009 Data Channel MTU parms [ L:1441 D:1441 EF:41 EB:4 ET:0 EL:0 ]                                                               <br />Fri Jul  3 14:58:59 2009 Local Options hash (VER=V4): &#039;57657c3f&#039;                                                                                     <br />Fri Jul  3 14:58:59 2009 Expected Remote Options hash (VER=V4): &#039;778eeec5&#039;                                                                           <br />Fri Jul  3 14:58:59 2009 UDPv4 link local (bound): [undef]:1194                                                                                      <br />Fri Jul  3 14:58:59 2009 UDPv4 link remote: 151.95.196.217:1194                                                                                      <br />Fri Jul  3 14:58:59 2009 TLS: Initial packet from SERVER-IP:1194, sid=b5f3d529 c7cb652b                                                         <br />Fri Jul  3 14:59:00 2009 VERIFY OK: depth=1, /C=IT/ST=Puglia/L=Brindisi/O=QSI-BRINDISI/CN=QSI-BRINDISI_CA/emailAddress=brindisi@qsi.org              <br />Fri Jul  3 14:59:00 2009 VERIFY OK: nsCertType=SERVER                                                                                                <br />Fri Jul  3 14:59:00 2009 VERIFY OK: depth=0, /C=IT/ST=Puglia/O=QSI-BRINDISI/CN=192.168.0.100                                                         <br />Fri Jul  3 14:59:00 2009 Data Channel Encrypt: Cipher &#039;BF-CBC&#039; initialized with 128 bit key                                                          <br />Fri Jul  3 14:59:00 2009 Data Channel Encrypt: Using 160 bit message hash &#039;SHA1&#039; for HMAC authentication                                             <br />Fri Jul  3 14:59:00 2009 Data Channel Decrypt: Cipher &#039;BF-CBC&#039; initialized with 128 bit key<br />Fri Jul  3 14:59:00 2009 Data Channel Decrypt: Using 160 bit message hash &#039;SHA1&#039; for HMAC authentication<br />Fri Jul  3 14:59:00 2009 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA<br />Fri Jul  3 14:59:00 2009 [192.168.0.100] Peer Connection Initiated with SERVER-IP:1194<br />Fri Jul  3 14:59:01 2009 SENT CONTROL [192.168.0.100]: &#039;PUSH_REQUEST&#039; (status=1)<br />Fri Jul  3 14:59:02 2009 PUSH: Received control message: &#039;PUSH_REPLY,route 192.168.1.0 255.255.255.0,route 10.254.245.1,ifconfig 10.254.245.6 10.254.245.5&#039;<br />Fri Jul  3 14:59:02 2009 OPTIONS IMPORT: --ifconfig/up options modified<br />Fri Jul  3 14:59:02 2009 OPTIONS IMPORT: route options modified<br />Fri Jul  3 14:59:02 2009 Note: Cannot ioctl TUNSETIFF tun: Operation not permitted (errno=1)<br />Fri Jul  3 14:59:02 2009 Note: Attempting fallback to kernel 2.2 TUN/TAP interface<br />Fri Jul  3 14:59:02 2009 Cannot allocate TUN/TAP dev dynamically<br />Fri Jul  3 14:59:02 2009 Exiting<br />

idee?? se devo aggiungere il mio utente a qualche gruppo... qual'è?

OpenSUSE Member,Packman Packager, Education Project Admin, LXDE Project Admin
Powered by http://en.opensuse.org/HP_Pavilion_dv6855el

Ritratto di anubis
anubis
(Guru)
Offline
Guru
Iscritto: 07/04/2007
Messaggi: 3656

nessuno?? orion? ferdy? qualche siniorino che lavora spesso con le vpn?

OpenSUSE Member,Packman Packager, Education Project Admin, LXDE Project Admin
Powered by http://en.opensuse.org/HP_Pavilion_dv6855el

Ritratto di orion
orion
(Guru)
Offline
Guru
Iscritto: 11/07/2006
Messaggi: 2919

Passo.

Non lavoro con le VPN.

openSUSE 12.1 on Acer Aspire 1810tz - LXDE ultima versione dal repo x11:/lxde

Ritratto di filotux
filotux
(Monster)
Offline
Monster
Iscritto: 26/11/2006
Messaggi: 307

Non penso che puoi creare una VPN con un utente normale, poiche' implica tirare su un'interfaccia di rete ed aggiornare le tabelle di routing del kernel.

Io usavo vpnc e lo lanciavo sempre da root: non mi sono mai posto il problema di lanciarlo da utente normale. Potresti provare a rendere l'eseguibile suid root, ma secondo me aggiungeresti un'inutile vulnerabilita' al sistema.

Pietro

Debian Lenny on BeagleBoard

Ritratto di chit
chit
(Junior)
Offline
Junior
Iscritto: 13/07/2013
Messaggi: 11

Salve,

OPENVPN deve venire eseguito da root per potere apportare modifiche alla connessione che per motivi di sicurezza può fare solo l’amministratore.

Per poter eseguire openvpn da utente normale si potrebbe usare sudo. Come detto all’applicazione serve solo di potere eseguire il comando “ip” da root per cambiare le impostazioni di rete. Un altra cosa che l'applicazione deve fare da root è aggiungere un interfaccia persistente (tunx) e gestirla.

Eseguire il commando ip da root:

Come prima cosa creare un utente:

# useradd utenteopenvpn -p Pa$$word!!99
#

Poi creare uno script che esegue il comando “sudo ip”. Sudo viene usato per permettere a utenti normali di eseguire alcuni comandi con diritti d’amministratore.

# vi /usr/local/sbin/unpriv-ip
#!/bin/sh
sudo /sbin/ip $*

Usare il comando visudo per permettere all’utente utenteopenvpn di eseguire il comando ip da root.

# visudo
##
## User privilege specification
##
root ALL=(ALL) ALL
utenteopenvpn     ALL =(ALL) NOPASSWD: /sbin/ip

Ora editare il file di configurazione btguard.conf (o il proprio file di configurazione) e aggiungere o modificare le seguenti righe:

# vi /etc/openvpn/btguard.conf
dev tun0
iproute /usr/local/sbin/unpriv-ip

Aggiungere un'interfaccia persistente (tunx) e gestirla

Per aggiungere l'interfaccia farlo all'avvio e dare diritti all'utente creato per gestirla con i seguenti comandi:

# vi /etc/init.d/boot.local
openvpn --rmtun --dev tun0
openvpn --mktun --dev tun0 --dev-type tun --user utenteopenvpn

Per ulteriori informazioni vedere anche qui: Sicurezza – eseguire OPENVPN senza diritti d’amministratore (solo Linux)

Oppure qui: Hardening OpenVPN Security