Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Visual SourceSafe 2005 Software Configuration Management in Practice

You're reading from   Visual SourceSafe 2005 Software Configuration Management in Practice Best practice management and development of Visual Studio .NET 2005 applications with this easy-to-use SCM tool from Microsoft

Arrow left icon
Product type Paperback
Published in Feb 2007
Publisher Packt
ISBN-13 9781904811695
Length 404 pages
Edition 1st Edition
Languages
Arrow right icon
Toc

Table of Contents (15) Chapters Close

Visual SourceSafe 2005 Software Configuration Management in Practice
Credits
About the Author
About the Reviewers
1. Preface
1. Controlling the Evolution of Software Products FREE CHAPTER 2. The SourceSafe 2005 Architecture 3. Creating a Service-Oriented Application 4. Adding Solutions to the SourceSafe Database 5. Developing Solutions under Source Control 6. Working from Remote Locations 7. Managing the Software Development Lifecycle Installing Visual SourceSafe 2005 Creating and Configuring SourceSafe Databases Database Maintenance

Securing the Database


The Windows security for a SourceSafe database is divided across two layers:

  • Windows Shared Folder Security: applied to the shared folders, based on Windows user accounts.

  • Windows NTFS Security: applied to the file system database folders, based on Windows user accounts.

The following diagram shows these layers:

The most important layer in securing a SourceSafe database is the Windows NTFS Security layer applied to the database folder. This is the only way to assign strict access permissions to the users that must access the database files. The security of SourceSafe databases is determined by the security of the folder that contains them. To implement the necessary security, the database must be installed on an NTFS file system because you can grant permissions for individual files and folders.

In contrast, the File Allocation Table (FAT) file system applies the same permissions to the entire shared folder. Shared folder security is not restrictive enough and can be bypassed by users logged in locally on the database server.

In addition to these security layers, SourceSafe has its own mechanisms for account management and project rights, but they are not security measures. These mechanisms are applied at the application logic level and complement the operating system's security applied to the database folders and files. SourceSafe usernames and project rights assignments can be bypassed by malicious users; therefore, it is important to secure your database using Windows integrated security.

Every user that will access the SourceSafe database will have a Windows user account for the database server and a SourceSafe user account for the database.

After a new SourceSafe database is created, its initial configuration contains three SourceSafe users, the Admin user, the Guest user, and a third user named after the Windows user account that created the database, in my case Alex.

Note

These users initially have blank passwords. Do not forget to assign a password for the Admin user before sharing the database. If you are not interested in giving access to someone as a guest in the database, you can delete the Guest account.

The SourceSafe Admin User

The SourceSafe Admin user is a special user account. This is the only account name you can use to administer a SourceSafe database and cannot be edited or deleted. When opening the Visual SourceSafe Administrator application to log in to an existing database, you can see that the User name is always set to Admin and it cannot be changed.

As a result, if there are several database administrators, they will all have to log in to the database using this built-in Admin account.

To set the Admin user password use the Users | Change Password command.

Note

Do not choose the same password as your Windows account password because if your Windows password is weak, the SourceSafe password may be used as leverage in a dictionary attack in an attempt to guess your Windows password.

If third-party tools are used to access the SourceSafe database, they may not secure the SourceSafe passwords enough and may accidentally disclose the Windows passwords this way.

Setting the Windows Security for the Database

Every SourceSafe database user will have a Windows user account on the database server for authentication in addition to the SourceSafe user account. This can be a domain user if the database server and the user's machine are part of the same domain, or a local Windows user on the database server.

The best way to simplify user administration on the database server is by creating Windows user groups to which the database users will be assigned depending on their role.

Creating the Windows Groups for the Database Users

There are two user roles for a SourceSafe database:

  • Administrators: they have full access to the database

  • Users: they have restricted access to the database

As a result, the database's users will be assigned to one of these two user groups.

For the OrbitalHotel database, I will create two groups using the Local Users and Groups snap-in in the Computer Management console, one for the administrators, named OrbitalHotel Admins and one for the users, named OrbitalHotel Users.

When adding users or administrators to the database, all that is required to manage the Windows security for the database is adding their Windows user accounts to one of these groups.

Setting the Security Permissions for the Database

After creating the two groups of users, we have to configure the NTFS security permissions for the database folder.

In my case I will configure the C:\SourceSafe\OrbitalHotel folder I used to create the OrbitalHotel database in.

The default security for a Windows folder is inherited from its parent folder and looks something like this:

Because we don't want all the default users to be able to access the database folder, the inherited security must be removed. Before doing that, we must add the two Windows user groups for the database, using the Add button. The Admins group will have Full Control security permissions on the database folder.

The Users group will only have the List Folder Contents and Read security permissions on the database folder.

This is because the database folder contains files like the srcsafe.ini that contain the database configuration information and should be modified only by administrators. As a result, several security permissions must be added individually to the other folders under the database folder. To ease this task let's first remove the inherited security permissions.

To remove the inherited security permissions, we have to go to the advanced security settings by clicking the Advanced button. This will display the Advanced Security Settings dialog.

To remove the inherited security permissions we must uncheck the option allowing permission inheritance. This will display a question dialog asking whether to copy the inherited permissions or to remove them.

Click the Remove button to remove the inherited security and then click OK to close the Advanced Security Settings dialog. Now, the security permissions for the database folder contain only the two required user groups.

After removing the inherited security we can continue to assign permissions for the folders under the database folder.

All the folders under the database folder (except for the users folder) must be granted Modify permissions for the Users group.

As you already know, the users folder contains a folder for each database user that stores individual customizations and configurations. Each user must be allowed to modify only his or her personal folder. This will also ensure that each user can log in into the database only using his or her username. For each user folder we must grant Modify permissions for the user Windows account.

In my case, I will add the Windows user Alex in the security for the users/alex folder and give it permissions to modify its contents.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image