Handle FreeBSD check command failures before reading status
Return unknown when service status commands fail so remote login and malware checks cannot pass on empty output after an error. Signed-off-by: Bryan Frimin <bryan@probo.com>
This commit is contained in:
@@ -130,7 +130,10 @@ func freebsdMalwareProtection(ctx context.Context) Result {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
out := RunCommand(ctx, "service", "clamav_clamd", "status")
|
out := RunCommand(ctx, "service", "clamav_clamd", "status")
|
||||||
ev := map[string]any{"raw": out.Stdout}
|
ev := map[string]any{"raw": out.Stdout, "stderr": out.Stderr}
|
||||||
|
if out.Err != nil {
|
||||||
|
return unknown(ev)
|
||||||
|
}
|
||||||
if strings.Contains(strings.ToLower(out.Stdout), "is running") {
|
if strings.Contains(strings.ToLower(out.Stdout), "is running") {
|
||||||
return pass(ev)
|
return pass(ev)
|
||||||
}
|
}
|
||||||
@@ -139,7 +142,10 @@ func freebsdMalwareProtection(ctx context.Context) Result {
|
|||||||
|
|
||||||
func freebsdRemoteLogin(ctx context.Context) Result {
|
func freebsdRemoteLogin(ctx context.Context) Result {
|
||||||
out := RunCommand(ctx, "service", "sshd", "status")
|
out := RunCommand(ctx, "service", "sshd", "status")
|
||||||
ev := map[string]any{"raw": out.Stdout}
|
ev := map[string]any{"raw": out.Stdout, "stderr": out.Stderr}
|
||||||
|
if out.Err != nil {
|
||||||
|
return unknown(ev)
|
||||||
|
}
|
||||||
if strings.Contains(strings.ToLower(out.Stdout), "is running") {
|
if strings.Contains(strings.ToLower(out.Stdout), "is running") {
|
||||||
return fail(ev)
|
return fail(ev)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user