For ikke at lave for mange sikkerheds brud i systemet kan man bruge et program der hedder poppassd.
poppassd kan opsættes som en netværks service og har FTP ligne kommunikation. Problemet med poppassd er bare at det er dårligt dokumenteret, fyldt med fejl og opsætningen forældet eller forkert. Programmet er originalt skrevet for at understøtte mail systemerne Eudora and NUPOP du kan finde original programmet her http://netwinsite.com/poppassd/ Den originale version bruger passwd programmet direkte, denne metode er knap så fleksibel og det har desuden vist sig at under nogen omstændigheder mister passwd processen sin parrent process og bliver en zombie. Det har ledt til udviklingen af en ny version kaldet poppassd-ceti, den version kan findes her http://freecode.com/projects/poppassd-ceti poppassd-ceti benytter sig af PAM som er en langt mere fleksibel metode til at håndtere bruger konti autorisations funktioner. Men da der også med den nye version er brug for udokumenteret workarounds for at få det til at virke bliver det her dokumenteret.
Bruger du RetHat enterprise eller Scientific linux (og måske andre RPM baseret systemer) kan du installere poppassd-ceti fra denne RPM poppassd-1.8.5-3.rh9.re.i386.rpm http://rpm.pbone.net/index.php3/stat/4/idpl/5808798/dir/redhat_9/com/poppassd-1.8.5-3.rh9.re.i386.rpm.html
Hvis den klager over den mangler sysklogd, og kun sysklogd så kontroller du har syslog installeret (#rpm -qa | grep syslog) da den kan have et par forskellige navnet, fx rsyslog, når det er bekræftet, installer den bare med --nodeps Du kan teste om programmet virker ved at bare skrive poppassd i prompten, neden for er en typisk poppassd transaktion: S: Server/K: Klient S: 200 HOSTNAME popassd v1.4 hello, who are you?\r\n
K: user BRUGERNAVN\r\n
S: 200 your password please.\r\n
K: pass EKSISTERENDE_KODE\r\n
S: 200 your new password please.\r\n
K: newpass NY_KODE\r\n
S: 200 Password changed, thank-you.\r\n
K: quit\r\n
S: 200 Bye-bye\r\n
Klager den over eksisterende kode ikke er korrekt selvom den uden tvivl er det, skyldes det forkert opsætning af PAM.
Skal poppassd skifte koder i lokal unix's shadow fil (normale unix brugere), erstat din PAM konfiguration i /etc/pam.d/poppassd med nedenstående:
#%PAM-1.0 auth required /lib/security/pam_unix.so shadow nullok account required /lib/security/pam_unix.so password required /lib/security/pam_cracklib.so retry=3 password required /lib/security/pam_unix.so use_authtok nullokNår det er testet kan der forsættes med opsætning af poppassd som netværks service.
Start med at definere din service i /etc/services
Vi skal bruge port 106, hvis den allerede bruges så kommenter de linjer med port 106 ud med # og indsæt i stedet nedenstående linje:
poppassd 106/tcpHerefter bruger vi xinetd som har sine konfigurationer i individuelle filer for hver service, vi skal derfor bruge filen /etc/xinet.d/poppassd med følgende indhold.
service poppassd { disable = no port = 106 socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/poppassd passenv = PATH env = HOME=/var/poppassd bind = 127.0.0.1 only_from = 127.0.0.1 log_on_success += HOST DURATION log_on_failure += HOST }Efter rettelser i xinet.d konfigurations filer skal xinetd reloades
#/etc/init.d/xinetd reload Test herefter med telnet at programmet virker som netværks service
$telnet localhost 106
Ingen kommentarer:
Tilføj en kommentar