VPN am Client einrichten - Linux

Dieser Artikel setzt voraus, dass auf der Gegenseite ein Meraki VPN eingerichtet wurde.

 

VPN am Client Einrichten – Linux (Ubuntu)

Leider bietet Ubuntu mit Bordmitteln nicht die Möglichkeit einen IPsec Tunnel mit PSK über die GUI einzurichten.

Ich bin also nach en Anleitungen von Psandford und hwdsl2 vorgegangen:
https://gist.github.com/psanford/42c550a1a6ad3cb70b13e4aaa94ddb1c
https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients.md#linux-vpn-clients

Öffnet mit STRG+T ein Terminal, aktualisiert die Paketquellen und Installiert strongswan und xl2tpd
sudo apt-get update && sudo apt-get install -y strongswan xl2tpd

- Strongswan ist ein Client für IPSec VPNs
- Xl2tpd ist ein Deamon um Layer 2 Traffic durch Tunnel zu routen

Basierend auf diesem Gist zeigt diese Grafik wo die Infos vom Meraki Portal eingetragen werden müssen.

/etc/ipsec.conf

Hier definiert ihr folgendermaßen eine weitere Verbindung:

conn meraki-vpn
keyexchange=ikev1
left=%defaultroute
auto=add
authby=secret
type=transport
leftprotoport=17/1701
rightprotoport=17/1701
right=<Hostname oder IP Adresse>

/etc/ipsec.secrets

Diese Datei besteht nur aus einer einzigen Zeile.

: PSK "zwischen diesen Anführungszeichen tragt ihr das Secret ein"

/etc/xl2tpd/xl2tpd.conf

[lac meraki-vpn]
lns = <Hostname oder IP>
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes

 

/etc/ppp/options.l2tpd.client 
ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-mschap-v2
noccp
noauth
idle 1800
mtu 1410
mru 1410
defaultroute
usepeerdns
debug
lock
connect-delay 5000

 

Dieses ist das Script MerakiVPN.sh welches ich benutzte, um mich zu dem VPN zu verbinden.
Ihr könnt die Netzwerkinformationen auch direkt im Script hinterlegen.

Cheers,
Ori


VPN am Client einrichten - Apple

Dieser Artikel setzt voraus, dass auf der Gegenseite ein Meraki VPN eingerichtet wurde.

 

Client Einrichten

Um auf dem Mac ein VPN einzurichten, müsst Ihr in den Systemeinstellungen > Netzwerk öffnen.

Dort erstellt Ihr über das + Symbol ein neues VPN vom Typ "L2TP über IPSec".

Bei weitere Optionen muss nun der Haken gesetzt werden bei "Gesamten Verkehr über die VPN-Verbindung senden".

Nun müssen noch die Server und Authentifizierungsinformationen aus dem Meraki Portal eingetragen werden.

Und nun könnt Ihr eine Verbindung mit dem Meraki VPN herstellen.

... indem Ihr auf "Verbinden" klickt.

Cheers,
Ori


VPN am Client einrichten - Windows

Dieser Artikel setzt voraus, dass auf der Gegenseite ein Meraki VPN eingerichtet wurde.

 

Client Konfigurieren

Unter Windows 10 muss man ein neues VPN unter "Einstellungen > VPN > VPN-Verbindung hinzufügen" einrichten.

Hier müssen nun die Daten aus dem Meraki Portal eingetragen werden.

Dies reicht allerdings noch nicht aus.
In den Netzwerkeinstellungen (Windows +R > ncpa.cpl) müssen nun im Sicherheitsreiter der VPN Verbindung "Unverschlüsseltes Kennwort" über PAP und ausschließlich "MS-CHAP-v2" zugelassen werden.

Macht euch keine Sorgen wegen der Formulierung, die Übertragung des unverschlüsselten Passwortes mit dem Protokoll PAP verfolgt über eine verschlüsselte Verbindung mittels CHAP.

Jetzt kann die VPN Verbindung hergestellt werden.

Cheers,
Ori


Einen Aktiv/Passiv Cluster aufsetzen

