All posts by Christian Grau

Linux iptables firewall port redirecting + preventing iptables lock out

Linux iptables firewall port redirecting

Sometimes you just want to redirect an external port to another internal port for security reasons.

I.e. you have a running mySQL server on default port 3306 and you want to access it outside from a ‘more secure’/uncommon port- let’s say 53306.

Typically you just add the following line to iptables:

/sbin/iptables -t nat -A PREROUTING -p tcp –dport 53306 -j REDIRECT –to-port 3306

However if you also want explicit firewall functionality you should close port 3306 for incoming packets and open port 53306 for them.

The basic packet flow in iptables is as follows:

Packet flow in linux iptables. Every table contains several chains/queues, where the packets are added/moved to. Incoming packets get in from top, then through mangle table PREROUTING chain, nat table PREROUTING chain, then mangle table INPUT chain, filter table INPUT chain and then to the application! Important: The default table is ‘filter’.

Typically to close port 3306 for incoming tcp packets, you move TCP packets with destination port 3306 from (table nat, chain PREROUTING) to (table filter, chain DROP). You would write:

/sbin/iptables -t nat -A PREROUTING -p tcp –dport 3306 -j DROP

However this line gives out an error, as the nat table does not allow to forward to the DROP chain.

So if you take a look at the graph above, the best table/chain to close the external port 3306 for incoming tcp packets is table/chain ‘mangle/prerouting’:

/sbin/iptables -t mangle -A PREROUTING -p tcp –dport 3306 -j DROP

Then you open the table/chain ‘filter/input’ on port 3306 (see graph above) and the firewall internally is opened:

/sbin/iptables -A INPUT -p tcp –dport 3306 -j ACCEPT
You see: iptables is quite easy if you understand the principle of packets just moving from one table/chain to another.

Preventing iptables lock out

As you can lock out yourself with iptables by adding wrong rules, it is recommended to add the following lines to crontab:

# FOR IPTABLES TESTS ONLY : flush all ip table rules every 60 minutes (in case you lock yourself out)
*/5 * * * * root /etc/firewall-emergency.sh

The firewall-emergency.sh looks as follows:

#!/bin/sh
echo 0 > /opt/psa/var/modules/firewall/ip_forward.active
chmod 644 /opt/psa/var/modules/firewall/ip_forward.active
echo 0 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
exit 0

If something goes wrong editing iptables, the firewall will be totally cleared every hour.  Then if everything works fine, simply comment the line in crontab and you are ready to go.

