To secure your database, you must understand your users. Users can have many different purposes when they connect to your database. Users can read the data, change the data, delete the data, and insert more data. The first step to secure your database is to decide what activities each user is permitted to perform on the database.back to the topUsers, groups, and roles
SQL Server and MSDE have Users, Groups, and Roles that you can use to control the level of security on the database. If a particular group of users only have to read the data from the database, you can create a group named OnlyReaders, and then add the users to this group. The users who are members of this group can only read the data; they cannot change the data, whether intentionally or by accident.
To learn more about Users, Groups, and Roles, see the SQL Server Books Online. To add Users, Groups, and Roles on an MSDE database, use the OSQL utility.back to the topSA account password
Another simple step to make your database more secure is to verify that the SA account has a secure password. Many developers and system administrators leave the SA account password blank, which permits anyone to gain access to the database.
To change the SA account password on your MSDE database, follow these steps:
- On the computer that is hosting the instance of MSDE that you are connecting to, open a command prompt window.
- Type the following command, and then press ENTER:
osql -U sa
This command connects you to the local, default instance of MSDE by using the SA account.
- Type the following commands on separate lines, and then press ENTER:
Note Replace 'mynewpassword' with the new password.
Note that you receive the following message, which indicates that your password was changed successfully:
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
325003back to the topSecurity in ASP
How to manage the SQL Server Desktop Engine (MSDE 2000) by using the Osql utility
Security in Active Server Pages is as important as security for Windows-based programs.For more information, click the following article number to view the article in the Microsoft Knowledge Base:
176377back to the topSecurity patches
Accessing SQL Server with Integrated Security from ASP
To maintain security, you not only have to manage users, groups, and roles, but you also have to verify that you have installed the latest patches on your database server. Security patches are available for download for SQL Server and MSDE. Microsoft recommends that you install these patches immediately. For more information, visit the following Microsoft Web site:Note
We recommend that you install SQL Server 2000 Service Pack 3 (SP3) or SQL Server 2000 SP4. Service packs include more updates, and Microsoft Security Bulletin MS02-034 is included in the two service packs.For more information about how to obtain SQL Server 2000 SP3 or SQL Server 2000 SP4, click the following article number to view the article in the Microsoft Knowledge Base:
How to obtain the latest SQL Server 2000 service pack
This is a cumulative patch that includes the functionality of all of the patches that have been released previously for SQL Server 2000. Also, this patch fixes the following three newly discovered vulnerabilities that affect SQL Server 2000 and SQL Server Desktop Engine (also known as MSDE 2000). (These vulnerabilities do not affect any previous versions of SQL Server or MSDE.):
- A buffer overrun vulnerability in a procedure that is used to encrypt SQL Server credential information. A user who is not authorized can use this vulnerability to gain significant control over the database. It is possible for the user to gain control of the server itself, but this depends on the account that SQL Server uses.
- A buffer overrun vulnerability in a procedure that relates to the bulk insert of data in SQL Server tables. A user who is not authorized can use this vulnerability to gain significant control over the database. It is possible for the user to gain control of the server itself.
- An administrative credentials elevation vulnerability that occurs because of incorrect rights on the Registry key that stores the SQL Server service account information.A user who is not authorized can use this vulnerability to gain more rights on the system than system administrator has give to the user's account. It is possible for the user to get the same rights as the operating system. For more information, visit the following Microsoft Web site:
When you install SQL Server 7.0 (including MSDE 1.0), SQL Server 2000, or a service pack for SQL Server 7.0 or SQL Server 2000, the information that you provide for the install process is collected and stored in a setup file named Setup.iss. You can use the Setup.iss file to automate the installation of additional SQL Server systems.
SQL Server 2000 also includes the ability to record an unattended install to the Setup.iss file without your having to actually perform an installation. The administrator who sets up the computer running SQL Server can give a password to the installation routine under the following circumstances:
- If you set up SQL Server to have Mixed Mode Authentication, you must give a password for the SQL Server administrator account (the SA account).
- Whether you run SQL Server in Mixed Mode or in Windows Authentication Mode, you can require a User ID and a password to start up a SQL Server service account.
In either case, the password is stored in the Setup.iss file. Before the release of SQL Server 7.0 Service Pack 4, the passwords were stored in plain text. For SQL Server 7.0 Service Pack 4 and SQL Server 2000 Service Packs 1 and 2, the passwords are encrypted and then stored. Additionally, during the installation process, a log file is created that shows the results of the installation. The log file includes any passwords that were stored in the Setup.iss file.back to the topAuthentication
Authentication is a way for SQL Server and MSDE to check logins to verify that the user is permitted to connect to the server. There are two security modes that SQL Server and MSDE use: Windows Authentication and Mixed Mode.back to the topWindows Authentication
Windows Authentication uses NTLM to connect to MSDE. If you log on as an Administrator to you computer, MSDE tries to authenticate you as an Administrator.back to the topMixed Mode Authentication
Mixed Mode Authentication permits you to log on to MSDE by using Windows Authentication or SQL Server authentication. SQL Server authentication permits you to create users in MSDE. When you develop programs, you include your user ID and your password in the connection string when you connect to MSDE. For more information about Authentication Modes, visit the following Microsoft Web site:back to the topTurn on Mixed Mode Authentication during installation
During installation, you can change the authentication mode that MSDE uses by running the installation with the following command parameter:
This command parameter causes MSDE to install with Mixed Mode authentication. With this authentication mode, you can connect to MSDE by using Windows Authentication or SQL Server Authentication.Note
By default, for Windows NT and later, MSDE installs by using Windows Authentication. On computers running Windows 98, MSDE uses SQL authentication.back to the topTurn on Mixed Mode Authentication after you install MSDEImportant
This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
How to back up and restore the registry in Windows
By default, the value of the LoginMode
Windows registry subkey is set to 1
for Windows Authentication. To turn on Mixed Mode authentication after you install MSDE, you must change this value to 2
. The location of the LoginMode
subkey depends on whether you installed MSDE as the default MSDE instance or as a named instance.
- If you installed MSDE as the default instance, the LoginMode subkey is located in the following registry subkey:
- If you installed MSDE as a named instance, the LoginMode subkey is located in the following registry subkey:
HKLM\Software\Microsoft\Microsoft SQL Server\Instance Name \MSSQLServer\LoginMode
To change the value of LoginMode
, follow these steps:
back to the top
- In Control Panel, open the Services tool, and then stop MSSQLSERVER and all other related services (such as SQLSERVERAgent).
- On the Start menu, click Run, type regedt32, and then click OK to start Registry Editor.
- Locate either of the following subkeys (depending on whether you installed MSDE as the default MSDE instance or as a named instance):
- HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Name\MSSQLServer\
- In the right pane, double-click the LoginMode subkey.
- In the DWORD Editor dialog box, set the value of this subkey to 2, verify that the Hex option is selected, and then click OK.
- Restart the MSSQLSERVER service and the SQLSERVERAgent service for this change to take effect.