[ CoyoteKG @ 20.07.2017. 16:16 ] @
Instalirao sam OpenVPN na jednom serveru koji će služiti samo za te svrhe.
Dakle tu mi je potreban samo SSH pristup tom serveru sa odredjenih lokacija.
Ali bih takodje ogranicio OUTPUT tabelu, da moze da se pristupi samo tih nekoliko servera. Dakle FTP, SSH, RDP, MySQL, MSSQL. Za slucaj da neko od kolega pozeli da skida torente i kojesta, a zaboravi da se diskonektuje.
Takođe i samo sajtovima koji su hostovani na tim serverima. Što znači još i portove 80 i 443.

Išao sam logikom da mi policy bude DROP na input i output. Kasnije ću namestiti i na forward.
Nakon toga htedoh samo da dozvolim određene rulove u tim tabelama i ovo je primer.

[root@vpn ~]# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED # Ovo videh da treba da stavim, pojma nemam čemu služi, valjda za trenutno uspostavljene konekcije, šta god da to u praksi znači
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT udp -- anywhere anywhere udp dpt:openvpn
DROP icmp -- anywhere anywhere icmp echo-request # Ovo je valjda OK praksa ako zelim da me ne pinguju. Ne shvatam prave prednosti toga, ali stavih
ACCEPT icmp -- anywhere anywhere # takodje negde videh da sve ostalo osim pinga treba da dozvolim


Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp spt:ssh
ACCEPT udp -- anywhere anywhere udp spt:openvpn


Naravno tu je i
# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.8.0.0/24 anywhere



E sad, kako sam ja mislio da kapiram, sa DROP polisom na OUTPUT Chain-u i samo dozvoljenim portovima ka SSH i openvpn, mislio sam da nikakav drugi saobracaj mi nece biti dozvoljen sa OpenVPN servera. Ali evo upravo sam zakacen i pisem ovde bez problema. Cak i kad proverim koja mi je public adresa, ispise mi adresu openvpn servera.
Sta sam pogresno shvatio? :)

E da, ip6tables još mi je ACCEPT, ali bih sve to stavio na DROP bez ikakvih rulova. Sta gubim tim? Recimo ako neko ima public ipv6 adresu, nece moci da se nakaci na server?


# ip6tables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[ CoyoteKG @ 21.07.2017. 14:44 ] @
OK, tukao sam glavu malo duže, ali sad na prvi pogled mi izgleda da sam došao do rešenja :)
promenio polisu FORWARD u DROP, i dodao dva rule-a


[root@vpn ~]# iptables -L FORWARD
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- 10.8.0.0/24 srv.xx.com
ACCEPT all -- srv.xx.com 10.8.0.0/24
[ CoyoteKG @ 01.08.2017. 10:31 ] @
Znam da sam dosadan, i da se eto tako s vremena na vreme dopisujem sam sa sobom :D, ali mi bude zgodno kad mi zatreba nesto pa nadjem sta sam pitao i sta sam saznao...
Naravno pre nego sto dodjem ovde pokusam da izguglam odgovor... bude lakse i brze.


Sad imam nov problem, zanimljivo mi ovo oko opevpn i taman mi je vezba i ucenje kako funkcionisu iptables.
Nije u upotrebi openvpn, ali mozda bude. Ovo mi je vise "igranje".

Dakle, ideja mi je, ako nekada dam pristup VPN serveru nekom kolegi ili saradniku, ne bih hteo da se desi da koriste moj vpn server za torrente, porn, ili taj neki darkweb ili ko zna sta slicno. Naravno ne verujem da ce do toga doci, ali eto...
Kao sto u prethodnim postovima napisah, dropovao sam sve chainove, i dozvolio samo odredjene rulove.
Recimo forwardovao sam kroz iptables pristup tom nekom nasem web serveru. I super je, uglavnom radi brzo i kako treba. nakacim se na SSH, FTP, otvorim pojedine stranice, ali mi problem zadaju pojedini sajtovi.
Vrti po minut i tek onda prikaze, pa sam skontao da ne moze da dovuce fontove, google map, razne JS koji su na nekim public serverima. Samim tim sajt zabode dok pokusava to da dovuce, i onda to pukne i otvori se sajt malo izoblicen, odnosno bez fontova i ostalog.

Pojma nemam kako ovo da resim, da svi sajtovi na serveru funkcionisu u potpunosti.

Pokusao sam da dodam ovakva pravila