Another option for preventing a lock-out by a wrong iptables configuration is iptables-apply (http://manpages.ubuntu.com/manpages/xenial/man8/iptables-apply.8.html).

For backups of your iptables firewall rules, use iptables-save and iptables-restore commands (iptables gives data to stdout; i.e. iptables-save > ~/iptables_backup_24_11_2016.txt would save the data to your home).

With iptables –list you can check the current rules (default table is filter – so if you want to output all tables you have to use the -t parameter; simplier for inspescting all table rules is iptables-save).

NOTE: iptables looses all rules on process/system restart. Install iptables-persistent (apt-get install iptables-persistent) to load them every time the system/runlevel is entered (help link for German users: http://www.sysadminslife.com/linux/quicktipp-iptables-regeln-dauerhaft-speichern-mit-iptables-persistent-debian-ubuntu-linux-mint/).

Laserdrucker und Schattenbilder auf dem Papier – Eigenreperatur

Oftmals zeigen Laserdrucker “Schattenbilder”, d.h. Stellen mit viel Toner haften nicht mehr. Das Ergebnis sind Tonerauftragungen an der falschen Stelle auf dem Blatt oder Fehlstellen, an denen gar kein Toner mehr ist, während an anderen Stellen schwarze Schmierpunkte- teilweise ganze Schmierflächen mit eben der Farbe zu sehen sind, welche an anderer Stelle fehlt.
Ebenso trifft dies bei Schwarz-Weiss Laserdruckern auf schwarzen Toner zu.

Die Ursache kann zum einen eine verbrauchte/alte Bildtrommel (bzw. bei Farblasern Übertragungsrolle) sein – aber die meisten Schattenbilder haben die Ursache in einer zu niedrigen Fixierer-/Heizungstemperatur. Und hier wiederum ist oftmals nicht die Heizung defekt, sondern nur die Sensorik des Temperaturregelkreises- sprich der Thermostat und/oder der Temperaturgeber. Bei meinen Dell 1320C war es ebenso der Temperaturgeber der Fixiereinheit, welcher im Laufe der Zeit gedriftet ist.

Wenn der Drucker im Treiber oder im Einstellungsmenu des Gerätes einen “Tonersparmodus”/geringeren Tonerauftrag anbietet, so sollte man mit diesen testweise aktivieren. SInd dann die Schattenbilder auf allen Ausdrucken weg, so ist definitiv die Fixiereinheit/Heizung zu kalt.

Die Reperatur der Fixiereinheit/Heizung ist einfach und funktioniert so:

0.) Netzstecker ziehen.

1.) Fixiereinheit lokalisieren und ggf. ausbauen: Die Fixiereinheit- oder auch Heizung genannt- erkennt man meist an einer roten, gummierten Rolle, wo direkt in der Nähe ein Hitze-Warnschild angebracht ist. Falls der Drucker kurz vorher in Betrieb war ist diese Rolle noch relativ heiß (über 90°) – also nicht direkt nach dem Betrieb anfassen!

Fixierer_ausbau

2.) Thermostat und/oder Temperaturgeber suchen

Fixierer aufschrauben
Fixierer offen
Der rot umkreiste Sensor ist ein elektronischer Temperatursensor. Der kleine runde Kreis mit den zwei Kabelschuhen daneben kann ein Bimetall-Thermostat oder auch eine Temperatursicherung sein.

3.) Thermostat prüfen und/oder Temperaturgeber einstellen oder abdecken

Fixierer thermostat ausgebaut

In diesem Fall ist des Rätsels Lösung die kleine Madenschraube im Temperaturgeber. Diese einfach vollständig reindrehen und wieder mit etwas Nagellack fixieren. Ergebnis: Der Sensor bekommt weniger Wärmestrahlung von der Heizung ab und die Regelung gibt mehr Leistung im zeitlichen Durchschnitt auf den Heizkreis (meist eine On-Off Hystereregelung für die 230V Heizungen- ähnlich wie beim Elektro-Heizkörper).

Falls der Temperaturgeber nicht einstellbar ist, kann man ihn relativ einfach mit etwas Alupapier den Thermostat zu 30-60% abdecken und Tesaband fixieren- ebenso mit dem Ergebnis, dass die Fixierer-Temperatur wieder steigt.

Weiterhin sollte man den Sicherheits-Thermostaten rechts daneben auf Funktion prüfen: Im kalten Zustand muss er leitend sein. Er liegt meist direkt in Reihe mit der 230V Stromversorgung für die Heizung.Je nach Auslegung des Laserdruckers kann es auch nur dieser Thermostat sein, der die Temperatur regelt. In meinem Fall war es jedoch nur eine Sicherheits-/Übertemperatursicherung.

Die Prüfung der korrekten Heizungstemperatur kann man relativ gut mit Testausdrucken prüfen- auch das Anfühlen des Blattes direkt nach dem Ausdruck kann Hinweise darauf geben, ob die Heizungstemperatur gestiegen ist.

Wichtiger Aspekt: Eigenreperaturversuche nur vornehmen, wenn die Garantie erloschen ist und die Kosten einer neuen Heizung die Anschaffungskosten des Gerätes übersteigen.

Weiterhin: Niemals den Drucker unter Netzspannung reparieren. Wünsche viel Erfolg beim Reperaturversuch.