Secure Shell and Port Forwarding
Hassenstein Thema 5
Hassenstein Thema 5
-
- 1 / 22
-
Cartes-fiches
Over which port is SSH used and what kind of protocol is used ?
SSH V2 is over TCP Port 22
What is the Goal of SSH
Mit dem SSH wollte man von der Berkley r-tool mit der sicheren Version ersetzen(slogin, ssh, scp, sftp)
Welches sind die SSH Produkte?
- Server
- OpenSSH
- WinSSHD
- OpenSSH for Windows
- Secure Shell for Windows Server
- Clients
- OpenSSH
- Putty
- Mindterm Java SSH Client
- secure Shell Client for Windows
Wie sieht die Architektur Layer von SSH aus ?
Transport layer: authentication of server und confidentiality and integrity of the communication
SSH Authentication Protocol: authenticates enduser, to ssh deamon. The client SSH programm authenticates the sshd server via transport protocol. Different type of authentication possible (keys, username and passwd)
Connection Protocol:
Was ist das BPP von der SSH?
binary Packet Protocol sorgt für die verschlüsselung und authentifizierung zwischen den 2 parteien bei einer SSH verbindung.
Wie ist ein BPP bei der SSH aufgebaut?
System: Die verschlüsselung basiert auf CBC mode und die authentication auf HMAC
Encryption: prepend a packet length field and the padding length and append the padding minimum of 4 byte padding which is random and maximum 255 bytes of padding
Decryption: decrypt the packet and prepend a 32-bit counter and verify the mac tag , forward the payload from the decoded packet and delivers it to the higher layer.
Wie funktioniert der SSH Server authentication? Wie wird sichergestellt dass es wirklich der Server ist?
Die erfolgt während der DH key exchange (Siehe Bild für den genauen vorgang)
Der Client kontrolliert den pub key des Servers
- The user acceptsthe host key when connecting by the first time
- The hostname-key association certified by a trusted CA
- A fingerprint of the key is checked via an external channel (DNS)
Was verstehen Sie unter dem Begriff SSH Transport Service request?
Nach einem erfolgreichem aufbau einer sicheren Kanals verlangt der client einen service. Mögliche Services sind ssh userauth oder ssh connection. Sobald dieser service gestartet wird hat es zugriff zum Session ID welche während der kanal aufbau erzeugt wurde.
Wie funktioniert das User Authentication Protocol ?
Der Client Authentication Protokoll geht davon aus dass der darunter liegende protokoll confidentiality und integrität gewährleistet. Dieser Protokol hat bereits zugrif zur session ID
3 mögliche Authentication methoden:
- public key
- password
- hostbased
Der Server sollte um zusätzlich sicherheit zu gewährleisten die anzahl der Versuche für eine Authentication und die Zeit begrenzen. 10 minuten und 20 Versuche sind vorzuschlagen.
Was sind die möglichen user authentication Methods? und wie funktionieren diese ?
- Private Public Key
- User signiert etwas (session ID and data mit dem private key)
- Hostbased
- der host des clients signier was mit dem privatekey
- Username passowrd
- passwd nur verschlüsselt über ssh secure channel
- certifikat basier, kerberos, u2f, otp etc....
Was bietet der Connection protokoll an ?
- Interactive Login sessions
- von der Ferne commands ausführen
- port forwarding connection
- x11 verbindungen
Alle diese Applikationen sind als kanäle implementiert welche multiplexed durch einem verschlüsselten Kanal übertragen werden. Die multiplexing erfolgt über channel numbers, dies kann auf der Client und serverseite unterschiedlich sein.
Was ist DNS SSH- Fingerprint
Gibt die möglichkeit den pubkey des Servers via DNS Sec zu überprüfen. Indem ein DNS Eintrag mit dem Pub key des Servers vorhanden ist. Also kann dies mit dem pubkey des Serves überprüft werden.
Was verstehen Sie unter, Carrying X11 Connection over SSH?
X Clients werden verwendet um die remote Server grafisch beim Client darzustellen.
Hierbei wird der X Client seine daten verschlüsselt über den SSH pipe senden. Der X Server auf dem Clinet emfängt die Daten dann aus dem SSH client welche vom Server forwarded wird.
Was ist der Sinn von Port Forwarding ?
Das Ziel ist es unsichere Applikationen via SSH tunnels zu senden und diese somit sicher zu machen.
Was ist das Konzept von Port Forwardning ?
Die SSH verschlüsselt und entschlüsselt den datenverkehr über den sicheren Kanal zwischen Client und Server auf den Port 22. Port forwardning ist die möglichkeit den TCP/IP verkehr von anderen Applikationen auf anderen Ports mit SSH zu verschlüsseln und zu entschlüsseln.
Zum Beispiel ein SMPT verbindunh welches nicht verschlüsselt ist und auf den Port 587 läuft kann über den Port 22 vom Server auf den Client übertragen werden.
Was verstehen Sie unter Local Port Forwarding ?
Wenn sich in einem internen Netzwerk einen Server befindet auf welche ein Client zugreifen will aber wegen der Firewall es nicht machen kann. gibt es die möglichkeit diesen Zugriff via einen geöffnet Port 22 welches für SSH verwendet wird ins interne Netz zu schleusen.
Also ein request vom client kommt auf den ssh client und wird auf den SSH Server via ssh tunnel übertragen vom SSH Server wird der req an den App Server übertragen
Was verstehen Sie unter einem SSH Remote Port Forwardning?
Bei einem SSH Remote Port Forwardning geht es dabei darum einem AppClient welcher sich im gleichen Netz befindet wie der SSH Server einen Tunnel zu einem Netz aufzubauen welcher der AppServer und SSH CLient sich befinden.
Die requests werden dann vom Appclient zum SSH Server gesendet und via sshtunnel zu sshclient und dann am AppServer forwarded
SSH Forwarding a Whole IP Stack. Was können Sie zu diesem Thema erzählen?
Dies generiert einen SSH VPN Tunnel. Die Open SSH Version 4.3 ist mindestens dafür notwendig. Die übertragung wird via TCP gewährleistet.
Ist aber nicht unbedingt die beste Variante einen stabilen VPN zu gewährleisten.
Was ist wichtig für ein Locales Port forwarding einzurichten ?