Question: Scenario: You are a cybersecurity analyst responsible for auditing user permissions and system vulnerabilities across multiple systems. Each system has a set of users with
Scenario:
You are a cybersecurity analyst responsible for auditing user permissions and system vulnerabilities across multiple systems. Each system has a set of users with different permission levels and varying numbers of vulnerabilities that must be monitored.
Requirements:
Define a list of tuples called systems. Each tuple should contain:
System name string
A dictionary with the following keyvalue pairs:
'users' a list of tuples where each tuple contains a username and a permission level: 'admin', 'user', or 'guest'
'vulnerabilities' a dictionary containing vulnerability categories as keys and the number of vulnerabilities as values
Example:
systems Systemusers: alice 'admin'bob 'user' 'vulnerabilities': critical: 'low':
Systemusers: charlie 'guest'dave 'admin' 'vulnerabilities': high: 'medium':
Write a function auditpermissionssystem that:
Takes a tuple system as a parameter.
Checks if any users have 'admin' permissions.
If no users have 'admin' access, print a warning: No admin access on systemname
Return a dictionary with system names as keys and permission audit results as values.
Write a function checkvulnerabilitiessystem that:
Takes a tuple system as a parameter.
If the number of critical vulnerabilities is greater than print: 'Critical vulnerabilities detected on systemname Immediate action required'.
If the total number of vulnerabilities exceeds print a security risk warning.
Return a dictionary with system names and their vulnerability status secureat risk', or 'critical'
Write a function generaterandomvulnerabilitydatasystems that:
Randomly assigns users and permissions as well as vulnerability counts for each system.
To create a random number, you may use the random Python module. Import this module and
use its randint function to generate a random number. As an example, the following code
generates a random number between and :
randomnumber random.randint
Write a function getsecuritysummarysystems permissionstatus, vulnerabilitystatus that:
Outputs a summary report showing how many systems have 'secure' status, at risk' status, or 'critical' status based on vulnerability check.
How many systems have no admin access.
Implement a main function that:
Calls generaterandomvulnerabilitydata to initialize system data.
Calls auditpermissions and checkvulnerabilities for each system.
Calls getsecuritysummary to display the overall security status.
Sample Run:
Initial system data:
Systemusers: alice 'admin'bob 'user' 'vulnerabilities': critical: 'low':
Systemusers: charlie 'guest'dave 'admin' 'vulnerabilities': high: 'medium':
Generating random data for systems...
System: Admin access found.
System: No admin access on System
Critical vulnerabilities detected on System Immediate action required.
Summary:
system with admin access, system without admin access.
secure system, system at critical risk.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
