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")
|
||||
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") {
|
||||
return pass(ev)
|
||||
}
|
||||
@@ -139,7 +142,10 @@ func freebsdMalwareProtection(ctx context.Context) Result {
|
||||
|
||||
func freebsdRemoteLogin(ctx context.Context) Result {
|
||||
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") {
|
||||
return fail(ev)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user