SPF Record erstellen und prüfen
SPF (Sender Policy Framework) ist ein recht einfaches verfahren, um missbrauch der eigenen E-Mails ein wenig zu schützen. Mit dem SPF Domain Rekord gibt man an, aus welschen Netz, E-Mails der eigenen Domain versendet werden dürfen.
SPF Record abfragen
Der einfachste weg ist wohl mit host oder dig einen einfache DNS abfrage zu machen, das geht z.b. mit
host -t TXT gmx.de|grep -i spf
dig heise.de TXT|grep -i spf
dig gmx.de TXT|grep -i spf
dig gmx.net TXT|grep -i spf
nslookup -q=TXT gmx.net|grep -i spf
Bedeutung der felder
Feld | Bedeutung |
---|---|
v | Version des Records, v=spf1 z.B. |
ip4 | IPv4 Adresse oder Adress-rang, z.B. ip4:1.2.3.0/24 |
ip6 | IPv6 Adresse oder Adress-rang, z.B. ip6:2a02:2e0:3fe:1001::/64 |
a | ein A- oder AAAA-Record der befragten (oder explizit angegebenen) Domäne die IP-Adresse des Senders enthält |
mx | ein MX-Record der befragten (oder explizit angegebenen) Domäne die IP-Adresse des Senders enthält |
-all | Alle anderen hier nicht aufgeführten Sender sind nicht autorisiert und sollen abgewiesen werden. |
~all | Softfail, nicht autorisierte Sender, der Empfänger soll diesen Fehlschlag aber großzügig behandeln. |
?all | Neutral, die Direktive definiert Sender, über deren Legitimität nichts ausgesagt werden soll; der Sender muss so behandelt werden, als wenn kein Qualifikator angegeben wäre. |
include | eine zusätzliche SPF-Anfrage zur im Include-Statement angegebenen Domain die IP-Adresse des Senders enthält z.B. include:_spfdiv.heise.de |
redirect | Der SPF-Record einer anderen Domain soll eingeholt und ausgewertet werden z.B. redirect=gmx.net |
Beispiel
Aus den Test Abfragen sollte sich der restliche Aufbau von selber erklären.
Im Grunde ist es immer „Version, Regelwerk der eigenen Infrastruktur, Rest mit all“
Beispiel: v=spf1 mx:mx.domain.com a:domain.com ip4:1.2.3.0/24 ~all
Links
Netzwerk Spielerein
Check UDP connection mit netcat und tcpdump
Auf dem Zielhost kann man z.b. mit tcpdump gucken ob Packete rein kommten.
tcpdump -n port 10011 -vv
und von einem anderen Host kamm man diesen port z.b. mit netcat anpingen.
nc -vz -u 192.168.100.100 10011
Benutzte netcat als Sender und Empfänger über UDP
Mit -l kann man netcat auch lauschen lassen (Receiver)
nc -luk 192.168.100.100 20000
und mit -uv einen connect herstellen von einem anderen cleint und etwas zum Host senden (Sender).
nc -uv 192.168.100.100 20000
hello host!<ENTER>
Das sollte auf dem Empfänger ein hello host! augeben
Eine Verabschiedung von 2 netten Kollegen, mit Grillen in Waren
Mermaid Support für das Blog
Mermaid ist eine Javascript basiertes diagram und Chart Lib, bei der man mit einfachen text bausteinen, Diagramme Schreiben kann.
Beispiele
~~~mermaid
graph TB
A --> B
B --> C
~~~
~~~mermaid
erDiagram
CUSTOMER }|..|{ DELIVERY-ADDRESS : has
CUSTOMER ||--o{ ORDER : places
CUSTOMER ||--o{ INVOICE : "liable for"
DELIVERY-ADDRESS ||--o{ ORDER : receives
INVOICE ||--|{ ORDER : covers
ORDER ||--|{ ORDER-ITEM : includes
PRODUCT-CATEGORY ||--|{ PRODUCT : contains
PRODUCT ||--o{ ORDER-ITEM : "ordered in"
~~~
~~~mermaid
stateDiagram-v2
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
~~~
~~~mermaid
gitGraph
commit
commit
branch two
commit
checkout main
commit
branch three
checkout three
commit
commit
checkout main
commit
commit
branch one
checkout one
commit
checkout two
commit
checkout main
merge two
checkout one
merge two
merge three
commit
commit
checkout main
merge one
~~~
~~~mermaid
sequenceDiagram
title: FancySequenceDiagramaccDescription Test a description
participant Alice
participant Bob
participant John as John<br />Second Line
rect rgb(20, 20, 100)
rect rgb(0, 5, 200)
Alice ->> Bob: Hello Bob, how are you?
Bob-->>John: How about you John?
end
Bob--x Alice: I am good thanks!
Bob-x John: I am good thanks!
Note right of John: John thinks a long<br />long time, so long<br />that the text does<br />not fit on a row.
Bob-->Alice: Checking with John...
Note over John:wrap: John looks like he's still thinking, so Bob prods him a bit.
Bob-x John: Hey John - we're still waiting to know<br />how you're doing
Note over John:nowrap: John's trying hard not to break his train of thought.
Bob-x John:wrap: John! Are you still debating about how you're doing? How long does it take??
Note over John: After a few more moments, John<br />finally snaps out of it.
end
alt either this
Alice->>+John: Yes
John-->>-Alice: OK
else or this
Alice->>John: No
else or this will happen
Alice->John: Maybe
end
par this happens in parallel
Alice -->> Bob: Parallel message 1
and
Alice -->> John: Parallel message 2
end
~~~
Second Line rect rgb(20, 20, 100) rect rgb(0, 5, 200) Alice ->> Bob: Hello Bob, how are you? Bob-->>John: How about you John? end Bob--x Alice: I am good thanks! Bob-x John: I am good thanks! Note right of John: John thinks a long
long time, so long
that the text does
not fit on a row. Bob-->Alice: Checking with John... Note over John:wrap: John looks like he's still thinking, so Bob prods him a bit. Bob-x John: Hey John - we're still waiting to know
how you're doing Note over John:nowrap: John's trying hard not to break his train of thought. Bob-x John:wrap: John! Are you still debating about how you're doing? How long does it take?? Note over John: After a few more moments, John
finally snaps out of it. end alt either this Alice->>+John: Yes John-->>-Alice: OK else or this Alice->>John: No else or this will happen Alice->John: Maybe end par this happens in parallel Alice -->> Bob: Parallel message 1 and Alice -->> John: Parallel message 2 end
Oder in einfacher
~~~mermaid
sequenceDiagram
Alice->>+John: Hello John, how are you?
Alice->>+John: John, can you hear me?
John-->>-Alice: Hi Alice, I can hear you!
John-->>-Alice: I feel great!
~~~
~~~mermaid
pie
"Dogs" : 42.96
"Cats" : 50.05
"Rats" : 10.01
~~~
Links
Ablaufdatum von SSL Zertifikat herausfinden
Oft hat man ja die frage, wie lange ist ein Zertifikat noch gültig oder welsche Version ist gerade live. Daher hier eine kleine Liste mit nützlichen Argumenten für OpenSSL.
SSL Abfrage einer Webseite
echo | openssl s_client -servername $DOMAIN -connect HOST:PORT 2>/dev/null | openssl x509 -noout -enddate
$DOMAIN ist die Domain der Webseite z.B. blog.medi.li und HOST:PORT der host oder die ip und der port, meist 443 also z.B. blog.medi.li:443
Ablaufdatum eines .PEM oder .crt Cert's
openssl x509 -enddate -noout -in file.pem
oder
cat file.pem | openssl x509 -noout -enddate
Ablaufdatum eines pksc12 Files
openssl pkcs12 -in mycert.p12 -nodes | openssl x509 -noout -enddate
Hinweis zu nginx
Der Webserver nginx braucht übrigens eine Reload Signal um ein aktualisiertes cert neu zu laden!