Freitag, 26. Juni 2015

IPsec


 Allgemein


IPSec,Kurzform für Internet Protocol Security,  ist ein Protokoll, welches zur verschlüsselten Übertragung von IP-Paketen dient.
Das Protokoll arbeitet auf dem Internet Layer des Protokollstapels.


Transport mode
Im Transportmodus wird der IPsec-Header zwischen dem IP-Header und den Nutzdaten eingefügt.
Der IP-Header wird nicht verändert und wird weiterhin zum Routing genutzt.
 Mit dem  Transportmodus wird gearbeitet, wenn die „kryptographischen Endpunkte“ auch die „Kommunikations-Endpunkte“ sind. Nach dem Empfang des IPsec-Paketes werden die ursprünglichen Nutzdaten (TCP/UDP-Pakete) ausgepackt und an die höherliegende Schicht weitergegeben
Der Transport mode wird zwischen Endstationen oder zwischen einer Endstation und einem Gate way verwendet.

Tunnel mode
Der Tunnel mode wird am häufigsten zwischen Gateways verwendet, manchmal aber auch zwischen einer Endstation und einem Gateway.




Was versteht man unter "Offener Standard"?
 Unter "Offener Standart" versteht man dass, das Programm belieb von jeglichen Personen forgeführt werden kann.

Was ist der anti-replay service?
 IPsec generiert AH und ESP 
Sequence numbers, welche sich immer erhöhen. Wenn ein Angreifer also ein Paket sendet, dessen Zahl kleiner als die aktuelle ist, wird das Paket verworfen.

Wie sieht der Authentification Header aus?





 Wie wird der Integrity Check Value berechnet?

In der Wired Equivalent Privacy (WEP) und in 802.11 wird die Datenintegrität der Nutzdaten durch eine 32 Bit lange Prüfsumme, den Integrity Check Value (ICV), sichergestellt. Diese ICV-Prüfsumme wird als Datenfeld an die 802.11-Payload angehangen und mit Wired Equivalent Privacy verschlüsselt.

Was ist das Problem IPsec gemeinsam mit OSPF zu verwenden?  
IPsec unterstüzt Multicast nicht, deshalb kann man OSPF(und EIGRP) und IPsec nicht kombinieren.



 
Konfiguration PC1:

Router(config)#crypto isakmp enable       <=== enable IPsec
Router(config)#crypto isakmp policy 1          <===  set new policy with number 1
Router(config-isakmp)#authentication pre-share <=== using shred key authentication method (if use certification use rsa-sig instead of pre-share)
Router(config-isakmp)#encryption aes       <=== use symmetric encryption AES
Router(config-isakmp)#hash sha               <=== use hash alghorthim sha for data integrity
Router(config-isakmp)#group 2                      <=== use diffe helman group 2
Router(config-isakmp)#exit
Router(config)#crypto isakmp key 0 address 11.0.0.1  0.0.0.0  <=== 0 is the key will used with next site , next site ip address 11.0.0.1 and note on packet tracer you use 0.0.0.0 instead of subnetmask
Router(config)#crypto ipsec transform-set yasser esp-aes esp-sha-hmac  <=== set transform set called yasser and esp is the protocol will be used , u can use AH on internal VPN
Router(config)#crypto ipsec security-association lifetime seconds 86400          <=== key expire after 86400 seconds
Router(config)#ip access-list extended ramzy                                                      <=== ACL called ramzy to tell which traffic will use the vpn tunnel
Router(config-ext-nacl)#permit ip 12.0.0.0 0.255.255.255 10.0.0.0 0.255.255.255
Router(config-ext-nacl)#exit
Router(config)#crypto map auda 100 ipsec-isakmp                             <=== create crypto map called auda with seq number 100
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
Router(config-crypto-map)#match address ramzy                                          <=== link above ACL to this crypto map
Router(config-crypto-map)#set peer 11.0.0.1                                         <=== link next site ip address to this crypto map
Router(config-crypto-map)#set pfs group2                                           <=== link DH group 2 to this crypto map
Router(config-crypto-map)#set transform-set yasser                                          <=== link above transform set to this crypto map
Router(config-crypto-map)#ex
Router(config)#int fa 0/1                                         <=== apply crypto map auda to interface face the next site link.
Router(config-if)#crypto map auda
*Jan  3 07:16:26.785: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
Router(config-if)#do wr
Building configuration...
[OK]
Router(config-if)#^Z
Router#


