Minimalistische Firewall-Regeln auf 1&1 Cloud Server

Beim Wechsel von meinem „alten“ 1&1 Dynamic Cloud Server auf einen neuen 1&1 Cloud Server (man beachte die Abwesenheit des Wortes „Dynamic“) habe ich mich gewundert, wieso Email-Versand und -Empfang nicht funktionieren wollte. Nach langer und vergeblicher Suche in Plesk fand ich die Ursache im 1&1 Cloud Panel.

Im Panel finden sich unter Netzwerk -> Firewall-Richtlinien zwei Default-Richtlinien. Die Richtlinie für Linux läßt gerade mal SSH (Port 22), HTTP(S) (Port 80 und 443) und Plesk (8443 und 8447) zu. Erst als ich hier noch SMTP (Port 25), Submission (Port 587) und IMAPS (Port 993) in die Richtlinie aufgenommen habe, funktionierten Emails wie gewohnt.

 

Emergency procedures initiated!

Oops, sieht so aus, als würde es die alte Platte in diesem Server nicht mehr lange machen. Nach über 1200 Tagen Uptime macht sich wohl das Alter bemerkbar. Jetzt werde ich wohl mir einen neuen Server suchen. Dabei habe ich auch kein Problem, zu einem anderen Anbieter zu wechseln. Mehr als 70-80€/Monat wollte ich dabei für den Server nicht ausgeben. Mal schauen, was es so auf dem Markt gibt. Für Vorschläge bin ich dankbar.

PostgreSQL auf Mac OS X, diesmal mit Syslog-Logging

Ich hatte vor einer Weile geschrieben, wie man PostgreSQL auf Mac OS X sauber installiert. Das klappt zwar prima, doch die Logfiles waren ein wenig chaotisch. Bei der Installation von PostgreSQL 8.2 habe ich also beschlossen, via Syslog zu loggen. Die eigentliche Installation läuft wie im letzten Artikel beschrieben ab. Erst bei Punkt 10 mußte ich von der alten Anleitung abweichen.

In der /Users/Shared/PostgreSQL/data/postgresql.conf habe ich folgende Änderungen durchgeführt:

--- postgresql.conf.orig  2006-12-08 13:29:39.000000000 +0100
+++ postgresql.conf 2006-12-08 13:31:28.000000000 +0100
@@ -221,6 +221,7 @@

 # - Where to Log -

+log_destination = "syslog"
 #log_destination = 'stderr'    # Valid values are combinations of
          # stderr, syslog and eventlog,
          # depending on platform.
@@ -252,6 +253,7 @@

 # These are relevant when logging to syslog:
 #syslog_facility = 'LOCAL0'
+syslog_facility = 'LOCAL1'
 #syslog_ident = 'postgres'

@@ -313,6 +315,7 @@
 #log_connections = off
 #log_disconnections = off
 #log_duration = off
+log_line_prefix = '%u@%h:/%d '
 #log_line_prefix = ''      # Special values:
          #   %u = user name
          #   %d = database name
@@ -331,6 +334,7 @@
          #   %% = '%'
          # e.g. '<%u%%%d> '
 #log_statement = 'none'      # none, ddl, mod, all
+log_statement = 'all'
 #log_hostname = off

Damit habe ich PostgreSQL gesagt, es möge seine Nachrichten an den Syslog senden. Nun muß der Syslog noch wissen, was er damit anstellen soll. Das steht in der /etc/syslog.conf.

--- syslog.conf.orig  2006-12-08 13:34:26.000000000 +0100
+++ syslog.conf 2006-12-08 13:34:11.000000000 +0100
@@ -17,5 +17,6 @@
 install.*            /var/log/install.log
 install.*            @127.0.0.1:32376
 local0.*           /var/log/ipfw.log
+local1.*           /var/log/pgsql/pgsql.log

 *.emerg              *

Fast geschafft. Jetzt mußte ich nur noch aus dem Launchd-Skript die Zeilen entfernen, die dem PostgreSQL-Server gesagt haben, daß er sich selbst um die Logfiles kümmern soll.

--- org.postgresql.postmaster.plist.orig  2006-12-08 13:37:13.000000000 +0100
+++ org.postgresql.postmaster.plist 2006-12-08 13:37:25.000000000 +0100
@@ -15,10 +15,6 @@
    <string>redirect_stderr=YES</string>
    <string>-c</string>
    <string>log_connections=YES</string>
-   <string>-c</string>
-   <string>log_directory=/var/log/pgsql</string>
-   <string>-c</string>
-   <string>log_filename=postgres_log</string>
  </array>
  <key>ServiceDescription</key>
  <string>PostgreSQL Server</string>

Dann habe ich nur noch ein leeres Logfile für den Syslog mit sudo touch /var/log/pgsql/pgsql.log angelegt. (Es könnte nötig sein, vorher das dazugehörige Verzeichnis mit sudo mkdir /var/log/pgsql anzulegen). Damit der Syslog nun seine Konfigurationsdatei neu einliest, habe ich ihn mit sudo killall -HUP syslogd angeregt, sich zu restarten.

Nun kann der PostgreSQL wie in der alten Anleitung gestartet werden.

Ja, ist denn heut scho Weihnachten?

Als ich heute bei der Arbeit erschien, erfuhr ich, daß unser VPN-Tunnel nach Polen weggebrochen war. Offenbar gab es wohl einige Probleme mit der Leitung in Polen und eine Reperatur wurde uns frühestens um 17Uhr in Aussicht gestellt. Dies konnte nur eines bedeuten. Entweder der Tag wird lang und hektisch oder es wird ein langer und langweiliger Tag. Doch wie so oft, hatte der Tag ganz andere Pläne und so wurde es dann noch aufregend.

Als erstes erschienen diese 3 Grazien bei uns. Dies steigerte meine Laune schon mal erheblich. Mein Kollege und ich haben uns dann wie kleine Kinder über die Geräte hergemacht und erstmal damit herumexperimentiert. Wir haben aus einer alten Digitalkamera eine CF-Karte herausgestemmt und dann m0n0wall auf eines der Geräte installiert. Doch der Tag hatte noch mehr zu bieten.

Kurz nach Mittag erschien dann noch unser neuer Datenbankserver. 4x Dual-Code Opteron Goodness. Der Tag war nicht mehr zu toppen. Einen kleinen Dämpfer versetzte uns nur, daß scheinbar der falsche Speicher mitgeliefert wurde, und die Maschine nicht deshalb nicht anlief. Aber wir hatten so viel Spaß dabei, den Server zusammenzubauen, daß es uns egal war :)

Wieso kann eigentlich nicht jeder Tag so sein? Vielleicht sollten wir öfters neue Hardware bestellen.

Wieso bin ich kein Gärtner geworden?

Den ganzen Tag damit verbracht, den Grund dafür herauszufinden, wieso plötzlich die komischen Email-Clients (die nach einem König aus Israel benannt wurden) nicht mehr auf ihren Server connecten wollen, sondern ständig nach einem Benutzernamen und Paßwort verlangten. Stundenlang herumgehampelt, bis mich die nicht funktionierende Zwischenablage und Drag&Drop auf einem anderen Server, der zufällig auch der DC ist, auf die Spur brachten. Ich hätte doch besser Gärtner werden sollen. Das ist bestimmt ein stressfreier Job.

Rettungseinsatz

Linux-Server fällt aus. DIe Platten verkünden ihr baldiges Ableben. Da ist Remote nichts mehr zu machen. Also muß man vor Ort. Also ab ins Auto und schon geht’s ab. Etwa 750km Richtung Osten. Jepp genau, nach Polen. Besser als gar kein Urlaub :)