Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

IpTables + Interbase, keine lokale verbindung ?

Empfohlene Antworten

Moin,

ich steh gerade vor einem Problem, drum hier erstmal das System:

SuSe Linux

IpTables

Interbase Server

2 Netze xxx.xxx.6.xxx und xxx.xxx.9.xxx

Die Interbase Datenbank soll per PHP in einem CMS angesprochen werden, so lang die IPTables aus sind, geht das auch ohne Probleme.

Sobald ich jedoch die Regeln einschalte bekomme ich über das CMS nurnoch einen Timeout, jedoch komme ich mit IBExpert weiterhin auf die Datenbank.


iptables -A INPUT  -p tcp -m tcp  -i ! eth1 --dport gds_db --sport 1024:65535 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


iptables -A INPUT  -p udp -m udp  -i ! eth1 --dport gds_db -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


iptables -A OUTPUT  -p tcp -m tcp  -o ! eth1 --dport gds_db -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


iptables -A OUTPUT  -p udp -m udp  -o ! eth1 --dport gds_db  -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Bin für jeden Tipp offen :)

Ach ja, fals ich im falschem Forum sein sollte verschiebt mich :marine

Sorry habe leider keine Lösung, aber eine Frage. Mit welchem CMS versuchst du hier eine Verbindung aufzubauen? Würde das nämlich auch gern bei uns realisieren. Wie geht man da vor?

Also um das vollständig bewerten zu können, fehlen folgende informationen:

Webserver, auf dem das CMS läuft hat welche IP bzw. befindet sich in welchem Netzsegment.

Interbase-Server ist in welchem Netzsegment / bzw. hat welche IP?

Die iptablesregeln sind wahrscheinlich auf dem Interbaseserver selber. Also was hängt an eth1?

Spontan fällt mir aber folgendes auf:


iptables -A OUTPUT  -p tcp -m tcp  -o ! eth1 --dport gds_db -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


iptables -A OUTPUT  -p udp -m udp  -o ! eth1 --dport gds_db  -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Muss es hier nicht "--sport gds_db" heißen?

Also der IB ist local, die beiden Eth1 und Eth0 sind einmal fürs interne und fürs Externe VPN Netz.

Das mit dem sport wird gleich mal gestestet ^^

So, mal getestet, brachte nichts :(

Also, sowohl der IB Server, als auch der WebServer sind auf dem selben System :mod:

warum dann überhaupt dieses komplexe konstrukt?

was an:

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

wäre denn sicherheitskritisch?

Die Verbindungseinstellungen beim CMs laufen ja dann wahrscheinlich auch auf localhost.

ansonsten muss es natürlich ganz komplex lauten:


#Eingehenden Verbindungsaufbau zum DB_Server erlauben 

iptables -A INPUT  -p tcp -m tcp  -i ! eth1 --dport gds_db --sport 1024:65535 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT  -p udp -m udp  -i ! eth1 --dport gds_db -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


#Eingehenden Antworten des Datenbankservers erlauben

iptables -A INPUT  -p tcp -m udp  -i ! eth1 --sport gds_db --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT  -p udp -m udp  -i ! eth1 --sport gds_db -m state --state ESTABLISHED,RELATED -j ACCEPT


#Ausgehenden Verbindungsaufbau vom CMS zur DB erlauben 

iptables -A OUTPUT  -p tcp -m tcp  -o ! eth1 --dport gds_db -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT  -p udp -m udp  -o ! eth1 --dport gds_db  -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


# Antworten der Datenbank erlauben  

iptables -A OUTPUT  -p tcp -m tcp  -o ! eth1 --sport gds_db -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT  -p udp -m udp  -o ! eth1 --sport gds_db  -m state --state ESTABLISHED,RELATED -j ACCEPT

Ok, lach, Fehler gefunden :floet:

das Böse SNAT wars -.- , da war der fehler, SNAT raus, alles geht :P

Danke für die Hilfe :uli :uli :uli

ansonsten muss es natürlich ganz komplex lauten:


#Eingehenden Verbindungsaufbau zum DB_Server erlauben 

iptables -A INPUT  -p tcp -m tcp  -i ! eth1 --dport gds_db --sport 1024:65535 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT  -p udp -m udp  -i ! eth1 --dport gds_db -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


#Eingehenden Antworten des Datenbankservers erlauben

iptables -A INPUT  -p tcp -m udp  -i ! eth1 --sport gds_db --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT  -p udp -m udp  -i ! eth1 --sport gds_db -m state --state ESTABLISHED,RELATED -j ACCEPT


#Ausgehenden Verbindungsaufbau vom CMS zur DB erlauben 

iptables -A OUTPUT  -p tcp -m tcp  -o ! eth1 --dport gds_db -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT  -p udp -m udp  -o ! eth1 --dport gds_db  -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


# Antworten der Datenbank erlauben  

iptables -A OUTPUT  -p tcp -m tcp  -o ! eth1 --sport gds_db -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT  -p udp -m udp  -o ! eth1 --sport gds_db  -m state --state ESTABLISHED,RELATED -j ACCEPT

Der Form halber, so würde es jetzt ganz aussehen :)