In einem Aktiv / Passiv Cluster ist wie der Name es schon sagt, eine der Firewalls aktiv und die andere passiv. Falls eine der Firewalls ausfällt übernimmt die andere alle anfallenden Aufgaben.

In folgendem Status kann sich ein Cluster Member befinden:

  • Master: Die momentan aktive Firewall
  • Backup Master: Die momentan Passive Firewall
  • Inactive: Die Firewall ist nich mehr erreichbar

Wenn die primäre Firewall ausfällt, geht sie in den Modus Inactive und der Backup Master geht in wird zum Master.

Wenn die ausgefallene Firewall wieder online kommt wechselt sie in den Modus Backup Master.
Ein Failback findet nicht statt!

Wir definieren zwei Interfaces auf denen die Firewalls direkt miteinander verbunden sind.
Diese Interfaces nennen sich „Cluster Interface“ und haben folgende Aufgaben:

  • Die Konfiguration auf beiden Geräten synchron halten (DHCP Leases, Netzwerke etc.)
  • Aushandeln, wer aktiv und wer passiv ist
  • Feststellen, ob der andere Clustermember noch antwortet

Es empfiehlt sich zwei Interfaces dazu zu nutzen.
Das letzte was Ihr wollt ist, dass wegen einem defekten Kabel oder Interface beide Firewalls meinen die andere Firewall sei nicht erreichbar deshalb den State Master haben.
Dann habt ihr ein sogenanntes Split Brain, bei dem die Daten auf den Firewalls sich unterscheiden können und ihr habt zwei aktive DHCP Server, NTP Server etc. in eurem Netz.

 

Einrichtung

Als Erstes solltet Ihr die Firewalls in den Recovery Modus booten um sicher zu gehen, dass alle Konfigurationseinstellungen zurückgesetzt wurden.

Wir verbinden uns über eth1 mit einer der Firewalls und starten den Firecluster Wizard über Policy Manager > Firecluster > Setup.

Hier gebt Ihr als erstes an, dass Ihr einen Aktiv/Passiv Cluster einrichten wollt und vergebt eine andere Cluster ID als die default voreingestellte.
Auf der nächsten Seite sind die Cluster Interfaces zu definieren, hier wählen wir 6 und 7.
Als Management Interface wählen wir „1 (Trusted )“.

Als nächstes sind die Netzwerkeinstellungen des Clusters zu konfigurieren und die Feature Keys einzuspielen.

 

Firewall: BLN1
Management IP:  172.10.10.1
Primäres Cluster Interface: 172.10.1.1
Backup Cluster Interface: 172.10.2.1

 

 

Firewall: BLN2
Management IP:  172.10.10.2
Primäres Cluster Interface: 172.10.1.2
Backup Cluster Interface: 172.10.2.2

 

 

 

Im Configuration Wizard sieht das so aus:

Als letzte Konfiguration deaktivieren wir unter Network > Configuration noch die Interfaces 1,3,4 und 5, richten auf Interface 2 einen DHCP Scope ein und schreiben die Konfiguration auf die Firewall.


Nach einem Neustart der Firewalls können wir prüfen, ob wir auf beiden Geräten auf dem Interface 2 einen DHCP lease bekommen.

Failover testen

Jetzt sollten wir das Setup noch prüfen, verbindet euch hierzu mit der Management IP des Clusters.
Wenn wir nun einen Dauerping absetzen, sollte dieser bei dem Ausfall einer der Firewalls nur kurz stocken.

Cheers,
Ori


Setting up an Active/Passive Cluster

In an active / passiv cluster, as the name suggests, one of the firewalls is active and the other one is passive.
In case on of the firewalls fails the other one is taking over.

The following states of a cluster member are possible:

  • Master: The currently active firewall
  • Backup Master: The currently passive firewall
  • Inactive: The firewall is unreachable

If the primary firewall fails, it is shown as inactive Inactive and the Backup Master becomes the Master.

If the failed firewall comes back online it becomes the Backup Master.
A failback is not happening!

