Toon posts:

[Debian] user mag niet inloggen via ssh/telnet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil proberen om een gebruiker aan te maken die niet kan inloggen via ssh of telnet.
Nu heb ik begrepen dat dit bv in FreeBSB met nologin kan in de passwd file.

Ik heb in de manpage gekeken van nologin voor debian, maar daar staat alleen in dat wanneer de file /etc/nologin bestaat alleen root kan inloggen.

Ik wil dit per gebruiker kunnen instellen, zodat ik de gebruiker wel voor andere zaken kan gebruiken, maar deze mag niet inloggen via ssh/ telnet

Weet iemand hoe ik dat kan doen?

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 09:29
gewoon /bin/false als shell gebruiken. Als je ff zelf in /etc/passwd gezien had, was je hier ook wel achtergekomen.

Verwijderd

Topicstarter
Errr oopz.. idd sorry..
Bedankt

  • sebas
  • Registratie: April 2000
  • Laatst online: 16-12-2025
uit man sshd_config:
AllowUsers
This keyword can be followed by a list of user name patterns,
separated by spaces. If specified, login is allowed only for
users names that match one of the patterns. '*' and ''? can be
used as wildcards in the patterns. Only user names are valid; a
numerical user ID is not recognized. By default, login is
allowed for all users. If the pattern takes the form USER@HOST
then USER and HOST are separately checked, restricting logins to
particular users from particular hosts.
Aangezien ssh niet direct met een geldige shell te maken heeft is dit imo een betere aanpak. Je kunt immers gebruikers hebben 'waarnaartoe' wel wilt kunnen su'en maar die niet direct via ssh mogen inloggen. shell op /bin/false zetten zal dan geen handige optie zijn.

/edit
mogelijk is ook AllowGroups,
andersom kan het natuurlijk ook met DenyUsers / DenyGroups

[ Voor 8% gewijzigd door sebas op 12-01-2003 16:25 ]

Everyone complains of his memory, no one of his judgement.


Verwijderd

Topicstarter
Da's op zich een betere oplossing idd

Verwijderd

