|
|
<!DOCTYPE html> |
|
|
<html lang="en"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>Security Logs | CookieSync</title> |
|
|
<link rel="stylesheet" href="style.css"> |
|
|
<script src="https://cdn.tailwindcss.com"></script> |
|
|
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script> |
|
|
<script src="components/navbar.js"></script> |
|
|
<script src="components/sidebar.js"></script> |
|
|
</head> |
|
|
<body class="bg-gray-100 dark:bg-gray-900 text-gray-900 dark:text-gray-100"> |
|
|
<custom-navbar></custom-navbar> |
|
|
|
|
|
<div class="flex"> |
|
|
<custom-sidebar></custom-sidebar> |
|
|
|
|
|
<main class="flex-1 p-6 ml-64"> |
|
|
<h1 class="text-2xl font-bold mb-6 flex items-center"> |
|
|
<i data-feather="shield" class="mr-2"></i> Security Logs |
|
|
</h1> |
|
|
|
|
|
<div class="bg-white dark:bg-gray-800 rounded-lg shadow p-6 mb-6"> |
|
|
<div class="flex justify-between items-center mb-6"> |
|
|
<h2 class="text-xl font-bold">Recent Events</h2> |
|
|
<div class="flex space-x-2"> |
|
|
<select class="p-2 border rounded dark:bg-gray-700 dark:border-gray-600 text-sm"> |
|
|
<option>Last 24 hours</option> |
|
|
<option>Last 7 days</option> |
|
|
<option selected>Last 30 days</option> |
|
|
<option>All time</option> |
|
|
</select> |
|
|
<button class="bg-blue-600 hover:bg-blue-700 text-white py-2 px-4 rounded flex items-center text-sm"> |
|
|
<i data-feather="filter" class="mr-2 w-4 h-4"></i> Filter |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="overflow-x-auto"> |
|
|
<table class="min-w-full divide-y divide-gray-200 dark:divide-gray-700"> |
|
|
<thead class="bg-gray-50 dark:bg-gray-800"> |
|
|
<tr> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">Timestamp</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">Event Type</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">Source IP</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">Details</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">Severity</th> |
|
|
</tr> |
|
|
</thead> |
|
|
<tbody class="bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700"> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">2023-11-15 14:32:45</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">Login Success</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">192.168.1.45</td> |
|
|
<td class="px-6 py-4 text-sm">User admin authenticated successfully</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 py-1 rounded text-xs font-medium bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200">INFO</span> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">2023-11-15 12:18:22</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">Failed Login</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">45.227.253.109</td> |
|
|
<td class="px-6 py-4 text-sm">Invalid credentials for user admin</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 py-1 rounded text-xs font-medium bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200">WARNING</span> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">2023-11-14 23:45:12</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">Session Created</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">192.168.1.45</td> |
|
|
<td class="px-6 py-4 text-sm">New session established for user admin</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 py-1 rounded text-xs font-medium bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200">INFO</span> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">2023-11-14 18:32:56</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">API Access</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">192.168.1.45</td> |
|
|
<td class="px-6 py-4 text-sm">API request to /v1/sessions</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 py-1 rounded text-xs font-medium bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200">INFO</span> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">2023-11-13 09:12:34</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">Brute Force Attempt</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm">185.143.223.67</td> |
|
|
<td class="px-6 py-4 text-sm">Multiple failed login attempts - IP blocked</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 py-1 rounded text-xs font-medium bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200">CRITICAL</span> |
|
|
</td> |
|
|
</tr> |
|
|
</tbody> |
|
|
</table> |
|
|
</div> |
|
|
|
|
|
<div class="mt-4 flex justify-between items-center"> |
|
|
<div class="text-sm text-gray-600 dark:text-gray-400"> |
|
|
Showing 1 to 5 of 127 entries |
|
|
</div> |
|
|
<div class="flex space-x-2"> |
|
|
<button class="px-3 py-1 border rounded dark:border-gray-600 text-sm">Previous</button> |
|
|
<button class="px-3 py-1 border rounded dark:border-gray-600 bg-blue-600 text-white text-sm">1</button> |
|
|
<button class="px-3 py-1 border rounded dark:border-gray-600 text-sm">2</button> |
|
|
<button class="px-3 py-1 border rounded dark:border-gray-600 text-sm">3</button> |
|
|
<button class="px-3 py-1 border rounded dark:border-gray-600 text-sm">Next</button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
|
|
<div class="bg-white dark:bg-gray-800 rounded-lg shadow p-6"> |
|
|
<h2 class="text-xl font-bold mb-4">Security Events by Type</h2> |
|
|
<div class="space-y-3"> |
|
|
<div> |
|
|
<div class="flex justify-between mb-1"> |
|
|
<span class="text-sm font-medium">Login Attempts</span> |
|
|
<span class="text-sm">42</span> |
|
|
</div> |
|
|
<div class="w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2"> |
|
|
<div class="bg-blue-600 h-2 rounded-full" style="width: 45%"></div> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div class="flex justify-between mb-1"> |
|
|
<span class="text-sm font-medium">API Requests</span> |
|
|
<span class="text-sm">28</span> |
|
|
</div> |
|
|
<div class="w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2"> |
|
|
<div class="bg-green-600 h-2 rounded-full" style="width: 30%"></div> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div class="flex justify-between mb-1"> |
|
|
<span class="text-sm font-medium">Session Events</span> |
|
|
<span class="text-sm">15</span> |
|
|
</div> |
|
|
<div class="w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2"> |
|
|
<div class="bg-purple-600 h-2 rounded-full" style="width: 16%"></div> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div class="flex justify-between mb-1"> |
|
|
<span class="text-sm font-medium">Security Alerts</span> |
|
|
<span class="text-sm">9</span> |
|
|
</div> |
|
|
<div class="w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2"> |
|
|
<div class="bg-red-600 h-2 rounded-full" style="width: 9%"></div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="bg-white dark:bg-gray-800 rounded-lg shadow p-6"> |
|
|
<h2 class="text-xl font-bold mb-4">Threat Indicators</h2> |
|
|
<div class="space-y-4"> |
|
|
<div class="flex items-center justify-between p-3 bg-red-50 dark:bg-red-900/20 rounded-lg"> |
|
|
<div class="flex items-center"> |
|
|
<i data-feather="alert-triangle" class="text-red-500 dark:text-red-400 mr-3"></i> |
|
|
<div> |
|
|
<h3 class="font-medium">Brute Force Attempts</h3> |
|
|
<p class="text-sm text-gray-600 dark:text-gray-400">3 detected in last 24h</p> |
|
|
</div> |
|
|
</div> |
|
|
<button class="text-sm text-red-600 dark:text-red-400 hover:text-red-800 dark:hover:text-red-300"> |
|
|
View |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
<div class="flex items-center justify-between p-3 bg-yellow-50 dark:bg-yellow-900/20 rounded-lg"> |
|
|
<div class="flex items-center"> |
|
|
<i data-feather="alert-circle" class="text-yellow-500 dark:text-yellow-400 mr-3"></i> |
|
|
<div> |
|
|
<h3 class="font-medium">Suspicious IPs</h3> |
|
|
<p class="text-sm text-gray-600 dark:text-gray-400">2 new in last week</p> |
|
|
</div> |
|
|
</div> |
|
|
<button class="text-sm text-yellow-600 dark:text-yellow-400 hover:text-yellow-800 dark:hover:text-yellow-300"> |
|
|
View |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
<div class="flex items-center justify-between p-3 bg-blue-50 dark:bg-blue-900/20 rounded-lg"> |
|
|
<div class="flex items-center"> |
|
|
<i data-feather="shield" class="text-blue-500 dark:text-blue-400 mr-3"></i> |
|
|
<div> |
|
|
<h3 class="font-medium">Security Updates</h3> |
|
|
<p class="text-sm text-gray-600 dark:text-gray-400">1 available</p> |
|
|
</div> |
|
|
</div> |
|
|
<button class="text-sm text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300"> |
|
|
Install |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</main> |
|
|
</div> |
|
|
|
|
|
<script src="script.js"></script> |
|
|
<script> |
|
|
feather.replace(); |
|
|
</script> |
|
|
</body> |
|
|
</html> |