Freitag, 24. April 2015

OpenVPN

       OpenVPN
OpenVPN ist ein Programm zum Aufbau eines Virtuellen Privaten Netzwerkes (VPN) über eine verschlüsselte TLS-Verbindung. Zur Verschlüsselung werden die Bibliotheken des Programmes OpenSSL benutzt. OpenVPN verwendet wahlweise UDP oder TCP zum Transport.
OpenVPN ist freie Software unter der GNU GPL und unterstützt die Betriebssysteme Linux, Solaris, OpenBSD, FreeBSD, NetBSD, Mac OS X, QNX, Windows 2000/XP/Vista/7, Android, iOS, Maemo und MeeGo sowie das Router-Linux OpenWRT, weiterhin stehen angepasste Implementierungen für eine Vielzahl von Linux-basierten Endgeräten, wie z. B. Settop-Boxen der Firma Dream Multimedia oder für Router der FRITZ!Box-Linie der Firma AVM zur Verfügung.
 
Why should somebody use OpenVPN? Name the differences to IPSec. 

Das Protokoll übermittelt über eine verschlüsselte Verbindung die Anfrage des Nutzers an den Server des VPN-Provider. Dieser übermittelt die Anfrage weiter an die Zieladresse. Der Nutzer bekommt dabei eine neue, anonyme IP-Adresse.
Vorteil: alles was der Rechner aussendet befindet sich in dem abgesichertem tunnel und ist von außen nicht lesbar. 


Describe in short the architecture of OpenVPN.
Why do need certificates at OpenVPN? How do you generate them?
Der Server und der Client besitzen je ein eigenes Zertifikat, welches privat oder öffentlich sein kann. Das wichtigste ist, dass der Server nur jene Verbindungen zulässt, die von einer ihm bekannten Zertifizierungsstelle signiert wurden.

Um eine Verbindung aufzubauen werden vom Client Daten an den Server gesendet.
die gleichen Daten werden vom Server mit einem Zertifikat versehen zurück gesendet und der Client autorisiert das Zertifikat.
Bei beidseitiger Authentifizierung schickt der Client auch sein Zertifikat an den Server.
Hat die Überprüfung geklappt, erstellt der Client das „pre-master secret“ und verschlüsselt dies mit dem öffentlichen Schlüssel des Servers. Der Server entschlüsselt die Daten mit seinem privaten Schlüssel und erstellt das „master-secret“. Mit diesem werden Sitzungsschlüssel erstellt. Das sind einmalige Schlüssel, mit denen die Daten ver- und entschlüsselt werden. Der Client teilt dem Server mit, dass ab nun alle Daten mit dem Sitzungsschlüssel verschlüsselt werden. Der Server bestätigt dies, der Tunnel ist aufgebaut. Nach einer gewissen Zeitspanne ersetzt OpenVPN den Sitzungsschlüssel automatisch.

Create a brigded tunnel. How does the configuration look like.

