password management [WAS: Peri asfaleias [was: ...]]
Pavlos Parissis
p_pavlos at freemail.gr
Mon Dec 19 22:48:47 EET 2005
Καλησπέρα,
Μιας και ανέφερες για passowrd server και να είναι όσο ασφαλής γίνεται,
έχω να προτείνω τα παρακάτω:
1) Minimal install , για αυτό που θες να κάνεις, ο χώρος που θα χρειαστεί δεν μπορεί
να είναι πάνω από 512ΜΒ
2) filesystem layout
/boot mounted readonly
/usr mounted readonly
/
/tmp
3) ελάχιστα setuid binaries
4) daily system update(το script θα πρέπει να κάνει remount το /usr rw πριν και μετά ro)
5) bios password
6) grub/lilo password και για να αλλάξει κάποιος τα boot options θα πρέπει να δώσει password
7) netstat -na|grep ESTABLISHED θα πρέπει να επιστρέψει μόνο 22 και nmap -sS από
άλλο Υ/Η
8) install Aide(aka gnu tripwire)
9) remote logging με syslog-ng +stunnel
10) firewall
11) NO FUCKING WAY REMOTE ROOT LOGIN
12) su group(μόνο ένας θα μπορεί να κάνει su)
13) sshd_config listen μόνο στην IP μου έχει το σύστημα και όχι σε *
14) password policy και user limits
http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam.html
15) custom kernel
OXI module support
μόνο τα βασικά(ΟΧΙ USB-SOUND....)
πολλά ε?
On Mon, 19 Dec 2005 19:48:45 +0200
"Nick Demou (enLogic)" <ndemou at enlogic.gr> wrote:
> Πρώτα τι θέλω να πετύχω:
>
> έχουμε μια λίστα με not so critical passwords σαν την παρακάτω:
>
> ΠΕΛΑΤΗΣ | Login | Password | Σχόλιο
> ----------------------------------------------------
> Joe Smith | joe | aek123 | OTEnet account
> Joe Smith | joes | 123 | acci account
> ...
>
> 1) θέλουμε να επιτρέπουμε σε μερικούς έμπιστους τεχνικούς να μπορούν
> να μάθουν το password που κάθε φορά χρειάζονται για να βοηθήσουν τον
> κάθε πελάτη.
>
> 2) Θέλουμε να ξέρουμε πότε και ποιος τεχνικός ζήτησε να δει πιο
> password (ώστε να είμαστε σίγουροι ότι κοιτάνε μόνο ότι χρειάζεται
> για την δουλεία τους)
>
> 3) Θέλουμε να μπορούν να δουν μόνο ένα password κάθε Χ λεπτά και
> εντώς συγκεκριμένων ωρών τις ημέρας (ώστε αν κάποιος τεχνικός περάσει
> στην "σκοτεινή πλευρά" να μειώσουμε το κακό στο ελάχιστο δυνατό και
> να προλαβαίνουμε να αλλάξουμε τα passwords σε λογικό χρόνο).
> Επιτρέπουμε όμως κάποιο burst στα queries (π.χ. 2-3) πριν θέσουμε σε
> ενέργεια το όριο ένα query κάθε Χ λεπτά[1].
>
> Και τώρα η μέθοδός που χρησιμοποίησα[4]:
>
> (Α)
> Σε ένα linux box το οποίο είναι σχετικά ασφαλές και το οποίο θα το
> ονομάσω pass-server αποθήκευσα την λίστα με τα passwords σε ένα tab
> delimited unencrypted[2] text file με όνομα passwords.txt
>
> (Β)
> Έφτιαξα ένα πολύ απλό πρόγραμμα (python script με όνομα
> query-pass.py) το οποίο παρουσιάζει ένα command line interface που
> δουλεύει με τις εξής τρεις απλές εντολές:
> ----------------------------------------------------------------
> prompt> ? joe
> 10 Joe Smith | joe | OTEnet account
> 11 Joe Smith | joes | acci account
>
> prompt> 10
> Joe Smith | joe | aek123 | OTEnet account
>
> prompt> passwd
> ----------------------------------------------------------------
>
> Επεξηγήσεις:
>
> 1. "? joe": ο χρήστης ζήτησε να δει όλες τις εγγραφές που περιέχουν
> τη λέξη joe. Το πρόγραμμα αποκρυπτογραφεί decrypts and opens το text
> αρχειο και με ένα απλό σάρωμα δήχνει για κάθε matching line τα πάντα
> εκτός του password συν τον αριθμό γραμμής
>
> 2. "10": ο χρήστης ζήτησε να δει το password της γραμμής #10
> Η εντολή αυτή δουλέυει μόνο εφόσον το 10 ήταν στα αποτελέσματα της
> τελευταίας αναζήτησης[3]
>
> 3. "passwd": καλείται η εντολή passwd του συστήματος
αν ο τεχνικός δώσει λάθος password στο πρόγραμμά σου άστον να δει passwords
..αλλά άσχετα:)
>
> (Γ)
> 1. στον pass-server δημιούργησα έναν χρήστη για κάθε τεχνικό που
> πρέπει να χρησοιμοποιεί το query-pass
>
> 2. Εφτιαξα ένα group query-pass και έκανα όλους τους χρήστες του
> query-pass .py να το έχουν ως default group
>
> 3. Έβαλα το passwords.txt και το query-pass.py στο home dir του
> query-pass group
>
> 4. Δήλωσα το query-pass.py ως shell για τους χρήστες (αντί
> του /bin/bash)
μήπως θα ήταν καλύτερα να έχεις jails για τους χρήστες?
> 5. ρυθμισά το sshd.conf ώστε να έχουν access οι χρήστες
>
> 6. φρόντισα να μην επιτρέπω concurent logins στου χρήστες για να
> απλοποιήσω τον έλεγχο του μέγιστου ρυθμού queries άνα ώρα
> (δηλαδή στο /etc/security/limits.conf
> a_user hard maxlogins 1)
> 7. εγκατέστησα το putty (ssh terminal client για windows) στα PCs των
> χρηστών και φρόντισα να μπορούν να κάνουν ssh connection στον
> pass-server
>
> 8. θέλω να μάθω πως μπορώ να επιβάλω στους χρήστες να αλλάζουν το
> password τους κάθε τόσο μέσω του συστήματος (να τους το λέω και να με
> αγνοούν έχει πλάκα μόνο στην αρχή ;-) )
http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam.html
http://www.puschitz.com/SecuringLinux.shtml#EnablingPasswordAging
More information about the Linux-greek-users
mailing list