We define two interfaces on wich the firewalls are connected direclty to each other.
These Interfaces are called „Cluster Interface“ and serve the following purposes:

  • Make sure the configuration stays the same on both devices (DHCP Leases, Networks etc.)
  • Decide who is active and who is passive
  • Check if the other one is still alive

I suggest you are using two interfaces for that.
The last thing you want is both firewalls becomming Master.
This can happen if the firewalls can't reach each other because of a failing cable or Interface.
In this case you run into whats called a "Split Brain", where the data on both Boxes are desynching and you have a double DHCP server, NTP server etc. in your network.

Setup

At first you should boot the Firewalls into Recovery Mode to make sure all configurtions are reset to default.

 

We connect to one of the firewalls via eth1 and start the Firecluster Wizard by going to Policy Manager > Firecluster > Setup.

Here you select that you want to set up a active/passive cluster and use a different cluster ID then the default.
On the next page you define the Cluster Interfaces, in this case 6 and 7.
The Management Interface is going to be „1 (Trusted )“.

The next thing we configure is the Cluster Network and the Feature Keys einzuspielen.

 

Firewall: BLN1
Management IP:  172.10.10.1
Primäres Cluster Interface: 172.10.1.1
Backup Cluster Interface: 172.10.2.1

 

 

 

Firewall: BLN2
Management IP:  172.10.10.2
Primäres Cluster Interface: 172.10.1.2
Backup Cluster Interface: 172.10.2.2

 

 

 

In the Configuration Wizard it is going to look like this:

 

At last we change Network > Configuration and close down Interface 1,3,4 and 5, start a DHCP range on Interface 2 and write the config to the firewall.

After rebooting the firewalls we can check if on both devices Interface 2 is providing DHCP.

Testing a Failover

We should verify that the setup is working properly.
Connect to the Management IP of the cluster and send a ping to a target of your choice.
If you pull the power on one of the firewalls the ping should only stop for a few seconds.

Cheers,
Ori


Setup VPN

This article explains how to setup a VPN to a Meraki Network on the Example of a MX80 and connect a client to it.

Configuring the Meraki Portal

Since all Meraki devices are Cloud Managed you have to login to the Meraki Portal.
https://account.meraki.com/secure/login/dashboard_login

There the firewall has to be registrered (Placeholder for another Blogarticle), so it pulls the config changes.

Select the organisation and the network wählen that the firewall is a member of.
Afterwards you can add a VPN user by going to Security Appliance > Client VPN > "Add new user".

On the same configuration page the Client VPN Server has to be active and a seperate network for the users connecting via VPN has to be defined. This is a good thing to do in general not just with Meraki because it makes it easy to write firewall rules for VPN users.

At last you have to enter a PSK to the „Secret“ field.
This PSK, the username and the password will now be needed to setup the client.

 

Cheers,
Ori

 

 


Calendar Synchronisation - iPhone

In this article I will show you how to sync the calendar in Nextcloud with the one on an iPhone.
The idea is that you can create an event in the cloud and it will be on your phone within seconds.

 

1) Go to Preferences

2) Select accounts and passwords

3) Add account

4) Select type "different"

5) At calendar select CalDAV-Account

6) Add the data fron the nextcloud

Attention: behind /users/ you will need to put your login name!

Now you can test if you
can add Nextcloud events in your calendar.

7) Select Calendar

8) Create a new event

9) Now you can choose...

10) ... if the Event shoud be set up locally
or in the nextcloud

Cheers,
Ori


KVM: Setup on Ubuntu 16.04

This article describes how to:

  • Install KVM
  • Set up a virtual Ubuntu Server
  • Configure portforwarding to the virtual machine

The benefits of virtualizing are:

  • Secure the host- and guestservers from one another
  • Run multiple services such as databases without running into unwanted synergy effects

Canonical is releasing a so-called Ubuntu "Cloud Image".
This is a slim, optimized for virtualisation image of the ubuntu server.

Also we will take a look at the very powerfull tools Libvirt and ukv-kvm that automize a lot of the work setting up virtual machines.

 

