- Registriert
- 18. Februar 2017
- Beiträge
- 1.695
- Lösungen
- 3
- Reaktionspunkte
- 1.487
- Punkte
- 393
Wer einen eigenen Server betreibt der öffentlich zugänglich ist, sollte sich mit dem Thema Sicherheit auseinandersetzen.
Ich nutze dafür schon seit längerem Crowdsec, für mich die deutlich bessere Option als z.B. failban. Das soll hier aber keine Einführung zu Crowdsec werden, dazu gibt es im Internet genug Anleitungen.
Was mir bisher gefehlt hat, ist eine Integration der Oscam Logs. Damit auch dort Versuche mit falschen User/Passwort automatisch geblockt werden. Dazu habe ich einen Parser und ein Scenario geschrieben, damit Crowdsec mit den Oscam Logs umgehen kann.
Dazu müssen zwei Dateien angelegt werden, mit dem Inhalt aus den Spoilern unten.
Danach muss noch in der acquis.yaml Datei angegeben werden, wo sich das Oscam Log File befindet. Je nachdem was man schon alles in Crowdsec eingestellt hat, sind da natürlich schon andere Einträge vorhanden. Wichtig ist nur den Oscam Teil zu übernehmen.
Danach einmal den Crowdsec Service Neustarten
Dann kann man sich mit folgendem Befehl die Metrics ansehen. Dort sollte dann unter "Acquisition Metrics", das Oscam Log auftauchen. "Lines Parsed" werden nur gezählt, wenn der richtige Inhalt in der Log Line gefunden wurde. In unserem Fall sucht er nach "rejected (unknown user)" und der dazugehörigen IP.
Wie gesagt, dass soll hier kein Crowdsec Tutorial sein, wer Crowdsec aber schon nutzt kann so Oscam einbinden.
Ich nutze dafür schon seit längerem Crowdsec, für mich die deutlich bessere Option als z.B. failban. Das soll hier aber keine Einführung zu Crowdsec werden, dazu gibt es im Internet genug Anleitungen.
Was mir bisher gefehlt hat, ist eine Integration der Oscam Logs. Damit auch dort Versuche mit falschen User/Passwort automatisch geblockt werden. Dazu habe ich einen Parser und ein Scenario geschrieben, damit Crowdsec mit den Oscam Logs umgehen kann.
Dazu müssen zwei Dateien angelegt werden, mit dem Inhalt aus den Spoilern unten.
Code:
sudo nano /etc/crowdsec/parsers/s01-parse/oscam-logs.yaml
sudo nano /etc/crowdsec/scenarios/oscam-bf-unknown-user.yaml
Code:
name: crowdsecurity/oscam-logs
description: "Parse oscam logs for rejected unknown user attempts"
filter: "evt.Parsed.program == 'oscam'"
onsuccess: next_stage
nodes:
- grok:
pattern: '^%{YEAR:year}/%{MONTHNUM:month}/%{MONTHDAY:day} %{HOUR:hour}:%{MINUTE:minute}:%{SECOND:second} %{DATA:connection_id} c\s+\(client\) %{DATA:client_info} %{IPORHOST:source_ip} rejected \(unknown user\)'
apply_on: message
statics:
- meta: log_type
value: oscam_auth_failed_unknown_user
- target: evt.StrTime
expression: evt.Parsed.year + "/" + evt.Parsed.month + "/" + evt.Parsed.day + " " + evt.Parsed.hour + ":" + evt.Parsed.minute + ":" + evt.Parsed.second
- meta: connection_id
expression: evt.Parsed.connection_id
- meta: client_info
expression: evt.Parsed.client_info
statics:
- meta: service
value: oscam
- meta: source_ip
expression: evt.Parsed.source_ip
Code:
#type: leaky
type: trigger
name: crowdsecurity/oscam-bf-unknown-user
description: "Detect multiple Oscam login failures from unknown user from same IP"
filter: "evt.Meta.log_type == 'oscam_auth_failed_unknown_user'"
groupby: evt.Meta.source_ip
#leakspeed: "10s"
#capacity: 1
blackhole: 5m
labels:
service: oscam
type: brute-force
remediation: true
Danach muss noch in der acquis.yaml Datei angegeben werden, wo sich das Oscam Log File befindet. Je nachdem was man schon alles in Crowdsec eingestellt hat, sind da natürlich schon andere Einträge vorhanden. Wichtig ist nur den Oscam Teil zu übernehmen.
Code:
sudo nano /etc/crowdsec/acquis.yaml
Code:
filenames:
- /var/log/oscam/oscam.log
labels:
type: oscam
---
filenames:
- /var/log/auth.log
labels:
type: syslog
---
filenames:
- /var/log/syslog
- /var/log/kern.log
labels:
type: syslog
---
Danach einmal den Crowdsec Service Neustarten
Code:
sudo service crowdsec restart
Dann kann man sich mit folgendem Befehl die Metrics ansehen. Dort sollte dann unter "Acquisition Metrics", das Oscam Log auftauchen. "Lines Parsed" werden nur gezählt, wenn der richtige Inhalt in der Log Line gefunden wurde. In unserem Fall sucht er nach "rejected (unknown user)" und der dazugehörigen IP.
Du musst Regestriert sein, um das angehängte Bild zusehen.
Code:
sudo cscli metrics
Wie gesagt, dass soll hier kein Crowdsec Tutorial sein, wer Crowdsec aber schon nutzt kann so Oscam einbinden.
Anhänge
Du musst angemeldet sein, um die Anhangsliste zu sehen.