![]() |
Iptables
Hi
ich habe im Internet nicht wirklich das gefunden was ich brauche, sondern nur Seitenlange Texte die mir nur mäßig weitergeholfen haben. Ich habe verschiedene Regeln eingetragen aber entweder ist alles offen oder ich sperre mich komplett aus, dann hilft nur noch der Stromschalter^^ Villeicht könnt ihr mir hier weiterhelfen: Ein Debian-System soll ALLE Ports nach aussen zu haben ausser Port 12345 (nehmen wir mal an dadrauf läuft SSH). Intern (lo) soll/kann alles offen sein. Wie muss ich nun die IPTABLES-Regeln stellen damit ich dies bezwecke und nur noch via Port 12345 (also via SSH) auf den Server komme ? Die anderen Regeln kann ich ja dann dann daraus ableiten. THX im Voraus PS: ifconfig spuckt mir eth0 (Netzwerkkarte) und lo (loopback) aus. |
Das müsste ca so aussehen:
Code:
iptables -A INPUT -i eth0 -p tcp --dport 12345 -j ACCEPT Um intern alles offen zu lassen müsste das ca so aussehen: Code:
iptables -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT Code:
/sbin/iptables -F INPUT |
thx
aber noch eine Sache: wie schliesse ich denn die restlichen Ports ? |
Zunächst mal Buchtipp:
Linux Firewall mit Iptables & Co (Gibt es glaube ich auch hier in der Börse) Alles andere verbietest du indem du die Default Policy setzt: iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP Damit "Dropst" du alle Pakete, außer die die du explizit erlaubt hast. |
jo genau so 1 zu 1 hab ich auch alles probiert und SSH is zu ^^
und dann hab ich hier ins Forum geschrieben ;) |
Ich hab [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] noch was gefunden was genau das Szenario beschreibt. Vllt hilft dir das ja weiter.
|
richtig wenn ich das hier so in eine test.sh schreibe:
#!/bin/sh # My system IP/set ip address of server SERVER_IP="XXX.XXX.XXX.XXX" # Flushing all rules iptables -F iptables -X # Setting default filter policy iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # Allow unlimited traffic on loopback iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # Allow incoming ssh only iptables -A INPUT -p tcp -s 0/0 -d $SERVER_IP --sport 513:65535 --dport 12345 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp -s $SERVER_IP -d 0/0 --sport 12345 --dport 513:65535 -m state --state ESTABLISHED -j ACCEPT # make sure nothing comes or goes out of this box iptables -A INPUT -j DROP iptables -A OUTPUT -j DROP und das ausführe als root: ./test.sh dann ist die SSH-Verbindung weg und ich kome via SSH nicht mehr auf den Server |
so ich habs jetzt sleber hinbekommen^^
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT iptables -A OUTPUT -o lo -s 0/0 -d 0/0 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 12345 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 12345 -j ACCEPT so is alles zu (intern alles offen) und es geht nur noch Port 12345 (hier mal SSH) nach aussen^^ |
spartan
do you have any step for step explination that how to install and work with Iptables also with picture many thanks and I appreciated sorry for my bad english |
Eng: Depending on your distribution it is preinstalled, otherwise use the package manager of your distribution.
then you have to write man iptables. Ger: Abhängig von deiner Distribution ist es vorinstalliert, anderenfalls benutze den Paketmanager deiner Distribution. Dann musst du noch man iptables schreiben. ;) |
wow q23p many thanks man I really Appreicated
Iam using Redhat Linux Server version 6 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:21 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.