#---------------------------------------------------------------------------

# Pakete, die geroutet werden

#---------------------------------------------------------------------------

iptables -A FORWARD  -m state --state ESTABLISHED,RELATED -j ACCEPT


# TCP - RDP 

iptables -A FORWARD  -s xxx.xxx.0.xxx/16 -d xxx.xxx.0.xxx/16 -p tcp -m tcp --dport 3389 -m state --state NEW -j ACCEPT


# TCP www,https

iptables -A FORWARD  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport ssh    -m state --state NEW -j ACCEPT

iptables -A FORWARD  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport www    -m state --state NEW -j ACCEPT

iptables -A FORWARD  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport https  -m state --state NEW -j ACCEPT

iptables -A FORWARD  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport ftp  -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD  -p tcp -m tcp  -s xxx.xxx.0.xxx/16 --dport ftp  -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport 3000 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD  -p tcp -m tcp  -s xxx.xxx.0.xxx/16 -d xxx.xxx.9.xxx/24 --dport ftp  -m state --state NEW,ESTABLISHED -j ACCEPT


# TCP - pcAnywhere

iptables -A FORWARD  -s xxx.xxx.0.xxx/16 -d xxx.xxx.0.xxx/16 -p tcp -m tcp --dport 5631:5632 -m state --state NEW -j ACCEPT

iptables -A FORWARD  -s xxx.xxx.0.xxx/16 -d xxx.xxx.0.xxx/16 -p tcp -m tcp --dport 3128 -m state --state NEW,ESTABLISHED -j ACCEPT


# UDP www,https

iptables -A FORWARD  -p udp -m udp    -s xxx.xxx.9.xxx/24 --dport www    -m state --state NEW -j ACCEPT

iptables -A FORWARD  -p udp -m udp    -s xxx.xxx.9.xxx/24 --dport https  -m state --state NEW -j ACCEPT


# ICMP

iptables -A FORWARD -s xxx.xxx.0.0/16 -d xxx.xxx.0.0/16 -p icmp -j ACCEPT


#---------------------------------------------------------------------------

# Pakete, die hereinkommen

#---------------------------------------------------------------------------

iptables -A INPUT  -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


# TCP


iptables -A INPUT  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport 137:139 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT  -p tcp -m tcp  -i ! eth1	    --dport 9011   -m state --state NEW -j ACCEPT

iptables -A INPUT  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport ssh    -m state --state NEW -j ACCEPT

iptables -A INPUT  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport ftp    -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT  -p tcp -m tcp  -s xxx.xxx.0.0/16 --dport ftp    -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport www    -m state --state NEW -j ACCEPT