Create a VPN client on Linux and Windows. Please document the configuration.

  1. On the computer that is running Windows XP, confirm that the connection to the Internet is correctly configured.

    For more information about how to test your Internet configuration, click the following article number to view the article in the Microsoft Knowledge Base:
    314067 How to troubleshoot TCP/IP connectivity with Windows XP
  2. Click Start, and then click Control Panel.
  3. In Control Panel, double-click Network Connections.
  4. Click Create a new connection.
  5. In the Network Connection Wizard, click Next.
  6. Click Connect to the network at my workplace, and then click Next.
  7. Click Virtual Private Network connection, and then click Next.
  8. If you are prompted to, do one of the following:
    • If you use a dial-up connection to connect to the Internet, click Automatically dial this initial connection, and then click your dial-up Internet connection from the list.
    • If you use a full-time connection such as a cable modem, click Do not dial the initial connection.
  9. Click Next.
  10. Type the name of your company or type a descriptive name for the connection, and then click Next.
  11. Type the host name or the Internet Protocol (IP) address of the computer that you want to connect to, and then click Next.
  12. Click Anyone's use if you want the connection to be available to anyone who logs on to the computer, or click My use only to make it available only when you log on to the computer, and then click Next.
  13. Click to select the Add a shortcut to this connection to my desktop check box if you want to create a shortcut on the desktop, and then click Finish.
  14. If you are prompted to connect, click No.
  15. In the Network Connections window, right-click the new connection.
  16. Click Properties, and then configure more options for the connection:
    • If you are connecting to a domain, click the Options tab, and then click to select the Include Windows logon domain check box to specify whether to request Windows logon domain information before you try to connect.
    • If you want the computer to redial the connection if the line is dropped, click the Options tab, and then click to select the Redial if line is dropped check box.

How can you log the events for OpenVPN. Which commands can be used for troubleshooting?
 
How can you log the events for OpenVPN. Which commands can be used for troubleshooting?
Konfiguration:
1.  Updates suchen
     sudo apt-get update

2. Installieren der Updates
      sudo apt-get install openvpn

3. Wine installieren
        sudo apt-get wine



Virtual Box

Virtual Box


Oracle VM VirtualBox ist eine Virtualisierungssoftware des US-amerikanischen Unternehmens Oracle. Sie kann auf den Betriebssystemen FreeBSD, Linux, OS/2, Mac OS X, Solaris und Windows als Wirtssystem auf 32-Bit- oder 64-Bit-x86-Systemen eingesetzt werden. Als Gastsysteme werden eine Vielzahl an x86- und AMD64-Betriebssystemen unterstützt. Diese stehen bei der Einrichtung einer neuen virtuellen Maschine zur Auswahl.

Download and Install:
  1. Download "CD Image" from MikroTik.com
  2. VMware Player starten 
  3. Konfiguration 










    


4. Danach wählt man im Installationen mit 'a' alle Punkte aus und mit 'i' installiert man das Router OS am PC.

Danach weißt man dem virtuellen Router noch eine IP zu und dann kann man sich mit seinem Browser in den Router einloggen.









Programming:
  1. Press "z,z""
  2. Login: "Admin" Passwort: " "
  3. ip address add interface ether1 address=(self IP Address) e.g. 10.30.15.99 netmask 255.255.255.0, 
  4. ip address print
  5. cmd => ping 10.30.15.99
  6. Create a user: add name =andreas  group=full  password=4ahel 
  7. Webbrowser: 10.30.15.99
  8. Login with your account informatio

GNS3


What Is GNS3?

GNS3 is a graphical network simulator that allows you to easily design network
topologies and then run simulations on them. At the moment GNS3 supports IOS
routers, ATM/Frame Relay/Ethernet switches and PIX firewalls. You can even extend
your own network by connecting it to your virtual topology.

To do his magic, GNS3 is based on Dynamips, Pemu (including its wrapper) and in part
on Dynagen, it has been developed in python and through PyQt the GUI part is made
with the powerful Qt library, famous for its use in the KDE project. GNS3 also uses the
SVG technology (Scalable Vector Graphics) to provide high quality symbols for
designing your network topologies.

