Go Back

System Security

Account Management

Account management is the most fundamental element of system security. It begins with creating and maintaining user accounts, each of which is identified by a unique identifier (username or user ID) and secured by an authentication method, typically a password. The proper management of user accounts is essential for protecting resources and ensuring that only authorized users can access system functionalities.

Key Concepts

1. Account Management in Operating Systems

Windows

Group Description
Administrators Full control over the system, including user and directory management.
Power Users Most admin rights locally, but cannot manage the system remotely or change critical settings.
Backup Operators Can back up and restore files, even those they do not own.
Users General users, limited access; cannot perform administrative tasks.
Guests Very limited access, often temporary or for trial use.

Linux/Unix

2. Account Managemnet in Database

3. Account Management in Application Software

4. Account Management in Network Device

Best Practices

Session Management

Session management refers to the process of maintaining and controlling an active connection or interaction between a user (or client) and a system. A session represents the period during which the system recognizes and retains the user's state and identity. Effective session management is crucial for security, as it helps prevent unauthorized access and ensures that users are properly authenticated throughout their activities.

Key Concepts

1. Session Management in Operating Systems

2. Session Management in Database Systems

3. Session Management in Network Devices

4. Session Management in Web and Application Services

Best Practices

Access Control

Access control refers to the enforcement of rules that determine who can access specific systems, services, or data based on predefined permissions. Effective access control ensures that only authorized users can interact with critical resources, enhancing the system's overall security posture. Access can be controlled at the operating system, database, application, and network device levels.

1. Access Control in Operating Systems

2. Access Control in Databases

3. Access Control in Application Software

4. Access Control in Network Devices

Best Practices

Privilege & Permission Management

Privilege and permission management involves controlling access rights to files, directories, applications, and data based on user roles. Proper configuration ensures that only authorized users and processes can read, write, or execute specific resources. Permissions must be enforced at multiple levels—OS, database, and application—to achieve comprehensive security.

1. Permission Management in Operating Systems

Windows (NTFS)

Linux/Unix

2. Permission Management in Databases

3. Permission Management in Application Software

Best Practices

Log Management

Log management refers to the systematic process of collecting, storing, analyzing, and reviewing log data generated by operating systems, application software, databases, and network devices. Effective log management is essential for monitoring system activities, detecting security incidents, and supporting audits or investigations.

AAA Framework in Log Management

Log management is closely tied to the AAA principles:

1. Log Management in Operating System

Windows

Unix/Linux

2. Log Mangement in Database

3. Log Mangement in Application Software

4. Log Mangement in Network Device

Best Practices

Vulnerability Management

Vulnerability management is the process of identifying, assessing, remediating, and monitoring security weaknesses across systems and applications. Even with strict security settings, vulnerabilities in operating systems, databases, and application software can expose organizations to threats such as malware and unauthorized access. A robust vulnerability management program is essential to maintain a secure IT environment.

1. Patch Management

Applying timely patches and updates is the most fundamental step to address known vulnerabilities. System vendors, database providers, and application developers regularly release security patches to fix discovered weaknesses. In many environments, automated update mechanisms (like Windows Update) help ensure that security patches are promptly checked and applied, reducing the window of exposure to attackers.

2. Managing Application Program Risks

Some application programs can run system-level commands or scripts, which poses risks if they are exploited. For example, features like xp_cmdshell in MS-SQL allow executing operating system commands from within the database. If an attacker gains administrative access to the database, they can leverage such features to further compromise the system.

3. Restricting Information Disclosure by Applications

Applications should not reveal sensitive system information through their features. For example, in Unix, the sendmail daemon’s vrfy and expn commands can be used to enumerate valid user accounts, which helps attackers in crafting targeted attacks. Such information disclosure features should be restricted or disabled.

4. Removal of Unnecessary Services and Applications

One of the most effective ways to reduce your attack surface is to identify and remove unneeded services or potentially malicious programs from your servers. Ensure that only essential and trusted software is running on your critical systems.

Best Practices