Install KVM

SSH to your server with a user that has sudo.
Before doing any work we update the packet sources and install pending updates.

sudo apt-get update && sudo apt-get upgrade

Not every CPU does support virtualisation.
To check if your precessor works with kvm we install the "cpu-checker".

sudo apt-get install cpu-checker

Now you can check if your CPU meets the requirements using  kvm-ok.

Now that we are sure that we can work with KVM we install the uvtool.

sudo apt-get install uvtool

This provides us with two new tools with lots of parameters:

  • uvt-simplestreams-libvirt → Download and update images (synchronize)
  • uvt-kvm → Manage VMs

Lets download a Ubuntu 16.04 (xenial) 64-bit image.
Even if the cloud images are relativley small, compared to the original server images, this might take a few minutes depending on your internet connection.

uvt-simplestreams-libvirt sync release=xenial arch=amd64

 

Create Virtual Machine

To be able to connect to the VM we have to provide a public ssh key that gets implanted into the VM when setting it up.
In this example we create a new key, you can use your existing one however, if you want.

Remember to give the key another name then "id_rsa", to not override any existing key.

ssh-keygen

Now we use uvt-kvm to set up a ne VM with the name „vm_xenial“ and provide it with the generated public key.
(The default user is "Ubuntu". The key will be placed inside the vm at /home/ubuntu/.ssh/Authorized_keys )

uvt-kvm create vm_xenial release=xenial --ssh-public-key-file ~/.ssh/vm_xenial_id_rsa.pub

Using virsh we check the running VMs.

virsh list

Check for the IP...

uvt-kvm ip xenial

... and ssh to the VM using the private key.

ssh -i ./vm_xenial_id_rsa ubuntu@<ip>

Cheers,
Ori

Lots of thanks to Fl@ and beegeees, who provided significant help in writing this article.


Remotely activate RDP

If a Server or Client is unreachable via RDP the following Trick might help.
(Only works if the default $Admin share is enabled in this network)

Download PS Tools and start an administrative CMD.

Navigate to the pstools directory.
Using psexec you can start a shell on a remote host.

psexec \\HOSTNAME cmd

If the device is not domjoined or not in the same domain use this syntax to add username and password.

psexec \\HOSTNAME -u DOMAIN\USER -p PASSWORD cmd

Now that we have CMD with systemrights on the target system we can open up the RDP ports.

netsh firewall set service remoteadmin enable
netsh firewall set service remotedesktop enable

Then change the registry key that handles weather or not the target machine accepts RDP

reg add "hklm\system\currentcontrolset\control\terminal server" /f /v fDenyTSConnections /t REG_DWORD /d 0

Then you can rdp to the machine/server.

 

Cheers,
Ori


Restore deleted Object

If on a Microsoft Server there is no Active Directory Bin active, which happens way too often, and user-  or computerobjects get deleted and do not just get deactivated and pushed to an OU to rest in peace, you will find yourself in the delecate situation to restore Objects from the hidden OU "Deleted Objects".

This article describes how.

 

Connecting to LDP

At first you have to start ldp.exe with domain admin credentials.

In LDP you connect to the DC using Hostname or IP.

Now you authenticate over connection > bind.

If you are logged in as Dom-Admin you can use single sign on.
Otherwise provide domain, user and password.

Now connect to the Organisational Unit "Deleted Objets".
Go to Scope > Subtree

CN=Deleted Objects, DC="Domain", DC="Domainsuffix"

Now you will see the OU on the left hand side.
To show these you have to edit the control elements.

Here you select "Deleted Objects" check it out and in again (yay!) and now the hidden objects are visible.

Afterwards we search for the Object we want to restore.

 

Restoring the object

We remove the "isDeleted" attrbute  replace the "distinguishedName" attrubute with "CN=SomeName," followed by the canonical name of the last known parent.

 

Afterwards the object shoud be visible in Active Directory again, it is deactivated however.
If it is visible just refresh the Active Directory view a few times by pressing F5 or restart AD.

So easy... thanks Peter!

Cheers,
Ori