Installation
tobias upravil túto stránku 1 rok pred

SCW-CAP Dokumentation

Installation

Debian/Ubuntu

Das Debian-Paket bringt ein Systemd-Service-File mit, das dafür sorgt, dass scw-cap automatisch beim Systemstart gestartet wird.

scw-cap kann manuell mit systemcl stop scw-cap gestoppt und mit systemctl start scw-cap gestartet werden.

Wenn man die Konfiguration testen möchte, hält man den Service an und führt als Root scw-cap -config /etc/scw-cap/scw-cap.toml aus. Fehler werden aufs Terminal geloggt.

Lassen Sie sich nicht vom Release jessie irritieren. scw-cap läuft auf allen Debian-basierten Systemen mit systemd.

Die folgenden Kommandos müssen Sie als root ausführen.

apt-get -y update
apt-get -y install apt-transport-https gnupg2 curl ca-certificates
echo "deb https://apt.scw.systems/ jessie main" > /etc/apt/sources.list.d/scw.list
curl -s https://apt.scw.systems/pubkey.txt | apt-key add -
apt-get update
apt-get -y install scw-cap

Redhat / CentOS

root@srv1 # cat > /etc/yum.repos.d/rpm.scraperwall.repo <<EOF
[scraperwall]
name=ScraperWall RPM repository
baseurl=https://rpm.scraperwall.com/centos7/
gpgcheck=1
gpgkey=https://rpm.scraperwall.com/centos7/rpm-gpg-key-scraperwall
enabled=1
EOF
root@srv1 # yum install munchclient # PGP-Schlüssel akzeptieren mit j oder y
root@srv1 # systemctl enable munchclient

Konfiguration

Die Konfiguration für scw-cap liegt in /etc/scw-cap/scw-cap.toml. munchclient ist der Name für scw-cap in Redhat-basierten Systemen. Die Konfiguration liegt dort in /etc/munchclient/munchclient.toml. Die folgenden Parameter sind konfigurierbar:

Parameter Beschreibung Beispiel
Live Soll Live-Traffic von einem Netzwerkinterface mitgeschnitten werden? true
Interface Das Interface, von dem der Live-Traffic mitgeschnitten wird eth0
SnapshotLen Die Anzahl der Bytes, die pro TCP-Paket mitgeschnitten werden 8192
Filter Der libpcap Filterausdruck, der festlegt, was mitgeschnitten wird tcp dst port 80
Promiscuous Schaltet das Interface in den Promiscuous-Modus false
NatsURL Die URL zur ScraperWall Queue nats://192.168.4.12:4222 oder tls://nats.mydomain.com:4222
NatsUser Der Username für die Queue-Authentifizierung myusername
NatsPassword Das Password für die Queue-Authentifizierung NVI44mCYw8DbG
NatsCA Das CA-Bundle für die ScraperWall Queue, falls TLS verwendet wird /etc/scw-cap/ca-chain.cert.pem
UseXForwardedAsSource Die IP im HTTP-Header X-Forwarded-For wird an Stelle der Client IP verwendet true
Quiet Sorgt dafür, dass scw-cap so wenig wie nötig ausgibt true
Trace Gibt die eingehenden Requests auf STDERR aus false
Protocol Protokoll, das verwendet wird http oder ajp13
ApacheLog Das Apache-Logfile, das getailt werden soll, falls kein Live-Capture möglich ist /var/log/apache2/mysite-access.log
NginxLog Das Nginx-Logfile, das getailt werden soll, falls kein Live-Capture möglich ist /var/log/nginx/mysite-access.log
NginxLogFormat Das Format des Nginx-Logfiles $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"
HostName Der Hostname der Website, falls kein Live-Capture verwendet wird www.mysite.com
ReconnectToNatsAfter Baut die Verbindung zur nats-Queue periodisch neu auf 257s (Sekunden) oder 2m (Minuten)
ResetLiveCaptureAfter  Startet das Live Capturing periodisch neu 261s oder 5m

Beispiel: Live Capture und TLS-Verbindung zur Queue

Live = true
Interface = "eth0"
SnapshotLen = 8192
Filter = "tcp dst port 80"
Promiscuous = false
NatsURL = "tls://nats.mydomain.com:4222"
NatsUser = "bert"
NatsPassword = "yC3tmSmsUMpC8"
NatsCA = "/etc/scw-cap/ca-chain.cert.pem"
NatsQueue = "requests"
UseXForwardedAsSource = true
Protocol = "http"
Quiet = true
Trace = false

Beispiel: Nginx-Log und unverschlüsselte Verbindung zur lokalen Queue

Live = false
Quiet = true
Trace = false
NatsURL = "nats://192.168.1.5:4222"
NatsUser = "bert"
NatsPassword = "4u7TA9XFZsIpy"
NatsQueue = "requests"
NginxLog = "/var/log/nginx/mysite-access.log"
NginxLogFormat = '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"'