• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af McCleod48 | 22.04.2011 18:44

PCRE og Postfix - jeg fatter '-'

Software
Howdy!

Jeg har fundet en MTA (CommuniGate Pro SMTP 5.0.11) som er skyld i hovedparten af det spam der indløber (der er open relay ifb. med den).

Hvordan får jeg sat en regexp-linie op til at afvise mails fra denne MTA?

Det er en Yahoo-bruger der anvender disse åbne relay's, men hvis jeg afviser på basis af mailadressen bliver den mailadresse jeg har tilknyttet YahooGroups registreret som 'bouncing' - det dur heller ikke... :-/
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer16

# 1

14 år 2 måneder siden

Permalink

Indsendt af lbm den 23. april 2011 kl. 10:07

Permalink

Du kan bruge

Du kan bruge nedestående.

smtpd_recipient_restrictions =
check_client_access hash:/etc/postfix/client_checks

/etc/postfix/client_checks filen

123.456.789.123 REJECT

Du kan også blocke på et netværk, subnet osv. hvis det er nødvendigt.

Bruger du sender_checks istedet/også kan du blocke på et domain, fuld email-addr osv.
  • Log ind eller opret dig for at tilføje kommentarer

# 2

14 år 2 måneder siden

Permalink

Indsendt af McCleod48 den 23. april 2011 kl. 10:40

In reply to Du kan bruge by lbm

Permalink

Det er jeg nok klar over

Men hvordan laver jeg en regexp-linie der kan pille den MTA ud. Lige præcis og kun denne MTA (senere versioner af CommuniGate Pro har tilsyneladende ikke et åbent relay som default).

Jeg har fundet adskillige eksempler på nettet der viser hvordan man filtrerer på from, to, subject og alt muligt andet og så nævner de at det er PCRE - men ikke et eneste eksempel på en meget specifik sammensætning af tegn (CommuniGate Pro SMTP 5.0.11). Det er dér kæden hopper af.
  • Log ind eller opret dig for at tilføje kommentarer

# 3

14 år 2 måneder siden

Permalink

Indsendt af lbm den 23. april 2011 kl. 11:29

Permalink

Jeg tror ikke jeg er helt

Jeg tror ikke jeg er helt med, kører du postfix, eller communigate pro (kender intet til den) ?

Med ovenstående, blokere du jo kun for den MTA der sidder på den IP i eksemplet. Jeg har ikke erfaringer med at lave PCRE, som filtrere/blokere andre MTA'er i postfix hvis det er det, du er ude efter? :)
  • Log ind eller opret dig for at tilføje kommentarer

# 4

14 år 2 måneder siden

Permalink

Indsendt af McCleod48 den 23. april 2011 kl. 12:36

In reply to Jeg tror ikke jeg er helt by lbm

Permalink

Jeg kører Postfix

Men jeg har konstateret at "CommuniGate Pro SMTP 5.0.11" har et åbent relay (headerfilerne i spam-mails'ene afslører den). Jeg vil gerne kunne bortfiltrere samtlige mails som er sendt via "CommuniGate Pro SMTP 5.0.11". Jeg har greylisting på serveren også, men "CommuniGate Pro SMTP 5.0.11" er jo en rigtig MTA hvilket gør at den også overholder RFC5321 og derfor prøver at sende igen.

Kunne jeg bare forstå PCRE, så kunne jeg selv lave den linie, men jeg fatter hat af de PCRE-vejledninger jeg har fundet på nettet.

Og jeg har ikke mulighederne for at lege med det - en kørende mailserver for 7 aktive domæner er ikke den rette legeplads.

Så hvis der sidder en der kan hjælpe mig med at tyde PCRE, så vil jeg blive enormt glad... :-)
  • Log ind eller opret dig for at tilføje kommentarer

# 5

14 år 2 måneder siden

Permalink

Indsendt af lbm den 23. april 2011 kl. 14:04

Permalink

Ah, sådan. Sorry, kan ikke

Ah, sådan. Sorry, kan ikke lige hjælpe dig med PCRE.Prøv evt.postfix på *freenode.
  • Log ind eller opret dig for at tilføje kommentarer

# 6

14 år 2 måneder siden

Permalink

Indsendt af jakob lund den 25. april 2011 kl. 10:13

Permalink

Søgning på "postfix pcre"

Søgning på "postfix pcre" (ja jeg blev nysgerrig) på google leder til
http://www.postfix.org/pcre_table.5.html

Hvis du kigger nederst under "header filter map" er der nogen som sorterer ting fra som indeholder noget bestemt.Du må ku' gøre noget lignende à la

/CommuniGate Pro SMTP 5\.0\.11/ REJECT

  • Log ind eller opret dig for at tilføje kommentarer

# 7

14 år 2 måneder siden

Permalink

Indsendt af McCleod48 den 25. april 2011 kl. 12:47

Permalink

Tegnsætning

Jeg har kigget en del på det, men jeg kan ikke hitte rede i tegnsætningen. Punktum, slash, backslash og asterisk. Hvad skal bruges hvor og hvorfor?
Det er ikke til at finde en god forklaring. Måske fordi ingen kan forklare det?
  • Log ind eller opret dig for at tilføje kommentarer

# 8

