Skip to content

Commit

Permalink
Merge branch 'refs/heads/0.x'
Browse files Browse the repository at this point in the history
  • Loading branch information
csavelief committed Aug 9, 2024
2 parents d7f6578 + 7aaf5c1 commit cf875fa
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 37 deletions.
12 changes: 7 additions & 5 deletions app/Http/Controllers/HomeController.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public function __construct()
public function index(Request $request)
{
$tab = $request->input('tab', 'my-apps');
$limit = $request->input('limit', 20);
$user = Auth::user();
$servers = YnhServer::forUser($user);
$memory_usage = collect();
Expand All @@ -41,11 +42,11 @@ public function index(Request $request)

if ($tab === 'security') {
$security_events = [
'authorized_keys' => YnhOsquery::authorizedKeysSecurityEvents($servers),
'kernel_modules' => YnhOsquery::kernelModulesSecurityEvents($servers),
'suid_bin' => YnhOsquery::suidBinSecurityEvents($servers),
'last_logins_and_logouts' => YnhOsquery::lastLoginsAndLogoutsSecurityEvents($servers),
'users' => YnhOsquery::usersSecurityEvents($servers),
'authorized_keys' => YnhOsquery::authorizedKeys($servers, $limit),
'kernel_modules' => YnhOsquery::kernelModules($servers, $limit),
'suid_bin' => YnhOsquery::suidBinaries($servers, $limit),
'last_logins_and_logouts' => YnhOsquery::loginsAndLogouts($servers, $limit),
'users' => YnhOsquery::users($servers, $limit),
];
}

Expand Down Expand Up @@ -116,6 +117,7 @@ public function index(Request $request)
}
return view('home.index', compact(
'tab',
'limit',
'servers',
'orders',
'users',
Expand Down
12 changes: 7 additions & 5 deletions app/Http/Controllers/YnhServerController.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ public function __construct()
public function index(YnhServer $server, Request $request)
{
$tab = $request->input('tab', 'settings');
$limit = $request->input('limit', 40);
$user = Auth::user();
$servers = collect([$server]);
$memory_usage = collect();
Expand All @@ -67,11 +68,11 @@ public function index(YnhServer $server, Request $request)

if ($tab === 'security') {
$security_events = [
'authorized_keys' => YnhOsquery::authorizedKeysSecurityEvents($servers),
'kernel_modules' => YnhOsquery::kernelModulesSecurityEvents($servers),
'suid_bin' => YnhOsquery::suidBinSecurityEvents($servers),
'last_logins_and_logouts' => YnhOsquery::lastLoginsAndLogoutsSecurityEvents($servers),
'users' => YnhOsquery::usersSecurityEvents($servers),
'authorized_keys' => YnhOsquery::authorizedKeys($servers, $limit),
'kernel_modules' => YnhOsquery::kernelModules($servers, $limit),
'suid_bin' => YnhOsquery::suidBinaries($servers, $limit),
'last_logins_and_logouts' => YnhOsquery::loginsAndLogouts($servers, $limit),
'users' => YnhOsquery::users($servers, $limit),
];
}

Expand All @@ -94,6 +95,7 @@ public function index(YnhServer $server, Request $request)
}
return view('home.pages._servers', compact(
'tab',
'limit',
'server',
'memory_usage',
'disk_usage',
Expand Down
28 changes: 14 additions & 14 deletions app/Models/YnhOsquery.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class YnhOsquery extends Model
'packed' => 'boolean',
];

public static function memoryUsage(Collection $servers): Collection
public static function memoryUsage(Collection $servers, int $limit = 1000): Collection
{
return $servers->isEmpty() ? collect() : collect(DB::select("
SELECT
Expand Down Expand Up @@ -69,15 +69,15 @@ public static function memoryUsage(Collection $servers): Collection
FROM ynh_memory_usage
ORDER BY timestamp DESC
LIMIT 1000
LIMIT {$limit}
) AS t
INNER JOIN ynh_servers ON ynh_servers.id = t.ynh_server_id
WHERE ynh_servers.id IN ({$servers->pluck('id')->join(',')})
ORDER BY t.timestamp ASC;
"));
}

public static function diskUsage(Collection $servers): Collection
public static function diskUsage(Collection $servers, int $limit = 1000): Collection
{
return $servers->isEmpty() ? collect() : collect(DB::select("
SELECT
Expand Down Expand Up @@ -110,15 +110,15 @@ public static function diskUsage(Collection $servers): Collection
FROM ynh_disk_usage
ORDER BY timestamp DESC
LIMIT 1000
LIMIT {$limit}
) AS t
INNER JOIN ynh_servers ON ynh_servers.id = t.ynh_server_id
WHERE ynh_servers.id IN ({$servers->pluck('id')->join(',')})
ORDER BY t.timestamp ASC;
"));
}

public static function usersSecurityEvents(Collection $servers): Collection
public static function users(Collection $servers, int $limit): Collection
{
// {
// "description":null,
Expand Down Expand Up @@ -147,11 +147,11 @@ public static function usersSecurityEvents(Collection $servers): Collection
WHERE ynh_osquery.name = 'users'
AND ynh_osquery.ynh_server_id IN ({$servers->pluck('id')->join(',')})
ORDER BY timestamp DESC
LIMIT 20;
LIMIT {$limit};
"));
}

public static function lastLoginsAndLogoutsSecurityEvents(Collection $servers): Collection
public static function loginsAndLogouts(Collection $servers, int $limit): Collection
{
// {
// "host":null,
Expand Down Expand Up @@ -185,11 +185,11 @@ public static function lastLoginsAndLogoutsSecurityEvents(Collection $servers):
WHERE ynh_osquery.name = 'last'
AND ynh_osquery.ynh_server_id IN ({$servers->pluck('id')->join(',')})
ORDER BY timestamp DESC, entry_timestamp DESC
LIMIT 20;
LIMIT {$limit};
"));
}

public static function suidBinSecurityEvents(Collection $servers): Collection
public static function suidBinaries(Collection $servers, int $limit): Collection
{
// {
// "groupname":"tty",
Expand All @@ -212,11 +212,11 @@ public static function suidBinSecurityEvents(Collection $servers): Collection
WHERE ynh_osquery.name = 'suid_bin'
AND ynh_osquery.ynh_server_id IN ({$servers->pluck('id')->join(',')})
ORDER BY timestamp DESC
LIMIT 20;
LIMIT {$limit};
"));
}

public static function kernelModulesSecurityEvents(Collection $servers): Collection
public static function kernelModules(Collection $servers, int $limit): Collection
{
// {
// "address":"0xffffffffc0223000",
Expand All @@ -241,11 +241,11 @@ public static function kernelModulesSecurityEvents(Collection $servers): Collect
WHERE ynh_osquery.name = 'kernel_modules'
AND ynh_osquery.ynh_server_id IN ({$servers->pluck('id')->join(',')})
ORDER BY timestamp DESC
LIMIT 20
LIMIT {$limit}
"));
}

public static function authorizedKeysSecurityEvents(Collection $servers): Collection
public static function authorizedKeys(Collection $servers, int $limit): Collection
{
// {
// "algorithm":"ssh-rsa",
Expand Down Expand Up @@ -281,7 +281,7 @@ public static function authorizedKeysSecurityEvents(Collection $servers): Collec
WHERE ynh_osquery.name = 'authorized_keys'
AND ynh_osquery.ynh_server_id IN ({$servers->pluck('id')->join(',')})
ORDER BY timestamp DESC
LIMIT 20
LIMIT {$limit}
"));
}

Expand Down
20 changes: 10 additions & 10 deletions resources/views/home/cards/_security.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
@if($security_events['authorized_keys'])
<div class="card card-accent-secondary tw-card mt-4">
<div class="card-header">
<h3 class="m-0"><b>{{ __('Authorized Keys (Last 20 Events)') }}</b></h3>
<h3 class="m-0"><b>{{ __('Authorized Keys (last :count events)', ['count' => $limit]) }}</b></h3>
</div>
@if(count($security_events['authorized_keys']) === 0)
<div class="card-body">
<div class="p-3" style="background-color:#fff3cd;">
{{ __('An access key has been added or removed.') }}
</div>
<div class="row">
<div class="col">
<div class="col pt-2">
None.
</div>
</div>
Expand Down Expand Up @@ -74,15 +74,15 @@
@if($security_events['last_logins_and_logouts'])
<div class="card card-accent-secondary tw-card mt-4">
<div class="card-header">
<h3 class="m-0"><b>{{ __('Logins and Logouts (Last 20 Events)') }}</b></h3>
<h3 class="m-0"><b>{{ __('Logins and Logouts (last :count events)', ['count' => $limit]) }}</b></h3>
</div>
@if(count($security_events['last_logins_and_logouts']) === 0)
<div class="card-body">
<div class="p-3" style="background-color:#fff3cd;">
{{ __('System logins and logouts.') }}
</div>
<div class="row">
<div class="col">
<div class="col pt-2">
None.
</div>
</div>
Expand Down Expand Up @@ -153,15 +153,15 @@
@if($security_events['users'])
<div class="card card-accent-secondary tw-card mt-4">
<div class="card-header">
<h3 class="m-0"><b>{{ __('User Accounts (Last 20 Events)') }}</b></h3>
<h3 class="m-0"><b>{{ __('User Accounts (last :count events)', ['count' => $limit]) }}</b></h3>
</div>
@if(count($security_events['users']) === 0)
<div class="card-body">
<div class="p-3" style="background-color:#fff3cd;">
{{ __('System logins and logouts.') }}
</div>
<div class="row">
<div class="col">
<div class="col pt-2">
None.
</div>
</div>
Expand Down Expand Up @@ -228,15 +228,15 @@
@if($security_events['kernel_modules'])
<div class="card card-accent-secondary tw-card mt-4">
<div class="card-header">
<h3 class="m-0"><b>{{ __('Kernel Modules (Last 20 Events)') }}</b></h3>
<h3 class="m-0"><b>{{ __('Kernel Modules (last :count events)', ['count' => $limit]) }}</b></h3>
</div>
@if(count($security_events['kernel_modules']) === 0)
<div class="card-body">
<div class="p-3" style="background-color:#fff3cd;">
{{ __('A kernel module has been added or removed.') }}
</div>
<div class="row">
<div class="col">
<div class="col pt-2">
None.
</div>
</div>
Expand Down Expand Up @@ -311,15 +311,15 @@
@if($security_events['suid_bin'])
<div class="card card-accent-secondary tw-card mt-4">
<div class="card-header">
<h3 class="m-0"><b>{{ __('Suid Binaries (Last 20 Events)') }}</b></h3>
<h3 class="m-0"><b>{{ __('Suid Binaries (last :count events)', ['count' => $limit]) }}</b></h3>
</div>
@if(count($security_events['suid_bin']) === 0)
<div class="card-body">
<div class="p-3" style="background-color:#fff3cd;">
{{ __('A suid binary has been detected (often used in backdoors).') }}
</div>
<div class="row">
<div class="col">
<div class="col pt-2">
None.
</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions resources/views/home/index.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@
@if(Auth::user()->canListServers())
<li class="nav-item">
<a class="nav-link {{ $tab === 'security' ? 'active' : '' }}"
href="/home?tab=security">
href="/home?tab=security&limit=20">
{{ __('Security') }}
</a>
</li>
Expand Down Expand Up @@ -147,7 +147,7 @@
@include('home.cards._towerify_domains')
@endif
@if($tab === 'applications')
@include('home.cards._towerify_applications')
@include('home.cards._towerify_applications')
@endif
@if($tab === 'orders')
@include('home.cards._orders')
Expand Down
2 changes: 1 addition & 1 deletion resources/views/home/pages/_servers.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
</li>
<li class="nav-item">
<a class="nav-link {{ $tab === 'security' ? 'active' : '' }}"
href="{{ route('ynh.servers.edit', $server) }}?tab=security">
href="{{ route('ynh.servers.edit', $server) }}?tab=security&limit=40">
{{ __('Security') }}
</a>
</li>
Expand Down

0 comments on commit cf875fa

Please sign in to comment.