GNS3 runs on Windows, Linux and Mac OS X (other platforms not tested) and requires
the following dependencies to be installed if you want to use it from a source archive

  1.   Create a New Virtual Machine
     
  2. “I will install the operating system later”
  3. Linux, Ubuntu
     


  4. Customize: Network-Bridge und ISO-Image unter “New CD/DVD” einhängen (C:\temp\gns3\gns3.iso), Memory und Anzahl CPUs erhöhen.
     

  5. Starten, Filetransfer am besten über USB-Stick
  6. Einloggen (Passwort: mdbrasil)
     
  7. Deutsche Tastatur einfügen (System Settings - Keyboard)
     
     
  8. Terminal starten, TAP-Device hinzufügen
    sudo bash
    modprobe tun
    tunctl -t tap0
    brctl addbr br0
    ifconfig tap0 0.0.0.0 promisc up
    brctl addif br0 tap0
    brctl addif br0 eth0
    ifconfig br0 up
    ifconfig br0 xx.xx.xx.xx/24
  9. gksu gns3
  10. Router, Switch und Cloud hinzufügen. Router starten (bei mehreren jeden extra starten, sonst ist die CPU load zu hoch).
  11. Cloud mit tap0 verbinden
  12. IP-Adresse am Router konfigurieren, Default-Route hinzufügen
  13. Konfiguration im Browser

    Um sicherzustellen, dass man eine unbenutzte Ip-Adresse verwendet sollte man ein neues Terminal öffnen und an die gewünschte Ip-Adresse pingen.
     


    Nun kann man ein Netzwerk aufbauen:



     

Sonntag, 25. Januar 2015

Ethernet over IP (EoIP) Tunneling

 Allgemein:
Ethernet-over-IP-Tunnel (EoIP) sind ein MikroTik eigenes Verfahren, um mit RouterOS-Systemen einen transparenten Ethernet-Tunnel zwischen zwei Routern über eine bestehende IP-Verbindung zu realisieren. Hierbei können die EoIP-Tunnel auch durch beliebig andere Tunnel, z. B. IPIP-, PPTP- oder auch IPSec-Tunnel oder über eine beliebige Verbindung laufen, die in der Lage ist, IP-Pakete zu transportieren. Wenn die Bridge-Funktion auf den Routern aktiviert ist, wird der gesamte Ethernet-Verkehr (alle Ethernet-Protokolle) gebridged, ganz genau so, als wären diese beiden direkt mit einem Kabel an einem physikalisen Ethernet-Interface verbunden. Mit diesem Protokoll werden die verschiedensten Layer2-Netzwerkszenarien möglich.
Mögliche Netzwerkszenarien mit EoIP-Interfaces:

  • entfernte LANs über eine Internet-Verbindung zu bridgen
  • entfernte LANs über andere, verschlüsselte Tunnelverbindungen zu bridgen
  • entfernte LANs über ein 802.11b 'ad-hoc' oder ein wireless PtP Netz zu bridgen
Das EoIP-Protokoll enkapsuliert Ethernet-Frames in GRE-Pakete (IP-Protokoll-Nummer 47), wie auch PPTP, und sendet diese zu der gegenüberliegenden Seite des EoIP-Tunnels.

Overhead:

Der Overhead umfasst 42 Byte (8 Byte GRE + 14 Byte Ethernet + 20 Byte IP).

Wichtige Informationen zur Arbeit mit EoIP-Tunneln

  • EoIP-Tunnel sind nicht bidirektional. Es muss immer auf beiden beteiligten Systemen der EoIP-Tunnel zum jeweiligen Peer eingerichtet werden. Beide müssen die gleiche Tunnel-ID verwenden, die ansonsten einzigartig sein muss.
  • Das Interface auf dem Remote-System, zu dem der EoIP-Tunnel konfiguriert wird, darf nicht mit dem EoIP-Tunnel zusammen in einer Bridge verwendet werden.

