Vraag & Antwoord

OS Linux

Port 25 dicht.

19 antwoorden
  • Sinds ik met een Windows XP pc achter een redhat 8.0 server zit kan ik geen mail meer zenden. Deze server deelt het internet via IP Masquerading. Met [code:1:7eae1cf2df]nmap localhost[/code:1:7eae1cf2df] zie ik dat poort 25 open staat, maar bij 'nmap 192.168.0.1' en 'nmap <extern ip>' (kabelmodem) staat-ie dicht. Hoe krijg ik deze poort nu geopend zodat ik mail kan verzenden? Port 25 forwarden helpt niet (met iptables -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT) P.S. 'k maak geen gebruik van sendmail maar van een externe smtp server[/code]
  • De firewall-regel die je geeft, zorgt zelf niet voor forwarden. Deze laat alleen inkomend met bestemming poort 25 toe. Deze regel is bedoeld om inloggen van buitenaf op een mailserver op je Redhatbak toe te laten (maar die had je niet, dus die regel doet niets). Draai je een Redhat firewall, of een zelf geschreven versie? Wat de oplossing iig vergemakkelijkt is om de firewall-regels hier te posten. (en dat gaat in het eerste geval iets minder makkelijk, dan in het tweede geval)
  • Hier mijn zelf geschreven (naja, gebaseerd op iets gevonden op internet) script: echo "1" >/proc/sys/net/ipv4/ip_forward echo "1" >/proc/sys/net/ipv4/ip_dynaddr /sbin/iptables -P INPUT ACCEPT /sbin/iptables -F INPUT /sbin/iptables -P OUTPUT ACCEPT /sbin/iptables -F OUTPUT /sbin/iptables -P FORWARD DROP /sbin/iptables -F FORWARD /sbin/iptables -t nat -F /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT /sbin/iptables -A FORWARD -j LOG /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Ik ben nog niet erg ervaren (moet is een iptables) HOWTO doorlezen)dus 't kan zijn dat er belangrijke regels missen of overbodig zijn maar dit werkt in iederg geval om internet te delen.
  • [quote:ec3dcba6b0="Emmerp"]Hier mijn zelf geschreven (naja, gebaseerd op iets gevonden op internet) script: echo "1" >/proc/sys/net/ipv4/ip_forward echo "1" >/proc/sys/net/ipv4/ip_dynaddr /sbin/iptables -P INPUT ACCEPT /sbin/iptables -F INPUT /sbin/iptables -P OUTPUT ACCEPT /sbin/iptables -F OUTPUT /sbin/iptables -P FORWARD DROP /sbin/iptables -F FORWARD /sbin/iptables -t nat -F /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT /sbin/iptables -A FORWARD -j LOG /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Ik ben nog niet erg ervaren (moet is een iptables) HOWTO doorlezen)dus 't kan zijn dat er belangrijke regels missen of overbodig zijn maar dit werkt in iederg geval om internet te delen.[/quote:ec3dcba6b0] Volgens mij drop je eerst al je Forwards en daarna ga je pas eentje accepten...is het niet zo dat je eerst een ACCEPT moet hebben en daarna alles wat niet matched dropped? M.
  • Firewall-technisch is het internet delen ongeveer het enige wat klopt. Kijk eens bij deze link, hier wordt heel goed uitgelegd hoe je een goede firewall kunt opbouwen. [url=http://cedar.intel.com/cgi-bin/ids.dll/content/content.jsp?cntKey=Generic+Editorial%3a%3alinux_stateful_iptables_firewalls_part_one&cntType=IDS_EDITORIAL]link[/url] Ik heb zelf wel enkele aanpassingen in het script gemaak omdat sommige zaken niet werkte. Ik zal vanavond (als ik tijd heb) wel even mijn firewall posten.
  • Mijn script: [code:1:f430a21338] #!/bin/sh EX_IP=`cat /etc/ip` IPT=/sbin/iptables #interfaces: # eth0: dhcp (niet te vertrouwen kabelmodem) # eth1: 192.168.1.1 (wel te vertrouwen netwerk) #Eventuele servers die we gaan draaien #SERVICES="http smtp" SERVICES="ssh ftp" #INPUT chain: #first, we loop through our SERVICES variable and add a rule for each public service on our firewall; #then, we add a rule to log any pings to our firewall box from the Internet (max 1/minute); #then, we add a rule to accept up to 2 pings per second to our firewall box from the Internet; #then, we direct any traffic that doesn't match these rules to our standard myfilter chain. #everything else falls off the end of this chain and gets a default policy of DENY. function servers { local x for x in $SERVICES do $IPT -A INPUT -p tcp --dport ${x} -m state --state NEW -j ACCEPT done } case "$1" in start) #start() { # Enable IP forwarding echo 1 > /proc/sys/net/ipv4/ip_forward # Set a default policy of DROP; deny-by-default for security: $IPT -P INPUT DROP $IPT -P FORWARD DROP #myfilter chain: #this chain contains rules common to our FORWARD and INPUT chains, all in one place. #first, we create a new "myfilter" chain; #then, we add a rule to accept ESTABLISHED and RELATED connections from anywhere; #then, we add a rule to accept NEW connections coming in from anywhere but our untrusted eth0 interface; #then, we add a rule to log any incoming INVALID packets; #then, we add a rule to reject any incoming tcp connection with tcp-reset for fast, stealthy disconnect; #then, we add a rule to reject any not-yet-handled connections with icmp-port-unreachable. #everything else falls off the end of this chain and goes back to the next rule (if any) in the #parent INPUT or FORWARD chain. $IPT -N myfilter $IPT -A myfilter -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A myfilter -m state --state NEW -j ACCEPT #$IPT -A myfilter -m state --state INVALID -j LOG --log-prefix "INVALID:" --log-level warning $IPT -A myfilter -p tcp -j REJECT --reject-with tcp-reset $IPT -A myfilter -j REJECT --reject-with icmp-port-unreachable #INPUT chain: #first, we loop through our SERVICES variable and add a rule for each public service on our firewall; #then, we add a rule to log any pings to our firewall box from the Internet (max 1/minute); #then, we add a rule to accept up to 2 pings per second to our firewall box from the Internet; #then, we direct any traffic that doesn't match these rules to our standard myfilter chain. #everything else falls off the end of this chain and gets a default policy of DENY. $IPT -A INPUT -p tcp --dport ftp -m state --state NEW -j ACCEPT #done $IPT -A INPUT -p icmp -i eth0 --icmp-type echo-request -m limit --limit 1/minute -j LOG --log-prefix "PING:" --log-level notice $IPT -A INPUT -p icmp -i eth0 --icmp-type echo-request -m limit --limit 2/second -j ACCEPT $IPT -A INPUT -j myfilter #FORWARD chain: #simply forward all FORWARD traffic to our myfilter chain. #if any traffic were to make it through the myfilter chain, it would fall off the end of the FORWARD #chain and get a default policy of DENY. $IPT -A FORWARD -j myfilter #Set up SNAT so that machines on our LAN can use our DSL router: $IPT -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE #maak inloggen van buiten af op lokale servers mogelijk servers #} ;; stop) echo 0 > /proc/sys/net/ipv4/ip_forward $IPT -F INPUT $IPT -P INPUT ACCEPT $IPT -F FORWARD $IPT -P FORWARD ACCEPT $IPT -t nat -F POSTROUTING $IPT -F myfilter $IPT -X myfilter #} ;; esac [/code:1:f430a21338] Het is gebaseerd op de link die ik eerder gaf, met een paar aanpassingen, omdat het anders niet werkte. De firewall wordt gestart met [code:1:f430a21338]./firewall start[/code:1:f430a21338] Wat ik overigens vermoedt is dat in jouw geval ook nog een Red Hat firewall draait. Die moet je iig uitschakelen. EDIT: /etc/ip wordt gegenereerd door een ander scriptje. De regel waar het in voor komt kun je weglaten.
  • Bedankt, het artikel was inderdaad erg leerzaam, het werkte bij mij ook alleen bij jouw aanpassingen. Mail zenden lukt nog niet, waarschijnlijk ligt dat aan de Redhat firewall inderdaad, maar hoe zet ik die uit? Met het commando 'setup' en dan bij Firewall 'no firewall' selecteren helpt volgens mij niet, moet ik dan de service iptables uitzetten?
  • Ik heb geen idee hoe dat bij Red Hat werkt, maar kun je de uitkomst van [b:9aa0d26bc5]iptables -L[/b:9aa0d26bc5] posten? En doe ook maar de uitkomsts van [b:9aa0d26bc5]nmap[/b:9aa0d26bc5].
  • iptables -L: Chain INPUT (policy DROP) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ftp state NE W LOG icmp -- anywhere anywhere icmp echo-request li mit: avg 1/min burst 5 LOG level notice prefix `PING:' ACCEPT icmp -- anywhere anywhere icmp echo-request li mit: avg 2/sec burst 5 myfilter all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere tcp dpt:ssh state NE W ACCEPT tcp -- anywhere anywhere tcp dpt:ftp state NE W ACCEPT tcp -- anywhere anywhere tcp dpt:http state N EW ACCEPT tcp -- anywhere anywhere tcp dpt:smtp state N EW Chain FORWARD (policy DROP) target prot opt source destination myfilter all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain myfilter (2 references) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABL ISHED ACCEPT all -- anywhere anywhere state NEW REJECT tcp -- anywhere anywhere reject-with tcp-rese t REJECT all -- anywhere anywhere reject-with icmp-por t-unreachable nmap: [root@cc7072-a root]# nmap XxXx-a Starting nmap V. 3.00 ( www.insecure.org/nmap/ ) Interesting ports on <knip>.home.nl (xxx.xxx.xx.xx: (The 1597 ports scanned but not shown below are in state: closed) Port State Service 22/tcp open ssh 25/tcp open smtp 111/tcp open sunrpc 1024/tcp open kdm Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds [root@cc7072-a root]# nmap 192.168.0.1 Starting nmap V. 3.00 ( www.insecure.org/nmap/ ) Interesting ports on (192.168.0.1): (The 1597 ports scanned but not shown below are in state: closed) Port State Service 22/tcp open ssh 25/tcp open smtp 111/tcp open sunrpc 1024/tcp open kdm Nmap run completed -- 1 IP address (1 host up) scanned in 7 seconds [root@cc7072-a root]# nmap localhost Starting nmap V. 3.00 ( www.insecure.org/nmap/ ) Interesting ports on server.uskumolle (127.0.0.1): (The 1596 ports scanned but not shown below are in state: closed) Port State Service 22/tcp open ssh 25/tcp open smtp 111/tcp open sunrpc 1024/tcp open kdm 1025/tcp open NFS-or-IIS
  • Hij doet het! Tenminste, de locale mailserver, de externe mailserver die ik wil de gebruiken nog niet, maar zo werkt het in ieder geval weer. 'k Had in relay-domains nog niet de goede hosts toegevoegd...tja, die newbies ook altijd :-)
  • Het is nu ook bekend waarom ik niet de mailserver van buitenaf kan benaderen: @home blockt poort 25. Heeft iemand een idee hoe dit te omzeilen? Ik vond al wat over een redir script dat de poort omleidt, maar als @home poort 25 blockt lijkt het me dat ze dit toch doen voordat traffic voor poort 25 bij mij aankomt...
  • [quote:68894f8baa="Emmerp"]Het is nu ook bekend waarom ik niet de mailserver van buitenaf kan benaderen: @home blockt poort 25. Heeft iemand een idee hoe dit te omzeilen? Ik vond al wat over een redir script dat de poort omleidt, maar als @home poort 25 blockt lijkt het me dat ze dit toch doen voordat traffic voor poort 25 bij mij aankomt...[/quote:68894f8baa] Vroeger kon je nog wel eens wat met relay doen.. tegenwoordig gooien ze dat ook vaak uit.. wat @home daarmee doet weet ik niet.
  • 'k Heb nu wel een redir script, dus als ik nu connect naar <host> op poort 255 krijg ik wel de welkomst mesasge van m'n smtp server, maar hoe zorg ik nu dat mail weet dat het poort 255 is ipv 25?
  • Instellen in je mailclient?
  • Voor inkomende mail op de server bedoel ik.
  • Ik vrees dat je dat alleen lukt wanneer je een eigen domein aan je ip hebt gekoppelt want dan kun je het bij de dns bekent maken. Maar waarom wil je "extern" een mailserver draaien ?? het brengt wel weer de nodige risico's met zich mee nml.
  • Hoe ziet je setup er uit? Is het de bedoeling dat ik een mailtje rechtstreeks kan sturen naar emmerp@jouw-host.nl? Als dat zo is dan moet er een DNS entry komen met een MX-record. Ik weet niet of in een MX-record ook een poort opgegeven kan/mag worden. Hoe dan ook dit kun je niet zelf doen. Je hebt hiervoor een provider nodig die deze dienst aabiedt. Als je een huis-tuin-en-keuken verbinding hebt, moet je altijd online zijn, wil je bereikbaar zijn voor de buitenwereld. Als je daarnaast een dynamisch ip-adres hebt, is de kans groot dat je mail kwijtraakt als je door een storing of werkzaamheid eventjes offline bent. Ik weet dat xs4all een uitgebreidde email-service heeft, waarmee je de voordelen van een eigen mailserver kunt koppelen aan de veiligheid van de mailservers van xs4all. Deze techniek heet bsmtp. Kijk eens op de site van xs4all of je hieraan iets hebt. Wellicht ondersteunt jouw provider dit ook.
  • Je kunt toch gewoon in je mailclient aangeven op welke poorten de mailservers draaien? Waar je normaal 25 zou invullen, vul je nu 255 in. Of snapt je mailserver niet dat de mail aan poort 255 ipv 25 is gericht. Overigens hoeft die DNS-entry geen poorten te bevatten. Je kunt alle mogelijke services op één pc met één ip-adres draaien.
  • Ja maar dat geldt dus alleen voor jouw pc die moet dan poort 25 redirecten naar 255 en dat lukt dus niet omdat 25 door planet geblokt is zodat het mailtje nooit aankomt. Het lukt dus alleen als je een eigen domein hebt gekoppelt want dan wordt planet omzeilt en komt de aanvraag direct bij jouw server terecht.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.