Archiwa kategorii: My Home & Lab Infrastructure

[Ubiquiti Edge Router] zone-based firewall with VMware environment – Quick review kit

Share

Hello,

I was preparing for this tutorial long time… so here it is -> zone-based firewall with VMware environment.

Together with this post there supposed to be video tutorial as, I experienced some technical issues when I was preparing movie (mostly with quality of my voice)

At the moment I am waiting for new microphone, and then once again I will prepare movie and publish on YouTube channel and of course will post here with information.

Please have a look on quick review kit how to deal with zone-based firewalling on Ubiquiti Edge Router series, below you will find agenda, and hopefully soon will finish movie.

Hope you like it, any questions please leave comment. Please don’t forget to subscribe 🙂

Agenda

– Ubiquiti Edge Route lite part –

  1. Prepare interfaces (per zone) on Ubiquiti Edge Router Lite -> eth1.600
    (VLAN, IP addressing)
  2. Configure firewall policies
    – Firewall Group (object)
    – Access Control List per firewall group (object)
  3. zone-based policy
    – Configure relations between zone ZONE:WAN (external) and ZONE:UBNT (internal)
  4. Troubleshooting based on SSH 22/TCP issue
    – tcpdump
    – understading TCP flags
    – three way handshake
    – conntrack

– VMware ESXi server part –

  1. Configure vSwitch
    – Create new port group
    – Add VLAN number 600
  2. Configure Virtual Machine
    – Assign to port-group on VMware
    – Provide IP addressing on vNIC

Ubiquiti-Edge-Router-zone-based-firewall-with-VMware-environment

 

Share

VirtualOlivia Home Data Center | Amazon AWS Project. Crazy! :)

Share

Hello!

I want to share something with you 🙂
Yes, I know it is! it will be very sick what I want to do. But  it is me! Crazy IT guy nioch nioch.

OK, now i’m serious. I’m going to implement in my home environment & infrastructure some 3rd party backup service provider. I decided it will me Amazon AWS.

Everything will based on VMware Solution, virtual router probably Vyatta or Cisco vASA as a Virtual Appliance (depends of free limitations) i think max up to 20 megs of traffic. Will check this. (not sure)

Everything will connected via secured IPsec tunnel Site-to-Site.
Below just attached draft topology.

Stay tuned!

VirtualOlivia Data Center Amazon AWS Project

Share

Cacti & Centreon Network Monitoring Tools | Implementation has been done

Share

Hi everyone!

Just to let you know that I spent whole last weekend to implement some monitoring tools
in my Home Data Center and Global Network.

Everything is based on Virtual Machines thanks to VMware ESXi 6.0.0 Hypervisor.

VMware-ESXi-Server

I used:

Centreon – IT & Network Monitoring -> www.centreon.com
Cacti – The Complete RRDTool-based Graphing Solution -> www.cacti.net

These tools are so great!
Just attached some print screens from GUI interfaces. Enjoy!

NMS-Centreon

NMS-Cacti

If you have any question. Just give me a shout.

Cheers! 🙂

Share

Ubiquiti EdgeRouter – OpenVPN Remote Access – How to [PL] [UPDATE]

Share

Cześć !

Poniżej przedstawiam krotki poradnik jak skonfigurować OpenVPN na urządzeniu Ubiquiti EdgeRouter.

Poradnik składa się z następujących części:

1. Wygenerowanie certyfikatu CA
2. Wygenerowanie klucza dla serwera CA
3. Wygenerowanie klucza dla klienta który będzie się łączyć do serwera OpenVPN z własnym certyfikatem
4. Wygenerowanie pliku szyfrującego w oparciu o protokół  Diffiego-Hellmana
5. Konfiguracja interfejsu vtun1 na urządzeniu Ubiquiti EdgeRouter
6. Konfiguracja protokołu SSH z poziomu Linuxa Ubiquiti EdgeRouter oraz ściągniecie plików dla klienta w celu zdalnego połączenia.
7. Test połączenia
8. Firewall

Zatem do dziela!

