Welche Netzwerkprotokolle verwendet ein Postgres-Datenbankserver?

14

Ich habe einen Postgres 9.1-Server, der auf dem Standardport 5432 eines Ubuntu 12.04-Cloud-Servers ausgeführt wird.

Ich möchte den Port öffnen, damit ich Remote-Abfragen durchführen kann - aber ich muss den Port für IP-Tabellen öffnen, was die Angabe eines Protokolls erfordert. In diesem Dokument werden TCP / UDP usw. nicht erwähnt.

Welches Protokoll sollte ich in IP-Tabellen zulassen?

bernie2436
quelle
4
Vergessen Sie nicht, SSL zu aktivieren ... postgresql.org/docs/9.1/static/ssl-tcp.html
Lekensteyn

Antworten:

14

Das Protokoll ist einfaches TCP / IP.

Aus der posgresql-Dokumentation zum Protokoll "Frontends" und "Backends" :

PostgreSQL verwendet ein nachrichtenbasiertes Protokoll für die Kommunikation zwischen Frontends und Backends (Clients und Servern). Das Protokoll wird über TCP / IP und auch über Unix-Domain-Sockets unterstützt. Die Portnummer 5432 wurde bei IANA als übliche TCP-Portnummer für Server registriert, die dieses Protokoll unterstützen. In der Praxis kann jedoch jede nicht privilegierte Portnummer verwendet werden.

Verwenden Sie für iptables das tcpProtokoll, da Unix-Domain-Sockets nicht für die Verwendung über das Netzwerk vorgesehen sind.

iptables Beispiel:

iptables <other_options> -p tcp -dport 5432 -j ACCEPT

Hinweis :

Wie von Lekensteyn hervorgehoben , ist es besonders ratsam , SSL über diese Netzwerkverbindung zu aktivieren (siehe postgresql-Dokumentation zur Verwendung von TCP-over-SSL ). Die iptables- Regel würde sich in diesem Fall nicht ändern: gleicher Port (5432), gleiches Protokoll (tcp).

Ouki
quelle
1

Standardmäßig überwacht PostgreSQLt den TCP-Port 5432. Die folgenden iptables-Regeln ermöglichen eingehende Clientanforderungen (offener Port 5432).

-A INPUT -p tcp --dport 5432 -s xxx.xxx.xxx.xxx -j ACCEPT

Wobei xxx.xxx.xxx.xxx die IP des Servers ist, von dem aus Sie eine Verbindung herstellen, damit Sie Postgres nicht für die Welt öffnen.

pravin09
quelle