Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: hoe openssh extra beveiligen met hosts.allow en hosts.deny?  (gelezen 1084 keer)

Offline Menno_

  • Lid
hoe openssh extra beveiligen met hosts.allow en hosts.deny?
« Gepost op: 2008/01/22, 23:33:59 »
Wij (een scoutinggroep met 400 leden) hebben op onze webserver openssh draaien. Nu is het zo dat er pakweg een paarduizend keer per dag (met "brute-force" dus) op de deur wordt geknopt b ij die ssh-server. Nu heb ik een redelijk tot zeer veilig wachtwoord, maar niet alle beheerders van onze server hebben dat. Het is dus een kwestie van tijd totdat ze dus een keer door die beveiliging heenkomen.

Nu begrijp ik uit "man sshd" dat je de toegangspoort mede kunt laten bewaken mbv de hosts.allow en hosts.deny bestanden in de /etc/ directory. Volgens "man hosts_access" gaat dat door de lijst van deamon op te geven, dan een dubbele punt en dan een lijst met hostnamen of adressen (er is nog meer mogelijk, maar ik wil slechts een beperkt lijstje met adressen toelaten).
Dat ziet er dan in de twee bestandjes zo uit:
## hosts.allow
in.sshd: 192.168.1.10
##

## hosts.deny
in.sshd: ALL
##

na deze bestanden te hebben gewijzigd/geplaatst zoals hiervoor beschreven de sshd even herstarten en dan zou alleen 192.168.1.10 toegang moeten hebben. Helaas werkt dat kennelijk niet zo, ik kan gewoon vanaf elk werkstation (in het netwerk of vanaf internet) inloggen op de ssh-server. Ik heb ook al geprobeerd met enkele quotes om het adres, om de naam van de deamon, om zowel de naam van de deamon als het adres en door "in." weg te laten voor de naam van de deamon. Wat je hierboven ziet is het voorbeeld zoals in de man-pages staan.

Het kan heel goed zijn dat ik iets vergeet natuurlijk, maar het kan ook zo zijn dat sshd dit mechanisme helemaal niet (meer) gebruikt. Heeft iemand van jullie ervaring hiermee of heb ik gewoon TFM weer eens niet goed gelezen.

In elk geval hoop ik dat iemand van jullie dit beter snapt dan ik en even zou willen helpen. Het is voor ons vrij belangrijk, we hebben nu 8 mensen met een ssh-account en het is ook onze (scouting) webserver. Het ding hangt dus altijd aan internet en een andere poort voor ssh gebruiken is onhandig voor andere dingen.

alvast bedankt, Menno
6x Ubuntu 10.04 server op VM-Ware // Ubuntu 8.04 server op Dell SC1425

Offline siegi

  • Lid
hoe openssh extra beveiligen met hosts.allow en hosts.deny?
« Reactie #1 Gepost op: 2008/01/22, 23:39:17 »
Misschien antwoord ik niet direct op je vraag maar het volgende is ook een mogelijkheid.
http://www.ubuntu-nl.org/documentatie/veiligheid/knockd/
Je kan voor de niet ervaren gebruikers ook een script schrijven dat de poorten automatisch aanklopt.

Want met host.allow ga je ervoor zorgen dat je alleen maar van bepaalde plaatsen kan inloggen.

Offline Menno_

  • Lid
hoe openssh extra beveiligen met hosts.allow en hosts.deny?
« Reactie #2 Gepost op: 2008/01/22, 23:48:07 »
Citaat van: siegi
Misschien antwoord ik niet direct op je vraag maar het volgende is ook een mogelijkheid.
http://www.ubuntu-nl.org/documentatie/veiligheid/knockd/
Je kan voor de niet ervaren gebruikers ook een script schrijven dat de poorten automatisch aanklopt.
Daar ga ik naar kijken, bedankt voor de tip siegi
Citaat van: siegi
Want met host.allow ga je ervoor zorgen dat je alleen maar van bepaalde plaatsen kan inloggen.
Dat klopt en dat is ook wat me zo aanspreekt van hosts.allow en -.deny (alhoewel dat natuurlijk geen garantie voor veiligheid isnatuurlijk)
6x Ubuntu 10.04 server op VM-Ware // Ubuntu 8.04 server op Dell SC1425

Offline Menno_

  • Lid