iptables -A FORWARD -s 10.8.0.0/24 -d fonts.googleapis.com -j ACCEPT
iptables -A FORWARD -s fonts.googleapis.com -d 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -d maps.googleapis.com -j ACCEPT
iptables -A FORWARD -s maps.googleapis.com -d 10.8.0.0/24 -j ACCEPT

Jer recimo font koji mi se ne očita je na ovom linku
http://fonts.googleapis.com/cs...9084a9d7750116d5b511104fdbb79d
Pa čak i sa tog linka sam video da dovlači font sa
http://fonts.gstatic.com/s/ana...-gvY6323mHUZFJMgTvxaG2iE.woff2
pa dodah i fonts.gstatic.com u iptables

I onda mi FORWARD chain izgleda ovako, ali i dalje ne mogu da otvorim te linkove

# iptables -L FORWARD
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- 10.8.0.0/24 srv.xx.com
ACCEPT all -- srv.xx.com 10.8.0.0/24
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- 10.8.0.0/24 fra15s17-in-f10.1e100.net
ACCEPT all -- fra15s17-in-f74.1e100.net 10.8.0.0/24
ACCEPT all -- 10.8.0.0/24 fra15s18-in-f106.1e100.net
ACCEPT all -- 10.8.0.0/24 fra16s12-in-f202.1e100.net
ACCEPT all -- 10.8.0.0/24 fra15s22-in-f170.1e100.net
ACCEPT all -- 10.8.0.0/24 fra15s24-in-f234.1e100.net
ACCEPT all -- 10.8.0.0/24 fra16s18-in-f138.1e100.net
ACCEPT all -- 10.8.0.0/24 fra16s20-in-f10.1e100.net
ACCEPT all -- 10.8.0.0/24 fra15s28-in-f10.1e100.net
ACCEPT all -- 10.8.0.0/24 fra16s24-in-f10.1e100.net
ACCEPT all -- 10.8.0.0/24 fra16s25-in-f10.1e100.net
ACCEPT all -- 10.8.0.0/24 fra15s09-in-f10.1e100.net
ACCEPT all -- 10.8.0.0/24 fra15s10-in-f74.1e100.net
ACCEPT all -- 10.8.0.0/24 fra15s11-in-f170.1e100.net
ACCEPT all -- 10.8.0.0/24 fra15s12-in-f42.1e100.net
ACCEPT all -- 10.8.0.0/24 fra16s07-in-f10.1e100.net
ACCEPT all -- 10.8.0.0/24 fra16s08-in-f10.1e100.net
ACCEPT all -- 10.8.0.0/24 fra15s16-in-f10.1e100.net
ACCEPT all -- fra15s11-in-f170.1e100.net 10.8.0.0/24
ACCEPT all -- fra15s12-in-f42.1e100.net 10.8.0.0/24
ACCEPT all -- fra16s07-in-f10.1e100.net 10.8.0.0/24
ACCEPT all -- fra16s08-in-f10.1e100.net 10.8.0.0/24
ACCEPT all -- fra15s16-in-f42.1e100.net 10.8.0.0/24
ACCEPT all -- fra15s18-in-f106.1e100.net 10.8.0.0/24
ACCEPT all -- fra16s12-in-f10.1e100.net 10.8.0.0/24
ACCEPT all -- fra15s22-in-f170.1e100.net 10.8.0.0/24
ACCEPT all -- fra15s24-in-f234.1e100.net 10.8.0.0/24
ACCEPT all -- fra16s18-in-f10.1e100.net 10.8.0.0/24
ACCEPT all -- fra16s20-in-f10.1e100.net 10.8.0.0/24
ACCEPT all -- fra15s28-in-f10.1e100.net 10.8.0.0/24
ACCEPT all -- fra16s24-in-f10.1e100.net 10.8.0.0/24
ACCEPT all -- fra16s25-in-f10.1e100.net 10.8.0.0/24
ACCEPT all -- fra15s09-in-f10.1e100.net 10.8.0.0/24
ACCEPT all -- fra15s10-in-f10.1e100.net 10.8.0.0/24
ACCEPT all -- 10.8.0.0/24 fra15s18-in-f106.1e100.net
ACCEPT all -- fra15s18-in-f10.1e100.net 10.8.0.0/24
ACCEPT all -- 10.8.0.0/24 fra16s20-in-f10.1e100.net
ACCEPT all -- fra16s20-in-f10.1e100.net 10.8.0.0/24


Kako da propustim sve google-ovo, kroz iptables?
Mislim... osnovna funkcija ovog VPN bi bila samo da omoguci FTP i MySQL pristup, pa onda ako hoce da gledaju sajtove, lepo se diskonektuju... nego sam eto znatizeljan