14 år 2 måneder siden

Permalink

Indsendt af jakob lund den 25. april 2011 kl. 13:55

Permalink

Nej, det kan godt forklares

Nej, det kan godt forklares -- du kan nemt finde tutorials -- men syntaksen er kompliceret og ikke ret nem at læse for de fleste mennesker.

Generelt er syntaksen at udtrykket starter og slutter med en skråstreg /
de fleste tegn ().,[]?+-{^$} etc har en "særlig" betydning, og hvis udtrykket skal matche en tekst som indeholder et af disse tegn, skal der backslash foran tegnet. Derfor de to \. i mit forslag før ( . uden backslash betyder nemlig "et hvilket som helst tegn")

Oftest er det nødvendigt med lidt trial-and-error for at få et regulært udtryk til at gøre det man vil -- så vidt jeg ku' forstå på den manualside jeg fandt, kan du bruge
postmap -q
til at teste med.
  • Log ind eller opret dig for at tilføje kommentarer

# 9

14 år 2 måneder siden

Permalink

Indsendt af McCleod48 den 25. april 2011 kl. 14:32

In reply to Nej, det kan godt forklares by jakob lund

Permalink

Ingen postmap

Jeg bruger regexp direkte.

Fra main.cf:

headers_checks = regexp:/etc/postfix/headers_checks


Men indholdet af /etc/postfix/headers_checks skal stadig være i PCRE-format.

Jeg fandt i øvrigt et sted hvor "" stod nævnt. Er det hen i hegnet at smide "" omkring det der skal filtreres på - så der skrives "CommuniGate Pro SMTP 5.0.11" i PCRE-udtrykket?
  • Log ind eller opret dig for at tilføje kommentarer

# 10

14 år 2 måneder siden

Permalink

Indsendt af jakob lund den 25. april 2011 kl. 14:40

Permalink

Hvordan ser headeren ud på

Hvordan ser headeren ud på de mails du gerne vil filtrere fra?
  • Log ind eller opret dig for at tilføje kommentarer

# 11

14 år 2 måneder siden

Permalink

Indsendt af McCleod48 den 25. april 2011 kl. 22:50

In reply to Hvordan ser headeren ud på by jakob lund

Permalink

Det her går igen (IP-adressen undtaget).

Received: from [%RND_IP] (HELO YRKEXQ)
by 115.76.122.21 (CommuniGate Pro SMTP 5.0.11)
  • Log ind eller opret dig for at tilføje kommentarer

# 12

14 år 2 måneder siden

Permalink

Indsendt af lbm den 28. april 2011 kl. 04:28

Permalink

Du kan gøre sådanne her,

Du kan gøre sådanne her, men hver opmærksom på at hvis en mailtext indeholder
" (CommuniGate Pro SMTP 5.0.11)" vil den blokere mailen.

/\(CommuniGate Pro SMTP 5\.0\.11\)/ REJECT Do not want Open Relay servers. Bye bye

  • Log ind eller opret dig for at tilføje kommentarer

# 13

14 år 2 måneder siden

Permalink

Indsendt af McCleod48 den 29. april 2011 kl. 01:08

Permalink

mailtext indeholder

Jeg kan ikke filtrere på headers?

"(CommuniGate Pro SMTP 5.0.11)" står jo i headeren.
  • Log ind eller opret dig for at tilføje kommentarer

# 14

14 år 2 måneder siden

Permalink

Indsendt af lbm den 29. april 2011 kl. 01:47

In reply to mailtext indeholder by McCleod48

Permalink

Jo, header_checks filtrere

Jo, header_checks filtrere på headers?.

http://www.postfix.org/header_checks.5.html
  • Log ind eller opret dig for at tilføje kommentarer

# 15

14 år 2 måneder siden

Permalink

Indsendt af lbm den 29. april 2011 kl. 05:39

Permalink

Her er en anden mulighed der

Her er en anden mulighed der kontrolleren headeren fra, hvor den kommer fra, og ikke hele teksten. Er nok mere korrekt i hvert fald og burde performe bedre.

/^Received: from .*\(CommuniGate Pro SMTP 5\.0\.11\)/

Ikke 100% sikker på den virker, men du kan prøve. Min test med postmap, fanger den i hvert fald. :)

En anden ting, jeg har læst lidt i dokumentationen, og det første eksempel burde også kunne gøre det, uden risiko for at blokere hvis den tekst man blokere på også ville stå i mailen som alm text, da den kun fanger headeren, og ikke body.

Der ligger en body_check som en særskilt funktion hvis man skulle få brug for dette.
  • Log ind eller opret dig for at tilføje kommentarer

# 16

14 år 2 måneder siden

Permalink

Indsendt af McCleod48 den 30. april 2011 kl. 19:06

Permalink

Takker

Jeg kigger på det :-)
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

Open Source-eksperimentet 3
Nulstilling af adgangskode 5
PCLinuxOS 24
Gode anmeldelser Zorin OS 17.3 2
"Intet realistisk alternativ" - mig i r*ven 15
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15
Pepsi Challenge 4
Linuxin er nu migreret til Drupal 11 13
Et Dansk alternativ til Facebook 18
Ekstern Blu-ray-brænder, der fungerer med PCLinuxOS 3

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !