Friday, June 19, 2015

A Free Self-Service AD password Change Utility



I have been looking for a free  self-service AD password Change Utility for a while.  There are users who are using AD service accounts for their applications. Users are logging to their machines using the service accounts in order to reset the passwords. Need to take some corrective measures to secure these accounts.

In the meantime I found Passcore - an open source script written in C# using ASP.NE MVC4. I tested in my lab environment and works perfect as designed. I installed SSL certificate  secure the application.

I am documenting it for future references or if anybody needs to know how to install it..

Download the web app from here: http://unopasscore.codeplex.com/

System Requirements:

IIS 7+
Activie Direcotry
.NET 4.5

If you want to make changes to some of the basic settings, you will need Visual Studio 2012

1. Download the zip file from http://unopasscore.codeplex.com/
2. Unzip the files to a folder (I created passcore folder)
3. Copy or move the unzipped folder to the path where your IIS site reside.
 







4. Go to IIS and add folder as a site. Make sure the Application Pool is .NET 4/Integrated Pipeline App Pool and that the bindings are properly configured.

 a. Go IIS, right click on Application Pool -> Add Application Pool as shown below

 






b. Assign any name to Application Pool, Choose .NET Framework v4.0 and integrated  and click OK




 










5. Now I will add this application to run as web site since I will have to assign SSL certificate to this particular apps only.

 a. Under IIS, right click Sites and choose Add Web Site


 










b. On the Add Web Site dialog box, provide Site Name, under Content Directory-> Physical path browse to the location where the passcore folder was copied under inetput folder as show and click OK.



 












c. provide the host name (URL) to access the site




 


















d. You  can test the site if it working or not by selecting the web site (passcore) you just created and on the Actions panel on right, click Brows passcore.abc.com.80












e. If everything is configured correctly, you should see the following page



 










6. Securing the apps by installing SSL certificate. Here I am using the internal cert.
Create the Certificate Signing Request
The first step in ordering an SSL certificate is generating a Certificate Signing Request. This is very easy to do in IIS7 using the following instructions. 
1.    Click on the Start menu, go to Administrative Tools, and click on Internet Information Services (IIS) Manager. 


             2.  Click on the name of the server in the Connections column on the left. Double-click on Server Certificates. 


Install the Certificate
To install your newly acquired SSL certificate in IIS 7, first copy the file somewhere on the server and then follow these instructions:
1.    Click on the Start menu, go to Administrative Tools, and click on Internet Information Services (IIS) Manager.
2.    Click on the name of the server in the Connections column on the left. Double-click on Server Certificates.

3.    In the Actions column on the right, click on Create Certificate Request...

4.    Enter all of the following information about your company and the domain you are securing and then click Next.


Leave the default Cryptographic Service Provider. Increase the Bit length to 2048 bit or higher. Click Next.

5.    Click the button with the three dots and enter a location and filename where you want to save the CSR file. Click Finish.




Install the Certificate
To install your newly acquired SSL certificate in IIS 7, first copy the file somewhere on the server and then follow these instructions:
1.    Click on the Start menu, go to Administrative Tools, and click on Internet Information Services (IIS) Manager.
2.    Click on the name of the server in the Connections column on the left. Double-click on Server Certificates. 


3        3.    In the Actions column on the right, click on Complete Certificate Request...


  4.Click the button with the three dots and select the server certificate that you received from the certificate authority. If the certificate doesn't have a .cer file extension, select to view all types. Enter any friendly name you want so you can keep track of the certificate on this server. Click OK.

 


5      5. If successful, you will see your newly installed certificate in the list. If you receive an error stating  that the request or private key cannot be found, make sure you are using the correct certificate and that you are installing it to the same server that you generated the CSR on. If you are sure of those two things, you may just need to create a new Certificate Request and reissue/replace the certificate. Contact your certificate authority if you have problems with this.



Bind the Certificate to a websit

1.    In the Connections column on the left, expand the sites folder and click on the website that you want to bind the certificate to. Click on Bindings... in the right column.







    2. Click on the Add... button.



3   3. Change the Type to https and then select the SSL certificate that you just installed. Click OK.





    4.You will now see the binding for port 443 listed. Click Close.