Thralas schreef op zondag 21 januari 2018 @ 18:28:
[...]
Ik denk dat we even onderscheid moeten maken tussen situaties. Enerzijds een systeem dat voor thuisgebruik door één beheerder wordt beheerd, anderzijds een gedeelde machines waar er zo nu en dan verloop is in de set beheerders.
99/100 keer stelt hier iemand de vraag in de context van een thuisgebruiker waar er sprake is van een enkele beheerder en dan papegaait iedereen hier dat rootlogin uitmoet omdat het o-zoveel veiliger is.
Volgens mij is dat waar @
GlowMouse het mee oneens is, en daar heeft 'ie wat mij betreft helemaal gelijk in.
Als dat de reden is van het oneens zijn:
Ik redeneer vanuit een bedrijfsomgeving of tenminste vanuit een omgeving met meerdere beheerders. Hoewel ik het gebruik van sudo en het non-gebruik van rootlogin ook in privé situaties beter vind en de argumenten vóór rootlogin compleet moot.
[...]
Iedereen zou met keys moeten werken, zeker op machines die aan het internet hangen. Als dat het gevak was dan waren alle SSH-bruteforcers allang out of business.
Een key met een wachtwoord vind ik de term 2FA niet waard. Tenzij je die key in een smartcard bewaart is toegang tot één machine om zowel de key als het wachtwoord te achterhalen. Een Yubikey is wel een prima voorbeeld.
Yubikey kan op 2 manieren. OTP en met een strong password eventueel gecombineerd met een eigen passphrase dat je als aanvulling op dat password gebruikt. Technisch is ook dat laatste 2FA. Het is op de grens, maar omdat je op die manier kunt werken met wachtwoorden die geen zinnig mens kan onthouden, is het veiliger dan een kort wachtwoord dat nog wel te onthouden is en beschermt het beter tegen brute-force attacks domweg omdat een wachtwoord langer en complexer kan zijn.
OTP is natuurlijk volledig 2FA.
Met ssh keys kan dat anders zijn. Een ssh key wil je veilig bewaren maar als die machine waar de key op staat er een is waar je niet zomaar bij kunt, is het vind ik wel 2FA als snap ik dat je het op het randje vind.
[...]
Ik denk dat dit alleen klopt als je het nuanceert tot de notie dat 'security by obscurity' altijd sluitpost in je beveiligng is, het systeem zonder obscurity in principe óók veilig is en daarnaast dat het ook een noemenswaardige inspanningsverhoging oplevert.
Ik denk dat security by obscurity geen veiligheidsvoordeel oplevert, enkel veiligheidsnadelen.
Het is niet voor niets een praktijk die word afgeraden.
Je mag het dus ook niet als sluitpost in je beveiliging gebruiken, je moet het gewoon niet toepassen.
Het voorbeeld van de poorten faalt op dat laatste (iemand die wérkelijk wilt weten waar je SSH draait weet dat binnen een minuut), maar het principe is hartstikke valide. Zo niet: bel de NSA even op inzake Suite A.
Zie mijn eerdere argumenten. Je hebt het binnen een minuut te pakken en je hebt opeens een vreemde poort die je in je firewalls moet doorlaten. Alleen dat al levert een extra risico op.
[...]
Dat is dan ook een van de usecases waar het disablen van rootlogin wél nuttig is.
Ofwel: In bijna iedere andere case dan een enkele individuele vm of pc heb je daar mee te maken en is het uitschakelen van rootlogin zinvol. De corner case is nu net die losse PC.

[...]
Maar die use cases zijn dermate specifiek dat het niet echt als een concreet voordeel benoembaar is in een lijstje 'algemene' securitytips.
Specifiek?
Ik vind de PC thuis veel specifieker dan iedere omgeving met meerdere machines en beheerders.
[...]
Je verbouwt z'n argument. Hij betwistte het nut van remote logging niet, enkel dat sudo daar niets aan toevoegt.
Mijn argument is dat sudo altijd wat toe voegt en remote logging die waarde versterkt omdat traces minder makkelijk te verwijderen zijn.
[...]
Overal 'sudo' voor tikken is twee seconden een goed idee, daarna doet iedereen gewoon 'sudo su', mezelf incluis.
Dan nog kun je zien wie op een bepaald moment sudo su - heeft getikt.

Da's al beter dan het niet gebruiken van sudo. (Maar ik kan me prima situaties voorstellen waar je direct een goed gesprek hebt met je leidinggevende als je sudo su - tikt... Als je dat al mag en dat niet keihard is uitgeschakeld.)
[...]
auditd lijkt me daar een geschiktere kandidaat voor dan sudo
Combinatie lijkt me nog beter.
Het een sluit het ander niet uit.
[...]
Ik geloof dat je voor wat betreft beheer, auditing en logging absoluut een punt hebt, maar qua 'attack surface' werkt dat alleen in die zeer specifieke gevallen.
Ik vind dat niet zo specifiek.

Maar goed, ook daar. Context waar vanuit ik redeneer is niet de context van een PCtje thuis of een enkel individueel vmetje van een particulier.
[...]
@
unezra had een punt in het geval van centrale authenticatie - op een systeem met meerdere gebruikers kun je dan gemakkelijker zien wie er (vermoedelijk) inlogde.
De enige échte uitdaging is dat je alleen kunt zien welk account er inlogde, niet welke persoon dat was. Dat kan alleen als je met 4-ogen systemen gaat werken en dat is inderdaad een corner-case.
[...]
Dat is inderdaad meestal de reden waarom het hier wordt geroepen. Spijker, kop.
In de meeste gevallen komt de vraagstelling voort uit een gebruiker die als enige beheerder z'n server managet en daar alleen op inlogt voor beheer waarvoor rootrechten vrijwel onontkoombaar zijn. Dan voegt het disablen van remote root niets, nul, nada toe.
EDIT: bonus, deze twee artikelen vond ik erg inspirerend voor SSH security in een enterpiseomgeving:
Meet Securitybot: Open Sourcing Automated Security at Scale
Distributed Security Alerting
Ook eens doornemen. Sowieso een van de zaken om komend jaar eens naar te kijken.
Ná Scaoll. - Don’t Panic.