_JGC_ schreef op 12 January 2003 @ 16:19:
gewoon /bin/false als shell gebruiken. Als je ff zelf in /etc/passwd gezien had, was je hier ook wel achtergekomen.
Nadeel is dat je dan ook niet meer mag ftp-en... |:(

  • Hagar
  • Registratie: Februari 2001
  • Laatst online: 14-10-2025

Hagar

Diabootic

Verwijderd schreef op 12 januari 2003 @ 23:24:
[...]

Nadeel is dat je dan ook niet meer mag ftp-en... |:(
nee, daar heb je niet verplicht een geldige shell voor nodig.
Bovendien kan je /bin/false ook toevoegen aan etc/shells zodat het wel een geldige shell lijkt ;)

Nu ook zonder stropdas


Verwijderd

Volgens mij heb je voor ftp WEL een geldige shell nodig. Heb dit net op Suse en HP-UX 10.20 uitgeprobeerd met /bin/false in /etc/shells:

code:
1
2
3
4
5
6
7
8
9
root.hpe25>ftp hpe25 
Connected to hpe25.
220 hpe25 FTP server (Version 1.7.212.1 Thu May  9 21:09:19 GMT 1996) ready.
Name (hpe25:root): test
530 User test access denied.
Login failed.  (!!!!!!!!!!!!!!!!!)
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit

Je ziet dat ftp er al mee kapt nadat ik de username heb ingevoerd.

  • Tomsworld
  • Registratie: Maart 2001
  • Niet online

Tomsworld

officieel ele fan :*

In proftpd is er een setting "RequireValidShell" die je off moet zetten dat is waarschijnlijk hier ook het geval.

"De kans dat een snee brood op een nieuw tapijt valt met de beboterde zijde onderaan, is recht evenredig met de prijs van het tapijt"


Verwijderd

Een andere optie is om de volgende .profile in de directory van de user te zetten:
code:
1
2
#!/usr/bin/ksh
exit

Zo kan je in ieder geval niet telnetten maar wel ftp'en.

edit: zorg er dan wel voor dat deze .profile niet schrijfbaar is voor de gebruiker, anders kan hij natuurlijk een nieuwe .profile neerzetten met ftp... :Z

[ Voor 32% gewijzigd door Verwijderd op 13-01-2003 00:05 ]


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 09:29
Wat we hier toepassen om mensen te bannen van een server (login gaat via PAM_LDAP): gewoon het execute bitje van z'n homedir afhalen, komt ie er absoluut niet meer in :)

  • Guru Evi
  • Registratie: Januari 2003
  • Laatst online: 13-05 18:18
Ja maar als die mens nog altijd de rechten heeft over zijn directory kan ie zelf dat execute bitje (chmod u+x directory) er weer opplakken.
Wat niet klopt aan die gebruiker die inlogt op de ftp is dat er nog nooit achter een pass gevraagd wordt en dat ie er dan al vangesmeten wordt (leuk om uit te testen wie er access heeft of nie dmv een lijstje gebruikers in een bruteforcer te steken).
Die RequireValidShell kan het probleem oplossen maar ook misschien es kijken naar waar die gebruiker verwezen wordt als hij een /bin/nologin heeft. (naar zijn home directory die hij volgens de ACL niet meer mag gebruiken en wie heeft er rechten op die directory)

Pandora FMS - Open Source Monitoring - pandorafms.org


Verwijderd

Guru Evi schreef op 13 January 2003 @ 00:37:
Wat niet klopt aan die gebruiker die inlogt op de ftp is dat er nog nooit achter een pass gevraagd wordt en dat ie er dan al vangesmeten wordt (leuk om uit te testen wie er access heeft of nie dmv een lijstje gebruikers in een bruteforcer te steken).
Zo werkt het inderdaad niet op Linux. Daar wordt je er pas uitgegooid als je je password hebt ingevuld. Op HP-UX 10.20 t/m 11i en in ieder geval ook FTX 3.4.1 wordt je er direct nadat je je username hebt opgegeven al uitgegooid. Zal natuurlijk wel van je ftpd afhangen, ik heb het met de DARPA Internet File Transfer Protocol server geprobeerd.

edit:
Maar om te voorkomen dat we te ver afdwalen: gaat het alleen om het blocken van telnet en ssh (met dus wel bijv. fpt en samba toegang)?

[ Voor 10% gewijzigd door Verwijderd op 13-01-2003 00:50 ]


  • Guru Evi
  • Registratie: Januari 2003
  • Laatst online: 13-05 18:18
I know, maar het is geen veilige opstelling. En aangezien de topic gaat over Debian en de starter iets zegt over FreeBSD denk ik toch niet dat het over een of ander betaald Unix systeem gaat.

Pandora FMS - Open Source Monitoring - pandorafms.org


  • Aapzak
  • Registratie: November 2000
  • Laatst online: 10-05 19:47

Aapzak

Your genuine OS hopper

ik had zelf een shell scriptje die een bericht achter liet, verders niets. Dat werkte prima voor wat ik wilde. Ftp-en ging toen trouwens nog wel hoor, maar ik had mijn script dan ook opgenomen in de lijst van geldige shells. Werkt perfect, net berichtje 'geen shell access ..... etc.' en eruit.

PSN ID: Aapzak


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 14-05 20:30

deadinspace

The what goes where now?

Verwijderd schreef op 13 januari 2003 @ 00:04:
Een andere optie is om de volgende .profile in de directory van de user te zetten:
code:
1
2
#!/usr/bin/ksh
exit

Zo kan je in ieder geval niet telnetten maar wel ftp'en.
Ik zou /bin/sh gebruiken, die is required volgens POSIX, /usr/bin/ksh niet ;)

Maar als iemand erin slaagt om dat script te beïnvloeden (bijvoorbeeld in debug mode runnen oid), dan kan die persoon er misschien ook in slagen om alsnog een shell te krijgen (zelfde reden dat setuid bits op shell scripts genegeerd worden). Dat is in de praktijk waarschijnlijk heel lastig om te doen, maar het is niet uit te sluiten.

Het is doorgaans dus verstandiger om gewoon iemands shell op /bin/false, /bin/nologin of whatever te zetten.

  • active2
  • Registratie: Juni 2001
  • Laatst online: 26-10-2024

active2

Google is your friend

Verwijderd schreef op 12 januari 2003 @ 23:24:
[...]

Nadeel is dat je dan ook niet meer mag ftp-en... |:(
Dan vraag ik me af wat voor ftp-server jij gebruikt maar als ik hier me login op /bin/false zet dan kan ik nog steeds ftp'en.

En ik gebruik proftpd als server en daar zit de handige optie: RequireValidShell in ;)

Google, Het mirakel van de 21e eeuw!!!!

Pagina: 1