PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sshd ports



basstscho
17.04.06, 15:33
Hallo zusammen,

ich habe mir für heute mittag mal meinen sshd zur Brust genommen.

Hab ihn soweit möglichst (denke und hoffe ich) sicher konfiguriert und stehe nun nurnoch vor einem Port-Problem:
Da ich ständig "Einbruchsversuche" durch sogn. Script-Kiddis in meinen logfiles habe, möchte ich den SSH-Port auf einen anderen legen. Allerdings nur vom internet aus.
d.h.: Wenn ich extern auf den Server zugreifen möchte, muss ich (beispielsweise) den Port 444 nehmen.
Von meinem Intrante würde ich allerdings gerne weiterhin über den Port 22 auf den Server zugreifen.

Nun hab ich schon probiert "Port 22 444" einzugeben. Das hat allerdings nicht funktioniert.
Meine zweite Idee war einfach durch Masquerading den Port 23 auf die IP 127.0.0.1:22 weiterzuleiten. Das funktioniert auch sehr schön, allerdings nur, wenn man die Weiterleitung nicht auf den localhost macht. Umleiten auf einen anderen Server in meinem Netz ging sehr gut.

Hat jemand von euch noch eine Idee, wie ich an das problem herangehen könnte?

OS: Suse 9.3

Ich danke euch jetzt schonmal recht herzlich...
Frohe Ostern,

Grüße Johannes

Roger Wilco
17.04.06, 15:40
# Interne IP-Adresse
ListenAddress 192.168.1.1:22
# Alle Interfaces oder speziell die externe IP-Adresse
ListenAddress 0.0.0.0:444

basstscho
17.04.06, 15:49
Hi Roger Wilco,

danke!
Hat super geklappt!

Grüße Johannes

basstscho
17.04.06, 16:07
Eine Frage hätt ich noch:

Hier ist meine vorläufige ssh_config:



# GLOBAL #

Port 22
Protocol 2
TCPKeepAlive yes
UseDNS no
ListenAddress 169.254.100.2:22
ListenAddress 0.0.0.0:444


# AUTHENTIFIZIERUNG #

AllowUsers MEINNICHTEGNANNTERUSER

PasswordAuthentication yes
PermitEmptyPasswords no
PubkeyAuthentication yes
RhostsRSAAuthentication no
HostbasedAuthentication no
KerberosAuthentication no
GSSAPIAuthentication no
LoginGraceTime 45
PermitRootLogin no
StrictModes yes
MaxAuthTries 3


# SONSTIGES #

UsePAM yes
AllowTcpForwarding no
X11Forwarding no


# override default of no subsystems
Subsystem sftp /usr/lib/ssh/sftp-server

# This enables accepting locale enviroment variables LC_* LANG, see sshd_config(5).
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL



Ich hab jetzt einige Seiten durchgelesen und dadurch diese config ausgearbeitet.
Mein Ziel:
- Nur den User erlauben, der in AllowUsers steht.
- Der Benutzer loggt sich per Passwort ein

Der Rest soll möglichst unterbunden werden.
Ist dafür diese config gut? Oder hab ich ein paar mal die falschen Schalter gesetzt?

Wieso bricht eigentlich der Server die ssh-Verbindung nicht sofort ab, wenn ich mich als root@server oder als xyz@server einlogge? Der frägt mich erst nach einem Passwort etc. Das ist doch blöd oder?

Für was ist eigentlich dieser Teil genau nötig? Der war in der originalen config drinn. Kann ich den rausschmeissen?



# override default of no subsystems
Subsystem sftp /usr/lib/ssh/sftp-server

# This enables accepting locale enviroment variables LC_* LANG, see sshd_config(5).
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL


Ich danke euch!
Vielen Dank,
Grüße Johannes