Eigenschaften

  •  arp (disabled, enabled, proxy-arp, reply-only; Default: enabled):
     Der Modus des Address Resolution Protokolls. 
  •  l2mtu (Integer; Default: : Die Maximum-Transmission-Unit (MTU) im Layer2. Bei EoIP ist dieser Wert nicht konfigurierbar.
  •  mac-address (MAC; Default: : Media-Access-Control-Nummer (MAC-Adresse) des Interfaces. Die Adress-Vergabe-Stelle (IANA) sieht für solche Zwecke MAC-Adressen in dem Bereich von 00:00:5E:80:00:00 bis 00:00:5E:FF:FF:FF vor.
  •  mtu (String; Default: 1500: Die Maximum-Transmission-Unit (MTU) im Layer3.
  •  name (String; Default: ):Der Name des EoIP-Interfaces.
  •  remote-address (IP; Default: :Die IP-Adress der Gegenstelle des EoIP-Tunnels.
  •   tunnel-id (Integer; 0..65536 Default: ):Der eindeutige (Unique) Tunnel-Identifier, der auf beiden Seiten des EoIP-Tunnels identisch sein muss.
Konfiguration:

Eoip-example.png
Zuerst muss am Gateway(Station) ein EoIP-Tunnel erstellt werden:
[admin@Our_GW] interface eoip> add name="eoip-remote" tunnel-id=0 \
\... remote-address=10.0.0.2
[admin@Our_GW] interface eoip> enable eoip-remote
[admin@Our_GW] interface eoip> print
Flags: X - disabled, R - running
  0    name=eoip-remote mtu=1500 arp=enabled remote-address=10.0.0.2 tunnel-id=0
[admin@Our_GW] interface eoip>
... und natürlich auch am Remote-Router(AP):
[admin@Remote] interface eoip> add name="eoip" tunnel-id=0 \
\... remote-address=10.0.0.1
[admin@Remote] interface eoip> enable eoip-main
[admin@Remote] interface eoip> print
Flags: X - disabled, R - running
  0   name=eoip mtu=1500 arp=enabled remote-address=10.0.0.1 tunnel-id=0

[admin@Remote] interface eoip>
Als nächstes muss der EoIP-Tunnel am Gateway gebridged werden:
[admin@Our_GW] interface bridge> add 
[admin@Our_GW] interface bridge> print
Flags: X - disabled, R - running
 0  R name="bridge1" mtu=1500 arp=enabled mac-address=00:00:00:00:00:00 
      protocol-mode=none priority=0x8000 auto-mac=yes 
      admin-mac=00:00:00:00:00:00 max-message-age=20s forward-delay=15s 
      transmit-hold-count=6 ageing-time=5m 
[admin@Our_GW] interface bridge> port add bridge=bridge1 interface=eoip-remote
[admin@Our_GW] interface bridge> port add bridge=bridge1 interface=office-eth
[admin@Our_GW] interface bridge> port print
Flags: X - disabled, I - inactive, D - dynamic
 #    INTERFACE      BRIDGE  PRIORITY PATH-COST
 0    eoip-remote    bridge1 128      10
 1    office-eth     bridge1 128      10
[admin@Our_GW] interface bridge>
... und am Remote-Router:
[admin@Remote] interface bridge> add 
[admin@Remote] interface bridge> print
Flags: X - disabled, R - running
 0  R name="bridge1" mtu=1500 arp=enabled mac-address=00:00:00:00:00:00 
      protocol-mode=none priority=0x8000 auto-mac=yes 
      admin-mac=00:00:00:00:00:00 max-message-age=20s forward-delay=15s 
      transmit-hold-count=6 ageing-time=5m 
[admin@Remote] interface bridge> port add bridge=bridge1 interface=ether
[admin@Remote] interface bridge> port add bridge=bridge1 interface=eoip-main
[admin@Remote] interface bridge> port print
Flags: X - disabled, I - inactive, D - dynamic
 #    INTERFACE      BRIDGE  PRIORITY PATH-COST
 0    ether          bridge1 128      10
 1    eoip-main      bridge1 128      10     
[admin@Remote] interface bridge>

Donnerstag, 22. Januar 2015

SSH

Secure Shell (SSH) ist ein Netzwerkprotokoll, das den Daten zwischen zwei Systemen verschlüsselt überträgt.

Möglichkeiten

  • remote Terminal
  • X11-Festerübertragung (grafisches Interface)
  • Dateiübertragung
    • SCP (Secure Copy)
      • zum kopieren von einzelnen Datein
    • SFTP (Secure File Transfer Protocol)
      • Secure File Transfer Protocol
    • rsync
      • zum Synchronisieren von Ordnern
  • Passwortfreie Authentifizierung mit Keys

Remote Terminal

ssh user@server
z.B. ssh knoppix@169.254.69.13

 

X11-Fensterübertragung

ssh -X user@example.com

Nun kann man graphische Programme am Server starten, die am Client angezeigt werden (z.B. Wireshark)

 

RSync

Programm zur Synchronisation von Daten

Basic Syntax
rsync <Quelle> <Ziel>
z.B
rsync Images/2014 user@server:Images/2014

Verwenden der schnellsten (aber auch unsicheren) Verschlüsselungsmethode RC4
rsync -a -v -e "ssh -c ARCFOUR" <Quelle> <Ziel>

 

Passwortfreie Authentifizierung

Der Vorteil der Key-based-authentication besteht darin, dass anstatt eines Passworts, welches der Benutzer eingibt, der private Schlüssel, welcher am Client gespeichert ist, verwendet wird. Dies ist durch asymetrische Verschlüsselungsverfahren abgesichert (RSA)
Der private Schlüssel kann für besondere Sicherheit mit einem Kennwort abgesichert werden.

 

Setup

Wir generieren ein Schlüsselpaar (public & private) am Client
user@client$ ssh-keygen
Nun wird man nach Speicherort und Passphrase gefragt:
Der Speicherort sollte gleichbelassen bleiben (~/.ssh/id_rsa)
Eine Passphrase kann für zusätzliche Sicherheit eingegeben werden.

Nun sind 2 Datein entstanden
  • ~/.ssh/id_rsa
    • dies ist der private Schlüssel
    • darf das System nicht verlassen
  • ~/.ssh/id_rsa.pub
    • dies ist der öffentliche Schlüssel
    • kann jedem frei zur Verfügung gestellt werden
Den öffentlichen Schlüssel kopieren wir nun auf den Server
user@client$ scp ~/.ssh/id_rsa.pub user@example.com:.ssh/user@client.pub
den Inhalt dieser Datei fügen wir nun der Datei .ssh/authorized_keys am Server hinzu
user@server$ cd ~/.ssh/
user@server$ cat user@client.pub >> authorized_keys

jetzt kann sich der Client zum Server verbinden ohne ein Kennwort einzugeben.

Aufbau eines OSPFv3-Netzes mit Mikrotik-Routern

 Aufgabenstellung

Mit den Mikrotik-Geräten soll ein OSPF-Netzwerk anhand der Vorlage erstellt werden.

Konfiguration

Bei den Interfaces muss der Master-Port entfernt werden, um isolierte Layer2-Segmente herzustellen zwischen denen gerouted werden kann. Dies geschiet mithilfe des Webinterfaces.
Die Konfiguration selbst kann sowohl via WebBrowser, SSH oder WinBox durchgeführt werden. Die KonfigurationsIP des Routers lautet: 192.168.88.1.
Um über das Terminal einen Zugriff auf den Router zu erlangen, wird der Befehl ssh -l admin benötigt. Zugangsdaten werden jedoch bei dem Einloggen auf das Webinterface angefordert (Benuter: admin, Password: - oder admin ).

Konfiguration von IPv6 Addressen

/ipv6 address
add address=2a00:3456:9abc:4::3/64 interface=ether3
 

Konfiguration von OSPF

/routing ospf-v3
set router-id=0.0.0.1
/routing ospf-v3 interface
add interface=all area=backbone


33332852562
Am anfang sind alle 4   Ethernet Ports gebrideg!!

Bridge entfernen -- alle einzell konfigurieren

Konfigurarationsmöglichkeiten
ssh
Webbrowser
winbox

Ports 2 - 5 Port 1 -- Wan-Port

ssh - l admin [ip addresse]
yes
interface print

browser
ip adresse eingfeben
login admin
password admin