Fórum Root.cz

Hlavní témata => Server => Téma založeno: darebacik 07. 04. 2018, 16:24:49

Název: Blokování portů ve VPN kromě jednoho
Přispěvatel: darebacik 07. 04. 2018, 16:24:49
Popis problemu:
Na servery je nainstalovany OpenVPN server, ktory funguje celkom dobre.
Na servery je okrem ineho aplikacia, ktora pocuva na porte 12345.
Chcem aby klienti mali povoleny len ten jeden port 12345 (a jeden klient (ja) aby mal pristup aj na ostatnych klientov (porty 80, 21 a pod ...)).
VPN sluzi len cisto na to, aby sa klient pripojil na jednu aplikaciu na porte 12345 (nic viac, ziadny forwarding).
V konfiguracii vpn servera (server.conf) je direktiva
Kód: [Vybrat]
client to clientktora zabezpecuje aby sa klienti videli. Ak tu direktivu pouzijem, tak vsetci sa vidia. Ak direktivu zrusim, klienti sa nevidia.
OpenVPN funguje na IP 10.8.0.0/24. Skusil som to nastavit v UFW, ale nejako to nefunguje.
IP adresa ktora ma mat pristup vsade je 10.8.0.155
Kód: [Vybrat]
Do                         Operácia    Od
--                         --------    --
22                         ALLOW       Anywhere
1194/tcp                   ALLOW       Anywhere
12345/tcp                  ALLOW       Anywhere
Anywhere                   ALLOW       10.8.0.155
21                         DENY        10.8.0.0/24
21                         ALLOW       Anywhere
80                         DENY        10.8.0.0/24
80/tcp                     ALLOW       Anywhere
Zaciatok firewalu vyzera takto.
Povolil som kazdemu port 22, 1194 a 12345.
Dalej som povolil vsetko pre 10.8.0.155
Pre rozsah 10.8.0.0/24 som zakazal port 21, 80 a pre ostatnych tieto porty povolil.
Aj ked mam ufw takto nastaveny, tak klientom z 10.8.0.0/24 funguje aj port 80 aj 21 atd ...
Ako by som dosiahol to co potrebujem ?
Je to vobec mozne ?