hoe openssh extra beveiligen met hosts.allow en hosts.deny?
« Reactie #3 Gepost op: 2008/01/22, 23:54:08 »
Citaat van: Menno X11
Daar ga ik naar kijken, bedankt voor de tip siegi
knockd is idd heel handig, ik ga het op mijn eigen server server installeren om het eens te proberen. Hoe zit het met multiuser omgevingen, heb je daar toevallig ervaring mee?
6x Ubuntu 10.04 server op VM-Ware // Ubuntu 8.04 server op Dell SC1425

Offline siegi

  • Lid
hoe openssh extra beveiligen met hosts.allow en hosts.deny?
« Reactie #4 Gepost op: 2008/01/23, 00:00:00 »
Het is natuurlijk wel vereist dat iptables normaal het verkeer blokkeert.  Anders gaat het openen van een poort geen effect hebben want ze is al open.
Je kan regels handmatig aan iptables toevoegen. Of je kan bv firestarter draaien.

BTW multiuser, ik zie eigenlijk niet direct wat het probleem is. Dit programma zorgt er alleen voor dat iedereen die je juiste opeenvolgende combinatie van poorten toegang krijgt tot poort 22. (Het is dan ook alleen dat ip adres dat toegang krijgt welke de juiste combinatie kent)

Ik vind dit zelf eigenlijk een mooi systeem. Niemand weet dat je een ssh server draait. Zelf met een poort scan vind men het niet.

Anyway voor je alow deny probleem
/etc/host.allow

SSHD:192.168.1.100


/etc/host.deny

SSHD:ALL

Offline desmond

  • Lid
hoe openssh extra beveiligen met hosts.allow en hosts.deny?
« Reactie #5 Gepost op: 2008/01/23, 00:04:45 »
Heb je het ook geprobeerd met de letterlijke voorbeelden uit man hosts_access? Ik ga er daarbij vanuit dat je geen andere services van andere locaties hoeft te benaderen. Dan nog zou je het hiermee eerst kunnen testen?

/etc/hosts.deny:
          ALL: ALL
 /etc/hosts.allow:
          ALL:

Als dat niet werkt, zou je er ook voor kunnen kiezen de hosts.allow file weg te halen en alleen hosts.deny te gebruiken met 'patterns' (zie man hosts_access) om veel voorkomende exotische IP-ranges in een keer te bannen.
Citaat
For example, the
              net/mask  pattern  `131.155.72.0/255.255.254.0'  matches   every
              address in the range `131.155.72.0' through `131.155.73.255'.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
hoe openssh extra beveiligen met hosts.allow en hosts.deny?
« Reactie #6 Gepost op: 2008/01/23, 00:49:47 »
Je kan ook het pakket denyhosts installeren. Dan worden hosts die verkeerd inloggen na een aantal keer geblokkeerd.
Je kan zelf instellen na hoeveel foute logins een host geblokkeerd moet worden en hoe lang.
Als je wil kan je ook whitelists instellen en accounts waarmee wel of niet ingelogd kan worden.

Geblokkeerde hosts worden automagisch toegevoegd of verwijderd aan het hosts.deny bestand.

Offline Menno_

  • Lid
hoe openssh extra beveiligen met hosts.allow en hosts.deny?
« Reactie #7 Gepost op: 2008/01/24, 21:18:39 »
@siegi: mijn Multiuservraag heb je eigenlijk beantwoord, knockd opent volgens jou een poort voor een specifiek ip-adres. dat is perfect en ook wat ik zou willen.

@desmond: ik heb een deel van de voorbeelden uit hosts_access, waaronder ALL:ALL  in hosts.deny geprobeerd. Ik denk dat ik nog ergens iets vergeet ofzo, moet ik dus nog wat verder induiken

@johanvd; denyhost lijkt me ideaal, dat ga ik eens proberen, ben erg benieuwd wat dat voor effecten heeft. Op het ogenblik is onze server  soms erg druk, zo druk dat ie zijn taken soms te sloom uitvoert.

Allemaal dank voor het meedenken en de goede tips. ik verwacht eigenlijk dat dit nu opgelost is en denkl dat het denyhosts gaat worden, wat dat iis verreweg het eenvoudigst.
6x Ubuntu 10.04 server op VM-Ware // Ubuntu 8.04 server op Dell SC1425