dahls%vax.elab.unit.uninett@TOR.NTA.NO (Joern Yngve Dahl-Stamnes) (07/05/88)
Hello I am writing a program that will check if a user have changed his/her password from AAA to BBB and back to AAA. A lot of users do this, and it is not very secure. My idea was to write a program that check if the user have changed the password since last check, and if so, check if the new hashed password value is in a table. The table contain a list of the last 20 (or more) hashed password value, one table for each user on the system. If the new hashed password is in the table, then the user must change the password again - and this is my problem. The only way I found so far, is to set the bit UAI$V_PWD_EXPIRED in the field UAI$_FLAGS. It works, but the result of doing this is that every user that do this nasty thing (using his/her old password) are running in and out of my office, and *that* was not my idea. Does anyone know how to force the user to change the password next time he/she log on the system? If I got this program to work and if anyone out there would like a copy of it, I will send it to the list. +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ | The University of Trondheim | Joern Yngve Dahl-Stamnes | | The Norwegian Institute of Technology | System Manager | | Division of Physical Electronics | | | N 7034 Trondheim, Norway | "Me God you user" | |---------------------------------------+---------------------------| | dahls%vax.elab.unit.uninett@tor.nta.no | | PSI%02422530001005::DAHLS | | Un*ix - the greates implementation of Murphy's laws | +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
LEICHTER@VENUS.YCC.YALE.EDU ("Jerry Leichter ", LEICHTER-JERRY@CS.YALE.EDU) (07/07/88)
I am writing a program that will check if a user have changed his/her password from AAA to BBB and back to AAA. A lot of users do this, and it is not very secure. My idea was to write a program that check if the user have changed the password since last check, and if so, check if the new hashed password value is in a table. The table contain a list of the last 20 (or more) hashed password value, one table for each user on the system. If the new hashed password is in the table, then the user must change the password again - and this is my problem. The only way I found so far, is to set the bit UAI$V_PWD_EXPIRED in the field UAI$_FLAGS. It works, but the result of doing this is that every user that do this nasty thing (using his/her old password) are running in and out of my office, and *that* was not my idea. Does anyone know how to force the user to change the password next time he/she log on the system? If I got this program to work and if anyone out there would like a copy of it, I will send it to the list. Try setting the password expiration time to some time in the past. BUT...please don't do what you are talking about doing. It's the typical techie fix for a people problem, and it won't work. In fact, it'll probably make things worse: Have a machine force people to do something they don't think is important - it makes NO difference what YOU think is important - will simply encourage them to find ways of fooling the machine. The classic story along this line is of the guy who found a quick way to come up with the required new password every month: He just used the name of the month. He was so proud of his new technique that he told everyone in the office about it - and they started doing the same thing. Fix the system to reject month names or words in the dictionary and people will use "month name followed by X". Force them to use a password generator every month and they'll write the password on their blackboard. (The ones who are "security concious" will write it on a piece of paper hidden in a desk drawer.) Education is the ONLY reliable way to increase system security. Understand what you are trying to accomplish, and whay, and make sure your users under- stand it, too. Then they and you will be on the same side, rather than fighting. Get into a fight with your users, and I can absolutely predict who will win in the long run. Hint: It won't be you. -- Jerry
carl@CITHEX.CALTECH.EDU (Carl J Lydick) (07/08/88)
> I am writing a program that will check if a user have changed his/her password > from AAA to BBB and back to AAA. A lot of users do this, and it is not very > secure. My idea was to write a program that check if the user have changed the > password since last check, and if so, check if the new hashed password value > is in a table. The table contain a list of the last 20 (or more) hashed > password value, one table for each user on the system. If the new hashed > password is in the table, then the user must change the password again - and > this is my problem. The only way I found so far, is to set the bit > UAI$V_PWD_EXPIRED in the field UAI$_FLAGS. It works, but the result of doing > this is that every user that do this nasty thing (using his/her old password) > are running in and out of my office, and *that* was not my idea. > > Does anyone know how to force the user to change the password next time he/she > log on the system? If I got this program to work and if anyone out there > would like a copy of it, I will send it to the list. By comparing the UAF records for an account before and after using AUTHORIZE to set the account /PWDEXP, I've found that setting it /PWDEXP causes the longword at offset %x17C in the record to be set to %xFFFFFFFF. I THINK this is the high longword of the UAI$_PWD_DATE field. Note than when an account is set /PWDEXP this shows up in AUTHORIZE as Pwdchange: (pre-expired) (that's why I think this is the high-order longword in UAI$_PWD_DATE). Hope this helps.
IMHW400@INDYVAX.BITNET (07/08/88)
I am not *certain* as to how LOGINOUT implements the last-chance password expiry message, but have you tried setting the password expiration time to some point in the past? I believe that if the password date has passed, but the password-expired bit is not set, LOGINOUT will give the user that message about "your password has expired, change it before you log out!" and set the expired bit. Try it and see! For now, the only way I can think of to FORCE a password change, is to run a program from SYLOGIN that checks for the expired bit and spawns a SET PASSWORD command if set. Or, if you can wait until VMS V5.0, I am told that forcing a change will be a standard option in that version. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Mark H. Wood IMHW400@INDYVAX.BITNET (317)274-0749 III U U PPPP U U III Indiana University - Purdue University at Indianapolis I U U P P U U I 799 West Michigan Street, ET 1023 I U U PPPP U U I Indianapolis, IN 46202 USA I U U P U U I [@disclaimer@] III UUU P UUU III
ockenden@prlhp1.prl.philips.co.uk (Paul T Ockenden) (07/11/88)
In article <165*dahls@vax.elab.unit.uninett> dahls%vax.elab.unit.uninett@TOR.NTA.NO (Joern Yngve Dahl-Stamnes) writes: >I am writing a program that will check if a user have changed his/her password >from AAA to BBB and back to AAA. > >Does anyone know how to force the user to change the password next time he/she >log on the system? If I got this program to work and if anyone out there >would like a copy of it, I will send it to the list. > There was a proggy such as this on one of the DECUS sig tapes - I think it might have been one of the 85 tapes ???? -- Paul Ockenden Philips Radiotheapy Systems, Crawley, UK +44 293 28787 x 4349 UUCP - uunet!mcvax!ukc!prlhp1!ockenden JANET - ockenden%prlhp1@uk.ac.Ukc Opions (where expressed), are those of Paul Ockenden the individual, NOT Paul Ockenden the Philips Employee !!
SYSJAMIE@utorphys.BITNET (James MacEwan) (07/14/88)
there is a program that does your password checking (to prevent users passwords doing aaa --> bbb --> aaa) in the anaheim decus tapes. Jamie.