iptables -A INPUT  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport https  -m state --state NEW -j ACCEPT

iptables -A INPUT  -p tcp -m tcp  -i ! eth1         --dport gds_db --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT  -p tcp -m tcp  -s 0.0.0.0        --dport 3060   --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT


iptables -A INPUT  -p tcp -m tcp  -i ! eth1         --dport smtp   -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport swat   -m state --state NEW -j ACCEPT

iptables -A INPUT  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport mysql  -m state --state NEW -j ACCEPT

iptables -A INPUT  -p tcp -m tcp  -s xxx.xxx.9.xxx/24 --dport 10000  -m state --state NEW -j ACCEPT


# UDP

iptables -A INPUT  -p udp -m udp  -s xxx.xxx.9.xxx/24 --dport 137:139 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT  -p udp -m udp  -s xxx.xxx.9.xxx/24 --dport www    -m state --state NEW -j ACCEPT

iptables -A INPUT  -p udp -m udp  -s xxx.xxx.9.xxx/24 --dport https  -m state --state NEW -j ACCEPT

iptables -A INPUT  -p udp -m udp  -s xxx.xxx.9.xxx/24 --dport mysql  -m state --state NEW -j ACCEPT


# ICMP

iptables -A INPUT  -p icmp -j ACCEPT


#---------------------------------------------------------------------------

# Pakete, die herausgehen

#---------------------------------------------------------------------------

iptables -A OUTPUT  -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


# TCP



iptables -A OUTPUT  -p tcp -m tcp  -d xxx.xxx.9.xxx/24 --dport 137:139 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT  -p tcp -m tcp  --dport 9011 	  -m state --state NEW -j ACCEPT

iptables -A OUTPUT  -p tcp -m tcp  --dport ssh            -m state --state NEW -j ACCEPT

iptables -A OUTPUT  -p tcp -m tcp  --dport ftp            -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT  -p tcp -m tcp  --dport ftp-data       -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT  -p tcp -m tcp  --dport pop3           -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT  -p tcp -m tcp  -o ! eth1 --dport smtp -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT  -p tcp -m tcp  --dport www            -m state --state NEW -j ACCEPT

iptables -A OUTPUT  -p tcp -m tcp  --dport https          -m state --state NEW -j ACCEPT

iptables -A OUTPUT  -p tcp -m tcp  --dport domain         -m state --state NEW -j ACCEPT

iptables -A OUTPUT  -p tcp -m tcp --sport gds_db --dport 1024:65535         -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT  -p tcp -m tcp --sport 3060 --dport 1024:65535         -m state --state NEW,ESTABLISHED -j ACCEPT


# UDP


iptables -A OUTPUT  -p udp -m udp  -d xxx.xxx.9.x/24 --dport 137:139 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT  -p udp -m udp  --dport www     -m state --state NEW -j ACCEPT

iptables -A OUTPUT  -p udp -m udp  --dport https   -m state --state NEW -j ACCEPT

iptables -A OUTPUT  -p udp -m udp  --dport domain  -m state --state NEW -j ACCEPT

iptables -A OUTPUT  -p udp -m udp  --dport mysql   -m state --state NEW -j ACCEPT

iptables -A OUTPUT  -p udp -m udp  --dport pop3    -m state --state NEW -j ACCEPT



# ICMP

iptables -A OUTPUT  -p icmp -j ACCEPT


....

#---------------------------------------------------------------------------

# Pakete, die hereinkommen

#---------------------------------------------------------------------------

iptables -A INPUT  -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

...

#---------------------------------------------------------------------------

# Pakete, die herausgehen

#---------------------------------------------------------------------------

iptables -A OUTPUT  -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

...

Tu dir einen gefallen und nimm bei den beiden statements das NEW raus. Ansonsten ist das sicherheitstechnisch sehr bedenklich ;)

Oki ^^ , mach ich Montag Morgen :D

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.