Security Management System Development

Job ID: 39182071

Budget: £1,500 – £3,000 GBP

Project Overview:
We are seeking a skilled freelancer to continue the development of our Security Management System for our clients. The system consists of a web portal hosted on our servers and a client-side application installed on each client machine. The project is partially complete; however, the previous developer is no longer available. We have access to the existing web portal files and the client application. We are an IT support company and want this tool so we can assure adequate security controls are in place for the machines we look after and have antivirus regularly ran and updates to ensure all systems are patched. The system will also show us what end users are doing on the average day.

Currently, the system links client machines to the web portal using a generated code. The master admin can manage multiple companies, while company-specific managers can oversee their own machines. The system currently monitors internet activity, categorizing visited websites as productive or unproductive.

We need to finalize the existing features and implement new functionality as described below.

Required Enhancements:

1) Cyber Essentials Security

We require a new panel within the application to enable and disable specific security controls via Command Prompt commands or PowerShell scripts (which will be provided). These scripts should run with administrative privileges.

Security Controls to Implement:

Disable USB Storage

Disable Built-in Administrator Account

Create acsadmin User

Convert Accounts to Non-Admin

Configure Account Lockout Policies

Enforce Password Policies and Next Logon

Configure Screen Timeout

Disable Autorun/Autoplay

Cleanup Temp Files and Group Policy Updates

Check if Hard Drive is Encrypted with BitLocker (if not, encrypt it and store the recovery key)

Requirements:

Visual indicators showing which controls are enabled/disabled.

2) Anti-Virus Management

Enhance the system to monitor and enforce Windows Defender security policies.

Features to Implement:

Ensure Windows Defender is enabled.

Enable Network Protection.

Enable Controlled Folder Access (Anti-Ransomware Protection).

Configure Potentially Unwanted Application (PUA) Protection.

Schedule daily updates for virus definitions.

Schedule twice-weekly system scans.

Automatically remove detected threats (if removal fails, trigger an email alert).

Log and Visual Requirements:

Log showing updates performed (date and time).

Log showing scan results (date and time).

Visual status indicators:

Confirmation that updates are current.

Confirmation of successful scans.

Alert if infections are found.

3) System Updates Management

Ensure the client machines are kept up to date with Microsoft and third-party updates.

Features to Implement:

Download and install Microsoft updates twice a week.

Display a list of installed updates.

Use Winget to update all third-party applications.

Log and Visual Requirements:

Display the status of updates.

Log detailing what was updated and when.

Additional Requirements:

The new features should be integrated seamlessly into the existing client-side application.

The security, antivirus, and update functionalities should be controlled at the user level.

The interface should allow administrators to click on a username or PC name and navigate to these options.

Graphical representations should be included for productive/unproductive time tracking, security status, antivirus status, and update compliance.

The client application should install missing dependencies (e.g., Winget) during initial setup.

Attachments:

Cyber Essentials Security Scripts

Windows Updates and Winget Update Scripts

Original Codebase for Reference

Ideal Freelancer Requirements:

Strong experience in Windows application development (C#, .NET, or similar).

Proficiency in PowerShell scripting and Windows security policies.

Knowledge of web portals and data synchronization.

Experience with Windows Defender and antivirus integrations.

Ability to work with and extend an existing codebase.

Excellent debugging and problem-solving skills.

Ability to provide regular updates and documentation on progress.
Related categories: PHP JavaScript Windows Desktop Powershell Coding