1. Wygenerowanie certyfikatu CA

Zaloguj się via ssh na urządzenie, następnie musimy przejść do „linuxa” naszego routera.

sudo su

Przenosimy pliki OpenVPN’a do /config/auth/ca, oraz tworzymy folder „keys”

cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /config/auth/ca

mkdir keys

Wydajemy następujące polecenia

root@ERL02-Skarzysko-Zielna-PL:/config/auth/ca# source vars
(Dostaniemy taki komunikat:
NOTE: If you run ./clean-all, I will be doing a rm -rf on /config/auth/ca/keys

root@ERL02-Skarzysko-Zielna-PL:/config/auth/ca# ./clean-all

Tworzymy certyfikat CA

root@ERL02-Skarzysko-Zielna-PL:/config/auth/ca# ./build-ca

Generating a 1024 bit RSA private key
.++++++
………..++++++
writing new private key to ‚ca.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‚.’, the field will be left blank.
—–
Country Name (2 letter code) [US]:PL
State or Province Name (full name) [CA]:Swietokrzyskie
Locality Name (eg, city) [SanFrancisco]:Skarzysko-Kamienna
Organization Name (eg, company) [Fort-Funston]:VirtualOlivia
Organizational Unit Name (eg, section) [changeme]:VirtualOlivia
Common Name (eg, your name or your server’s hostname) [changeme]:ERL02-Skarzysko-Zielna-PL
Name [changeme]:VirtualOlivia
Email Address [mail@host.domain]: !!! twój adres e-mail !!! 

2. Wygenerowanie klucza dla serwera CA

root@ERL02-Skarzysko-Zielna-PL:/config/auth/ca# ./build-key-server ERL02-Skarzysko-Zielna-PL-Server
Generating a 1024 bit RSA private key
…………..++++++
……………………………………………….++++++
writing new private key to ‚ERL02-Skarzysko-Zielna-PL-Server.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‚.’, the field will be left blank.
—–
Country Name (2 letter code) [US]:PL
State or Province Name (full name) [CA]:Swietokrzyskie
Locality Name (eg, city) [SanFrancisco]:Skarzysko-Kamienna
Organization Name (eg, company) [Fort-Funston]:VirtualOlivia
Organizational Unit Name (eg, section) [changeme]:VirtualOlivia
Common Name (eg, your name or your server’s hostname) [ERL02-Skarzysko-Zielna-PL-Server]:
Name [changeme]:VirtualOlivia
Email Address [mail@host.domain]: !!! twój adres e-mail !!! 

Please enter the following ‚extra’ attributes
to be sent with your certificate request
A challenge password []: !!! tutaj daj mega ściśle tajne hasło !!! 
An optional company name []:VirtualOlivia
Using configuration from /config/auth/ca/openssl-1.0.0.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’PL’
stateOrProvinceName :PRINTABLE:’Swietokrzyskie’
localityName :PRINTABLE:’Skarzysko-Kamienna’
organizationName :PRINTABLE:’VirtualOlivia’
organizationalUnitName:PRINTABLE:’VirtualOlivia’
commonName :PRINTABLE:’ERL02-Skarzysko-Zielna-PL-Server’
name :PRINTABLE:’VirtualOlivia’
emailAddress :IA5STRING:  !!! twój adres e-mail !!! 
Certificate is to be certified until Nov 29 22:06:59 2024 GMT (3650 days)
Sign the certificate? [y/n]:y

Potwierdzenie wygenerowanego klucza dla naszego serwera.

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

3. Wygenerowanie klucza dla klienta który będzie się łączyć do serwera OpenVPN z własnym certyfikatem

Powtarzamy procedurę tak jak to miało miejsce w punkcie 1.

root@ERL02-Skarzysko-Zielna-PL:/config/auth/ca# source vars
(Dostaniemy taki komunikat:
NOTE: If you run ./clean-all, I will be doing a rm -rf on /config/auth/ca/keys

root@ERL02-Skarzysko-Zielna-PL:/config/auth/ca# ./build-key ERL02-Skarzysko-Zielna-PL-Client
Generating a 1024 bit RSA private key
……………………………..++++++
………………….++++++
writing new private key to ‚ERL02-Skarzysko-Zielna-PL-Client.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‚.’, the field will be left blank.
—–
Country Name (2 letter code) [US]:PL
State or Province Name (full name) [CA]:Swietokrzyskie
Locality Name (eg, city) [SanFrancisco]:Skarzysko-Kamienna
Organization Name (eg, company) [Fort-Funston]:VirtualOlivia
Organizational Unit Name (eg, section) [changeme]:VirtualOlivia
Common Name (eg, your name or your server’s hostname) [ERL02-Skarzysko-Zielna-PL-Client]:
Name [changeme]:VirtualOlivia
Email Address [mail@host.domain]:!!! twój adres e-mail !!!

Please enter the following ‚extra’ attributes
to be sent with your certificate request
A challenge password []: !!! tutaj daj mega ścisłe tajne hasło !!! 
An optional company name []:VirtualOlivia
Using configuration from /config/auth/ca/openssl-1.0.0.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’PL’
stateOrProvinceName :PRINTABLE:’Swietokrzyskie’
localityName :PRINTABLE:’Skarzysko-Kamienna’
organizationName :PRINTABLE:’VirtualOlivia’
organizationalUnitName:PRINTABLE:’VirtualOlivia’
commonName :PRINTABLE:’ERL02-Skarzysko-Zielna-PL-Client’
name :PRINTABLE:’VirtualOlivia’
emailAddress :IA5STRING:’!!! twoj adres e-mail !!!
Certificate is to be certified until Nov 29 22:25:56 2024 GMT (3650 days)
Sign the certificate? [y/n]:y

Ponownie potwierdzenie utworzonego klucza dla klienta.

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

4. Wygenerowanie pliku szyfrujacego w opaciu o protokół  Diffiego-Hellmana

Wygenerowanie klucza DH moze zajac nawet do 5-7 min. Zatem prosze sie nie przerazac 🙂

root@ERL02-Skarzysko-Zielna-PL:/config/auth/ca# ./build-dh
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
………………..+…………………………………………..+….+…………………………………………………………..+…………………………………………………………………………………………………………..+………………+…………….+………………………………………………………………………………………..+…….+……………………………………..+……………..+.+……..+………………….+……………………………+……………………………………………………………………………………………………………………………………..+……………………………………………………………………..+……………………………………………………………………………………………………+………………………+……………………………………………………………………………………………………………………………………………………………………………………………………++*++*++*
root@ERL02-Skarzysko-Zielna-PL:/config/auth/ca#

5. Konfiguracja interfejsu vtun1 na urzadzeniu Ubiquiti EdgeRouter

Wychodzimy z root (exit). nastepnie przechodzimy do normalnego poziomu konfiguracyjnego (polecenie configure) zabieramy sie za konfiguracje naszego interfesu vtun ktory bedzie terminowac nasze polaczenia (Remote Access) na przyklad ze zdalnego laptopa, telefonu itp…

set interfaces openvpn vtun1 description „Remote Access to ERL02-Skarzysko-Zielna-PL”
set interfaces openvpn vtun1 local-port 1195
set interfaces openvpn vtun1 mode server
set interfaces openvpn vtun1 server name-server 10.0.2.1
set interfaces openvpn vtun1 server push-route 10.0.2.0/23
set interfaces openvpn vtun1 server push-route 10.254.2.0/30
set interfaces openvpn vtun1 server subnet 192.168.237.0/24

Ja sobie wczesniej utowrzone certyfikaty na urzadzeniu Ubiquiti przenioslem do stworzonego przezemnie folderu, dzieki czemu mam czytelny porzadek, i wiem co gdzie mam.

Nalezy pamietac, przy multi tunnelach OpenVPN, musimy definiowac unikalny local-port 1195, 1196. Nie mozemy skonfigurowac kilka tunneli na jednym porcie, gdyz bedzie konflikt.

Polecenie push-route oznacza jakie podsieci w celu routingu chcemy wstrzykac do naszego tunnelu. Czyli dzieki temu, bede miec dostep do lokalnych podsieci na moim ERL`u

Server subnet, jest to cala podsiec dla polaczenia tunelowego Remote Access.

Bardzo wazna informacja, jezeli chcesz aby nie tylko jeden klient mogl skorzystac z certyfikatu,
nalezy dodac opcje do vpn, definujac argument openvpn-option –duplicate-cn.
Dzieki temu wpisowi nie musimy tworzyc nowych cerrtfiaktow dla kliwntow 🙂

pwojtachnio@ERL02-Skarzysko-Zielna-PL# set interfaces openvpn vtun1 openvpn-option –duplicate-cn

set interfaces openvpn vtun1 tls ca-cert-file /config/auth/openvpn/ERL02-Skarzysko-Zielna-PL-Remote-Access/ca.crt
set interfaces openvpn vtun1 tls cert-file /config/auth/openvpn/ERL02-Skarzysko-Zielna-PL-Remote-Access/ERL02-Skarzysko-Zielna-PL-Server.crt
set interfaces openvpn vtun1 tls dh-file /config/auth/openvpn/ERL02-Skarzysko-Zielna-PL-Remote-Access/dh1024.pem
set interfaces openvpn vtun1 tls key-file /config/auth/openvpn/ERL02-Skarzysko-Zielna-PL-Remote-Access/ERL02-Skarzysko-Zielna-PL-Server.key

Wyzej opisalem jak przypisac wczesniej stworzone certyfiakty to polaczenia tunelowego.

Po przyklepaniu konfiguracji u mnie tak to wyglada:

pwojtachnio@ERL02-Skarzysko-Zielna-PL# show interfaces openvpn
+openvpn vtun1 {
+ description „Remote Access to ERL02-Skarzysko-Zielna-PL”
+ local-port 1195
+ mode server
+ server {
+ name-server 10.0.2.1
+ push-route 10.0.2.0/23
+ push-route 10.254.2.0/30
+ subnet 192.168.237.0/24
+ }
+ tls {
+ ca-cert-file /config/auth/openvpn/ERL02-Skarzysko-Zielna-PL-Remote-Access/ca.crt
+ cert-file /config/auth/openvpn/ERL02-Skarzysko-Zielna-PL-Remote-Access/ERL02-Skarzysko-Zielna-PL-Server.crt
+ dh-file /config/auth/openvpn/ERL02-Skarzysko-Zielna-PL-Remote-Access/dh1024.pem
+ key-file /config/auth/openvpn/ERL02-Skarzysko-Zielna-PL-Remote-Access/ERL02-Skarzysko-Zielna-PL-Server.key
+ }
+}
[edit]
pwojtachnio@ERL02-Skarzysko-Zielna-PL#

dajemy commit oraz save.

6. Konfiguracja protokolu SSH z poziomu linuxa Ubiquiti EdgeRouter oraz sciagniecie plikow dla klienta w celu zdalnego polaczenia.

root@ERL02-Skarzysko-Zielna-PL:/home/pwojtachnio# cd /etc/ssh/

root@ERL02-Skarzysko-Zielna-PL:/etc/ssh# mcedit sshd_config

Szukamy wartosci PermitRootLogin no i zmieniamy na PermitRootLogin yes

Zapisujemy, oraz na koniec restartujemy serwis ssh na ERL`u

root@ERL02-Skarzysko-Zielna-PL:/etc/ssh# service ssh restart
[ ok ] Restarting OpenBSD Secure Shell server: sshd.
root@ERL02-Skarzysko-Zielna-PL:/etc/ssh#

Sciagamy WinSCP oraz instalujemy. Przed logowaniem do ERL`a za posrednictwem konta root,  trzeba sobie haslo ustawic. Jak to zostalo juz zrobione, sciagam certyfikaty i pliki potrzebne do zainicjowania polaczenia ze strony klienta OpenVPN.

root@ERL02-Skarzysko-Zielna-PL:/etc/ssh# passwd root

ca.crt
ERL02-Skarzysko-Zielna-PL-Client.crt
ERL02-Skarzysko-Zielna-PL-Client.key

7. Test polaczenia

Przechodizmy do folderu gdzie mamy zainstalowgo klienta OpenVPN.

C:\Program Files\OpenVPN\config

Tworze plik .ovpn z danymi ponizej:

client
dev tun1
proto udp
remote twoj publiczny adres IP Ubiquiti EdgeRouter  1195
nobind
ca ca.crt
cert ERL02-Skarzysko-Zielna-PL-Client.crt
key ERL02-Skarzysko-Zielna-PL-Client.key
verb 3

Calosc na tyle sie wydaje intuicyjna ze pominalem dokladne opisywanie co kazda kropka i przecinek znaczy. Zapisujesz plik .ovpn oraz uruchamiasz tunel.

Z poziomu ERL`a mozesz sprawdzic czy tunel wstal i czy dziala.

pwojtachnio@ERL02-Skarzysko-Zielna-PL:~$ show interfaces openvpn
Codes: S – State, L – Link, u – Up, D – Down, A – Admin Down
Interface IP Address S/L Description
——— ———- — ———–
vtun1 192.168.237.1/24 u/u Remote Access to
ERL02-Skarzysko-Zielna-PL
pwojtachnio@ERL02-Skarzysko-Zielna-PL:~$

pwojtachnio@ERL02-Skarzysko-Zielna-PL:~$ ping 192.168.237.1
PING 192.168.237.1 (192.168.237.1) 56(84) bytes of data.
64 bytes from 192.168.237.1: icmp_req=1 ttl=64 time=0.360 ms
64 bytes from 192.168.237.1: icmp_req=2 ttl=64 time=0.219 ms
64 bytes from 192.168.237.1: icmp_req=3 ttl=64 time=0.220 ms
^C
— 192.168.237.1 ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2008ms
rtt min/avg/max/mdev = 0.219/0.266/0.360/0.067 ms

pwojtachnio@ERL02-Skarzysko-Zielna-PL:~$ show openvpn status server
OpenVPN server status on vtun1 [Remote Access to ERL02-Skarzysko-Zielna-PL]

Client CN Remote IP Tunnel IP TX byte RX byte Connected Since
————— ————— ————— ——- ——- ————————
ERL02-Skarzysko-Zielna-PL-Client 86.21.251.20 192.168.237.2 5.3K 13.5K Wed Dec 3 00:37:34 2014

pwojtachnio@ERL02-Skarzysko-Zielna-PL:~$

8. Firewall

Na koniec w zależności od konfiguracji firewalla, nie wolno zapomniec dodaj portow, oraz interfejsow do firewalla. Ja mam w opaciu o zone based firewall, zatem w zone based dodalem interfejs vtun1 oraz rulke na firewall na porcie  1195 UDP.

pwojtachnio@ERL02-Skarzysko-Zielna-PL# show zone-policy zone ZONE:WAN
default-action drop
description „ZONE:WAN Internet connection”
from ZONE:DMZ {
firewall {
name ZONE:DMZ_to_ZONE:WAN
}
}
from ZONE:Home:LAN {
firewall {
name ZONE:LAN_to_ZONE:WAN
}
}
from ZONE:MGMT {
firewall {
name ZONE:MGMT_to_ZONE:WAN
}
}
interface eth0
interface vti0
interface vtun1
[edit]
pwojtachnio@ERL02-Skarzysko-Zielna-PL#

Na koniec nie wolno zapomniec o powrocie do porzednich ustawien konfiguracji serwera ssh. Nie chcemy aby root posiadal dostep do ssh. To jest security issue 🙂

Zapraszam również do odwiedzania profilu na Facebook gdzie znajdziecie już pierwsze zdjęcia, oraz profil na YouTube gdzie również są pierwsze filmy.

www.facebook.com/VirtualOlivia
www.youtube.com/VirtualOlivia

Peace
Patryk Wojtachnio

Share