Název: Re:blokovanie vpn rozsahu okrem ...
Přispěvatel: darebacik 07. 04. 2018, 18:10:55
sorry !
ovpn mi funguje dobre, takze nevidel som dovod davat sem konfigurak, ale budis
Kód: [Vybrat]
port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key 
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-config-dir ccd
topology subnet
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
user nobody
group nogroup
persist-key
persist-tun
log-append /var/log/openvpn.log
status openvpn-status.log
verb 3
#client-to-client
OS ubuntu 14.04
Problem vidim na urovni firewallu (nepustal som sa do iptables, radsej som pouzil pre mna jednoduchsi ufw) a tabulku ufw som dal v prvom prispevku
Název: Re:blokovanie vpn rozsahu okrem ...
Přispěvatel: honzahommer 07. 04. 2018, 20:25:28
V UFW si nastav deny incoming (ufw deny incoming) - pozor, aby tě to neodtstřihlo od serveru. Poté povol komunikaci přes VPN na port 12345 plus jednu IP co může vidět všude, což jde udělat asi nějak takto...
Kód: [Vybrat]
ufw allow from 10.8.0.0/24 to any port 12345
ufw allow from 10.8.0.155 to any
Název: Re:blokovanie vpn rozsahu okrem ...
Přispěvatel: naseptavac 07. 04. 2018, 21:27:04
A na jakou ip adresu pristupuji ti klienti (port 12345 a ty ostatni porty)?
UFW bezi? (sudo ufw status [verbose])
Vis, ze existuji slozky a soubory jako /etc/default/ufw a /etc/ufw/?
Ses si jistej, ze v "client to client" jsou dve mezery?
Název: Re:blokovanie vpn rozsahu okrem ...
Přispěvatel: darebacik 07. 04. 2018, 22:00:25
Pristupuju na 10.8.0.1 (len na port 12345 maju mat pristup).
ufw bezi
etc/default/ufw
Kód: [Vybrat]
IPV6=no
DEFAULT_INPUT_POLICY="DROP"
DEFAULT_OUTPUT_POLICY="ACCEPT"
DEFAULT_FORWARD_POLICY="DROP"
DEFAULT_APPLICATION_POLICY="SKIP"
MANAGE_BUILTINS=no
IPT_SYSCTL=/etc/ufw/sysctl.conf
IPT_MODULES="nf_conntrack_ftp nf_nat_ftp nf_conntrack_netbios_ns"
V direktive nie su 2 medzeri, su tam pomlcky (mam to v konfiguraku pre server.conf) ale to som pisal z hlavy, takze som tam omylom dal miesto pomlcok medzeri
Název: Re:blokovanie vpn rozsahu okrem ...
Přispěvatel: naseptavac 07. 04. 2018, 22:20:46
Hele, nekde je neco spatne anebo jinak, nez si myslis, a ty nam sem presto davas prevazne slovni odpovedi misto vystupu utilit. Kdyz ty tu chybu nevidis a postujes sem slovni odpovedi, jak asi mame uvidet tu chybu my? To jsou snad uplne zaklady, proboha.
Název: Re:blokovanie vpn rozsahu okrem ...
Přispěvatel: darebacik 08. 04. 2018, 09:07:07
Este raz sa ospravedlnujem. Vsetky konfiguraky co su potrebne pre vyriesenie problemu tu bez problemov mozem dat. Ale na zaciatku som uvazil, ze ak ovpn funguje dobre, tak conf neni potrebny a dal som tu len vypis s ufw.
Nasledne mi bolo pripomenute, ze existuje aj /etc/default/ufw tak som tu hodil aj ten vypis (bez komentarov # aby nebol zbytocne dlhy).
V adresary /etc/ufw mam 28 suborov + dalsi adresar (s dalsimi 4 subormi).
Podla nazvov suborov napr.
Kód: [Vybrat]
after.rules.20170114_170424
before.rules.20170114_170424
usudzujem, ze obsahuju pravidla pred a po zmenach vo firewalle (niektore maju priznak 6 (to bude pre ipv6, takze toto sa asi bude ignorovat, kedze ipv6 mam vypnute)).
Tu je vypis  /etc/ufw/after.rules
Kód: [Vybrat]
#
# rules.input-after
#
# Rules that should be run after the ufw command line added rules. Custom
# rules should be added to one of these chains:
#   ufw-after-input
#   ufw-after-output
#   ufw-after-forward
#

# Don't delete these required lines, otherwise there will be errors
*filter
:ufw-after-input - [0:0]
:ufw-after-output - [0:0]
:ufw-after-forward - [0:0]
# End required lines

# don't log noisy services by default
-A ufw-after-input -p udp --dport 137 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp --dport 138 -j ufw-skip-to-policy-input
-A ufw-after-input -p tcp --dport 139 -j ufw-skip-to-policy-input
-A ufw-after-input -p tcp --dport 445 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp --dport 67 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp --dport 68 -j ufw-skip-to-policy-input

# don't log noisy broadcast
-A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input

# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT
Ja tam vsak nevidim ziadne zmeny, ktore by som vykonaval cez ufw ja.
Prip. tu mozem dat aj vypis iptables -L, ale nechcem zbytocne zas***at forum konfigmi, ktore nies u potrebne.
Este prikladam ukecany vypis ufw
Kód: [Vybrat]
Do                         Operácia    Od
--                         --------    --
22                         ALLOW IN    Anywhere
1194/tcp                   ALLOW IN    Anywhere
12345/tcp                  ALLOW IN    Anywhere
Anywhere                   ALLOW IN    10.8.0.155
21                         DENY IN     10.8.0.0/24
21                         ALLOW IN    Anywhere
80                         DENY IN     10.8.0.0/24
80/tcp                     ALLOW IN    Anywhere
10000                      DENY IN     10.8.0.0/24
10000/tcp                  ALLOW IN    Anywhere
9981                       DENY IN     10.8.0.0/24
9981/tcp                   ALLOW IN    Anywhere
9091                       DENY IN     10.8.0.0/24
9091/tcp                   ALLOW IN    Anywhere
9982                       DENY IN     10.8.0.0/24
9982                       ALLOW IN    Anywhere
443                        DENY IN     10.8.0.0/24
443                        ALLOW IN    Anywhere
25                         ALLOW IN    Anywhere


Název: Re:blokovanie vpn rozsahu okrem ...
Přispěvatel: m.a 08. 04. 2018, 09:47:45
Kód: [Vybrat]
21                         DENY IN     10.8.0.0/24
21                         ALLOW IN    Anywhere
80                         DENY IN     10.8.0.0/24
80/tcp                     ALLOW IN    Anywhere

Pozrel by som sa aj do vypisu iptables.Vypis z ufw bez uvedenia protokolu (80 vs 80/tcp) znamena, ze to pravidlo je nastavene pre UDP aj pre TCP - cize, pre 80/tcp tam mas to pravidlo dvakrat - raz ako deny, raz ako allow - bolo by dobre vidiet, v akom su skutocne poradi.
Název: Re:blokovanie vpn rozsahu okrem ...
Přispěvatel: darebacik 08. 04. 2018, 10:03:41
takze pridavam sem aj iptables -L
Kód: [Vybrat]
Chain INPUT (policy DROP)
target     prot opt source               destination         
ufw-before-logging-input  all  --  anywhere             anywhere           
ufw-before-input  all  --  anywhere             anywhere           
ufw-after-input  all  --  anywhere             anywhere           
ufw-after-logging-input  all  --  anywhere             anywhere           
ufw-reject-input  all  --  anywhere             anywhere           
ufw-track-input  all  --  anywhere             anywhere           

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ufw-before-logging-forward  all  --  anywhere             anywhere           
ufw-before-forward  all  --  anywhere             anywhere           
ufw-after-forward  all  --  anywhere             anywhere           
ufw-after-logging-forward  all  --  anywhere             anywhere           
ufw-reject-forward  all  --  anywhere             anywhere           
ufw-track-forward  all  --  anywhere             anywhere           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ufw-before-logging-output  all  --  anywhere             anywhere           
ufw-before-output  all  --  anywhere             anywhere           
ufw-after-output  all  --  anywhere             anywhere           
ufw-after-logging-output  all  --  anywhere             anywhere           
ufw-reject-output  all  --  anywhere             anywhere           
ufw-track-output  all  --  anywhere             anywhere           

Chain ufw-after-forward (1 references)
target     prot opt source               destination         

Chain ufw-after-input (1 references)
target     prot opt source               destination         
ufw-skip-to-policy-input  udp  --  anywhere             anywhere             udp dpt:netbios-ns
ufw-skip-to-policy-input  udp  --  anywhere             anywhere             udp dpt:netbios-dgm
ufw-skip-to-policy-input  tcp  --  anywhere             anywhere             tcp dpt:netbios-ssn
ufw-skip-to-policy-input  tcp  --  anywhere             anywhere             tcp dpt:microsoft-ds
ufw-skip-to-policy-input  udp  --  anywhere             anywhere             udp dpt:bootps
ufw-skip-to-policy-input  udp  --  anywhere             anywhere             udp dpt:bootpc
ufw-skip-to-policy-input  all  --  anywhere             anywhere             ADDRTYPE match dst-type BROADCAST

Chain ufw-after-logging-forward (1 references)
target     prot opt source               destination         
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Chain ufw-after-logging-input (1 references)
target     prot opt source               destination         
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Chain ufw-after-logging-output (1 references)
target     prot opt source               destination         

Chain ufw-after-output (1 references)
target     prot opt source               destination         

Chain ufw-before-forward (1 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere             icmp destination-unreachable
ACCEPT     icmp --  anywhere             anywhere             icmp source-quench
ACCEPT     icmp --  anywhere             anywhere             icmp time-exceeded
ACCEPT     icmp --  anywhere             anywhere             icmp parameter-problem
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
ufw-user-forward  all  --  anywhere             anywhere           

Chain ufw-before-input (1 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere           
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ufw-logging-deny  all  --  anywhere             anywhere             ctstate INVALID
DROP       all  --  anywhere             anywhere             ctstate INVALID
ACCEPT     icmp --  anywhere             anywhere             icmp destination-unreachable
ACCEPT     icmp --  anywhere             anywhere             icmp source-quench
ACCEPT     icmp --  anywhere             anywhere             icmp time-exceeded
ACCEPT     icmp --  anywhere             anywhere             icmp parameter-problem
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
ACCEPT     udp  --  anywhere             anywhere             udp spt:bootps dpt:bootpc
ufw-not-local  all  --  anywhere             anywhere           
ACCEPT     udp  --  anywhere             224.0.0.251          udp dpt:mdns
ACCEPT     udp  --  anywhere             239.255.255.250      udp dpt:1900
ufw-user-input  all  --  anywhere             anywhere           

Chain ufw-before-logging-forward (1 references)
target     prot opt source               destination         

Chain ufw-before-logging-input (1 references)
target     prot opt source               destination         

Chain ufw-before-logging-output (1 references)
target     prot opt source               destination         

Chain ufw-before-output (1 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere           
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ufw-user-output  all  --  anywhere             anywhere           

Chain ufw-logging-allow (0 references)
target     prot opt source               destination         
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW ALLOW] "

Chain ufw-logging-deny (2 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere             ctstate INVALID limit: avg 3/min burst 10
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Chain ufw-not-local (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere             ADDRTYPE match dst-type LOCAL
RETURN     all  --  anywhere             anywhere             ADDRTYPE match dst-type MULTICAST
RETURN     all  --  anywhere             anywhere             ADDRTYPE match dst-type BROADCAST
ufw-logging-deny  all  --  anywhere             anywhere             limit: avg 3/min burst 10
DROP       all  --  anywhere             anywhere           

Chain ufw-reject-forward (1 references)
target     prot opt source               destination         

Chain ufw-reject-input (1 references)
target     prot opt source               destination         

Chain ufw-reject-output (1 references)
target     prot opt source               destination         

Chain ufw-skip-to-policy-forward (0 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere           

Chain ufw-skip-to-policy-input (7 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere           

Chain ufw-skip-to-policy-output (0 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere           

Chain ufw-track-forward (1 references)
target     prot opt source               destination         

Chain ufw-track-input (1 references)
target     prot opt source               destination         

Chain ufw-track-output (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             ctstate NEW
ACCEPT     udp  --  anywhere             anywhere             ctstate NEW

Chain ufw-user-forward (1 references)
target     prot opt source               destination         

Chain ufw-user-input (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     udp  --  anywhere             anywhere             udp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:openvpn
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:12345
ACCEPT     all  --  10.8.0.155           anywhere           
DROP       tcp  --  10.8.0.0/24          anywhere             tcp dpt:ftp
DROP       udp  --  10.8.0.0/24          anywhere             udp dpt:fsp
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ftp
ACCEPT     udp  --  anywhere             anywhere             udp dpt:fsp
DROP       tcp  --  10.8.0.0/24          anywhere             tcp dpt:http
DROP       udp  --  10.8.0.0/24          anywhere             udp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
DROP       tcp  --  10.8.0.0/24          anywhere             tcp dpt:webmin
DROP       udp  --  10.8.0.0/24          anywhere             udp dpt:10000
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:webmin
DROP       tcp  --  10.8.0.0/24          anywhere             tcp dpt:9981
DROP       udp  --  10.8.0.0/24          anywhere             udp dpt:9981
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:9981
DROP       tcp  --  10.8.0.0/24          anywhere             tcp dpt:9091
DROP       udp  --  10.8.0.0/24          anywhere             udp dpt:9091
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:9091
DROP       tcp  --  10.8.0.0/24          anywhere             tcp dpt:9982
DROP       udp  --  10.8.0.0/24          anywhere             udp dpt:9982
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:9982
ACCEPT     udp  --  anywhere             anywhere             udp dpt:9982
DROP       tcp  --  10.8.0.0/24          anywhere             tcp dpt:https
DROP       udp  --  10.8.0.0/24          anywhere             udp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     udp  --  anywhere             anywhere             udp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:smtp
ACCEPT     udp  --  anywhere             anywhere             udp dpt:25

Chain ufw-user-limit (0 references)
target     prot opt source               destination         
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 5 LOG level warning prefix "[UFW LIMIT BLOCK] "
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain ufw-user-limit-accept (0 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere           

Chain ufw-user-logging-forward (0 references)
target     prot opt source               destination         

Chain ufw-user-logging-input (0 references)
target     prot opt source               destination         

Chain ufw-user-logging-output (0 references)
target     prot opt source               destination         

Chain ufw-user-output (1 references)
target     prot opt source               destination         
BTW vpn klienti by nemali mat skrz openvpn pristup na internet. Proste ich koncova aplikacia bezi na 10.8.0.1 na porte 12345, takze  preto ich ani nesmerujem von a nenastavoval som
Kód: [Vybrat]
echo 1 > /proc/sys/net/ipv4/ip_forward
Název: Re:blokovanie vpn rozsahu okrem ...
Přispěvatel: m.a 08. 04. 2018, 12:37:31
Este mi napadlo: V prvom poste pises o tom, ze klientom z 10.8.0.0/24 "funguje" 21 aj 80 - predpokladam, ze si tym chcel povedat, ze na 10.8.0.1 bezia nejake FTP a HTTP demony a klienti sa bez problemov pripoja na 10.8.0.1:21 a 10.8.0.1:80. Je to tak?
Název: Re:blokovanie vpn rozsahu okrem ...
Přispěvatel: darebacik 08. 04. 2018, 14:31:35
Da sa to aj tak povedat.
Ak pouzijem v nastaveni (openvpn) /etc/openvpn/serve.conf directivu
Kód: [Vybrat]
client-to-clienttak klienti sa vidia aj navzajom (co vlastne nechcem).
Kazdy klient v ovpn sieti ma maly web a ftp server a mozu si na nich navzajom chodit.
Toto teraz vlastne blokujem tou direktivou client-to-client, ale v tomto pripade nemoze nikto ku nikomu.
Ak chcem nieco na ich web, alebo ftp server nahrat, tak musim direktivu client-to-client zaremovat "#", restartnut openvpn, urobim to co potrebujem, odermujem client-to-client a znova restartnem openvpn.
To je dost neprakticke, preto to chcem poriesit firewallom.
Mozno pomoze obrazok s popisom :)
Název: Re:blokovanie vpn rozsahu okrem ...
Přispěvatel: naseptavac 08. 04. 2018, 21:41:47
Takze tobe jde o dostupnost portu na klientech? V tom pripade nema smysl nastavovat firewall na serveru. Data OpenVPN mezi klienty netecou pres kernel serveru jako data mezi regulernimi interfacy. Nahod si treba na serveru sam pro sebe proxy a nebudes muset sachovat s client-to-client. Respektive, pokud by ti stacil vestaveny proxy v shh, staci se konektit na server pres ssh -D...
Název: Re:Blokování portů ve VPN kromě jednoho
Přispěvatel: Palo M. 09. 04. 2018, 07:27:27
Aj v pripade, ze by mu islo o dostupnost portov na vpn-klientoch, moze mat vyznam nastavovat firewall na openvpn-serveri (napriklad ak darebacik chce, aby ten jeden "privilegovany" vpn-klient mohol chodit na ostatnych klientov, ale ostatni klienti aby sa medzi sebou "nevideli"). Ibaze v takom pripade tie firewallove pravidla nemaju byt pre input chain, ale pre forward chain.

Ale cely ten darebacikov popis je pomerne nekonzistentny, takze si nie som uplne isty, ze ide o tento pripad (teda ze napriklad vpn-klient 10.8.0.150 je zaroven http-server pocuvajuci na 10.8.0.150:80). Najprv totiz pisal len o "klientoch" (ani zmienka o tom, ze z hladiska http su to zaroven servery). Ten obrazok zase vyzera, akoby kazdy klient bol aj http a ftp server, ale zase potom co tie "rozne porty" na vpn-serveri?

Darebacik, kym nenapises jasne, co chces dosiahnut, tak zmysluplnu odpoved nedostanes.
- Kde ti bezia ake sluzby (na ktorej adrese+porte pocuvaju)?
- Odkial kam (z ktorej zdrojovej adresy na ktoru cielovu adresu+port) ma byt pristup povoleny
- Pre istotu aj ktore pristupy maju byt zakazane
- Aky je vlastne zmysel toho OpenVPN? (Vidim, ze server ma len neverejnu LAN adresu 192.168.1.3, ako sa teda ti VPN klienti nan pripajaju? Tiez cez LAN 192.168.0.0/16? Naco potom VPN?)

Ono ked nevies strucne a jasne popisat situaciu, tak vznika dost velke podozrenie ze to je preto, ze v tom mas sam riadny hokej. Vacsina odborne zdatnych ludi v takom pripade nema velku motivaciu ti radit. Pretoze vedia, ako to v takych pripadoch konci.
Název: Re:Blokování portů ve VPN kromě jednoho
Přispěvatel: darebacik_z_prace 09. 04. 2018, 09:43:06
Napisem to presne a detailne ked pridem z prace.
Nechcel som to tak zo siroka pisat, pretoze som si myslel, ze to nebude zlozite poriesit firewallom
Název: Re:Blokování portů ve VPN kromě jednoho
Přispěvatel: naseptavac 09. 04. 2018, 11:48:55
Nastavovat firewall na serveru vyznam mit muze, ale ne pro komunikaci klient-klient :)
Název: Re:Blokování portů ve VPN kromě jednoho
Přispěvatel: darebacik 09. 04. 2018, 21:47:33
V LAN mam 1x linuxovy server (IP 192.168.1.3). Na tom servery je nainstalovany openvpn server (IP 10.8.0.1, siet 10.8.0.0/24).
Dalej su na servery nejake sluzby, ktore pocuvaju na roznych portoch (napr. webmin 10000, ftp 21 a pod ....).
Nechcem to tu rozpisovat co vsetko tam bezi, lebo je toho viac (ide len o princip).
Ked som v LAN, tak sa na tie sluzby dostanem normalnym  sposobom, napr na webmin https://192.168.1.3:10000, alebo na ftp, ftp://192.168.1.3 (samozrejme pre pristup na ftp, alebo webmin je potrebne vediet heslo).
Ako sa pytal Palo, ci openvpn pouzivam v LAN sieti .... NIE, openvpn klienti su mimo LAN (na VPN server sa pripoja cez moju verejnu IPv4 a v routery mam forward na linux server).
Openvpn klient sa na openvpn server prihlasi (tam nie je ziadny problem). Zo zaciatku som nepouzival UFW a klient ak zadal 10.8.0.1:10000 tak sa teoreticky mohol dostat na webmin (samozrejme heslo nevie, tak sa tam nedostal).
Tak som zacal vytvarat v UFW pravidla a pre webmin som spravil
Kód: [Vybrat]
10000                      DENY IN     10.8.0.0/24
10000/tcp                  ALLOW IN    Anywhere
Siet 10.8.0.0/24 ma zakazany port 10000 a ostatny ho maju povoleny.
Samozrejme predtym som este nastavil aby  mala IP 10.8.0.155 (ja) vsetko povolene
Kód: [Vybrat]
Anywhere                   ALLOW IN    10.8.0.155Funguje to takto, ze z IP 10.8.0.155 sa viem dostat na serverove sluzby napr. na webmin 10.8.0.1:10000, alebo aj ftp (ostatny klienti sa tam nevedia dostat a aspon toto je OK).
Ja (10.8.0.155) sa vsak potrebujem dostat aj na klientske stroje (pozri obr. vyssie) na ktorych bezi napr. web, ftp, ssh .... (potrebujem ich spravovat). Problem je v tom, ze klienti sa navzajom vidia. Cize ak nejaky klient napr 10.8.0.152 zada do brovsera 10.8.0.153, tak sa dostane na web toho klienta a toto ja nechcem.
Ako som napisal vyssie, riesim to zatial cez client-to-client, ale to je dost neprakticke.

Neviem ci som to napisal dost pochopitelne, ale snad ano.
Otazka je,  ci by sa to dlo vyriesit firewallom, alebo naseptavac spominal nejaky proxy (to neviem ako by fungovalo).
Myslim, ze vo firewalle bude treba pouzit asi aj forward, ale zatail neviem ako na to.
Název: Re:Blokování portů ve VPN kromě jednoho
Přispěvatel: Palo M. 13. 04. 2018, 06:33:36
Ako som pisal uz predtym, pristup z jedneho klienta na druheho musis riesit v chaine forward. Chain input je len na to, co vchadza do servera samotneho (a uz tam zostane, nie je posielane dalej, teda sluzby beziace na server).

Ma to ale aj dalsiu rovinu: Ako chces zabranit tomu, aby klient1 nepristupoval na klienta2 mimo VPN? Ked su obidva na verejnom internete a pouzivaju OpenVPN na pristup na ten server, stale je mozne, ze budu na seba postupovat cez internet.

V drvivej vacsine pripadov je preto vhodnejsie, ked je firewall na kazdom zo strojov, ktory chces chranit. Teda na VPN server das firewall, ktory chrani len server samotny (a neriesi ochranu VPN klientov medzi sebou). A kazdy z VPN klientov ma svoj vlastny firewall, ktory chrani sluzby na tom jednom klientovi.
Odporucam ti vydat sa touto cestou, na to nepotrebujes ani spekulovat nad pravidlami pre forward (ktore, ako si napisal, nevies ako vytvorit), ale kazdy zo strojov nastavis "standardnym" firewallom (napriklad ten UFW na kazdom stroji, ktory v zaklade pouzit uz vies).
Název: Re:Blokování portů ve VPN kromě jednoho
Přispěvatel: naseptavac 13. 04. 2018, 12:13:46
Ako som pisal uz predtym, data mezi klienty OpenVPN netecou chainem FORWARD :) A skrz iptables prochazi uz v zasifrovane podobe.
Název: Re:Blokování portů ve VPN kromě jednoho
Přispěvatel: Palo M. 17. 04. 2018, 04:28:14
Fakt by si mal riesit v prvom rade, ako ochranit tych klientov pred lubovolnymi pristupmi z netu, a az potom sa zaoberat tym, ci na seba maju alebo nemaju vidiet v ramci VPN. To chces mat na tych klientoch ftp servery ktore budu fasa zabezpecene pred pristupmi v ramci VPN, ale zaroven otvorene do internetu? To asi nie, ze?

Ak su vsetci vpn-klienti na jednom VPN a je povolene client-to-client, tak je to naozaj ako napisal naseptavac a data medzi nimi idu len v ramci openvpn (nedaju sa filtrovat cez iptables). Ako som pochopil, ty ale nepotrebujes pristup odvsadial vsade, ale len z jedneho stroja na vsetky ostatne. To sa da zariadit viacerymi sposobmi, napriklad aj tak, ze si spravis 2 VPN siete, jednu "beznu" a jednu "manazment" a povolis pristup z manazmentu do beznej (medzi tun0 a tun1, to uz cez iptables pojde). Alebo cez ten proxy, ci ssh tunel na serveri. Je viacero moznosti (a zalezi aj na tom, ci chces ist len na par specifickych sluzieb ako http/ftp, kde je asi jednoduchsi ten proxy, alebo chces viac univerzalny pristup a chces to robit cez sietovanie).

Ale naozaj by si toto mal riesit az uplne nakoniec, az budes mat rozumne spojazdnene firewally na tych klientoch (a s vysokou pravdepodobnostou pritom zistis, se nakoniec nemusis riesit nic navyse a pojdes tam napriamo, ked to vzdy osetris univerzalne na cielovom firewalle).
Název: Re:Blokování portů ve VPN kromě jednoho
Přispěvatel: darebacik 17. 04. 2018, 15:20:14
Klienti z netu nie su velmi pristupny, lebo su vsetci urcite za NAT.
Teraz uvazujem ze by sa to dalo poriesit ufw, ale pristupovat na klientov by som musel priamo zo servera (nie ako klient 10.8.0.155, ale priamo z 10.8.0.1).
Problem ale vidim v tom, ze ked by som chcel pristupovat cez web prehliadac, tak to asi nepojde, lebo server je bez Xiek (na server sa prihlasujem len cez ssh).
Ale to by hadam ufw poriesit slo.
Název: Re:Blokování portů ve VPN kromě jednoho
Přispěvatel: DeepSleep 17. 04. 2018, 16:40:32
ssh se da pouzit pro socks5 proxy
a socks5 proxy se da nastavit v prohlizeci
uz ti to psali - zkus treba prekvapive google
je to jednoduche

https://www.systutorials.com/944/proxy-using-ssh-tunnel/
Název: Re:Blokování portů ve VPN kromě jednoho
Přispěvatel: darebacik 19. 04. 2018, 20:15:10
principialne neviem ako to riesit cez proxy
Název: Re:Blokování portů ve VPN kromě jednoho
Přispěvatel: naseptavac 19. 04. 2018, 20:42:11
ssh -D 127.0.0.1:8888 10.8.0.1
(pripadne pod windows nastavit u putty Connection/SSH/Tunnels Source port 8888 jako Dynamic)

a v prohlizeci nastavit socks5 server 127.0.0.1:8888