PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : iptables


Morale
2015-01-23, 11:39:37
Hallöchen, meienr einer hat man wieder ein Problem.
Nachdem Tomcat und auch die Software auf dem Server laufen, wollte ich nun den Server fertig einrichten (da der Server erst demnächst genutzt wird auch ein guter Punkt für Learning by doing).
Als erstes wollte ich mich an die FW begeben, gesagt getan, nach Ports geguckt, die gebraucht werden alles eingerichtet und:
Software geht nicht mehr.

Was mir im Zuge der Fehlerbehebung auch aufgefallen ist, den Tomcat kann ich nicht neustarten, obwohl 8000 und 8005 freigeschaltet ist, folgende Fehlermeldung kommt:

[root@anmeldung bin]# ./shutdown.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Jan 23, 2015 11:31:04 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact localhost:8005. Tomcat may not be running.
Jan 23, 2015 11:31:04 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:2 00)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:498)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav a:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:370)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:457)

iptables ist derzeit so eingerichtet (Noch nicht fertig, bzw. in Fehlersuch"Modus":
1. Delete all existing rules
iptables -F

# 2. Set default chain policies
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT DROP

# 3. Allow incoming SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

# 4. Allow incoming HTTP/PLESK/TOMCAT
#iptables -A INPUT -i eth0 -p tcp --dport 8005 -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A INPUT -i eth0 -p tcp --sport 8005 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 8080 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 8443 -m state --state ESTABLISHED -j ACCEPT
#iptables -A INPUT -i eth0 -p tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT
#iptables -A INPUT -p tcp -s 78.47.104.182 --sport 1024:65535 -d 78.47.104.182 --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A INPUT -i eth0 -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -s localhost --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp -s localhost --dport 8005 -j ACCEPT
# 5. Allow outgoing SSH
iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
# 6. Allow outgoing HTTP
#iptables -A OUTPUT -o eth0 -p tcp --dport 8005 -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp --sport 8005 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 8080 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 8443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 8443 -m state --state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -p tcp -s 78.47.104.182 --sport 3306 -d 78.47.104.182 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -d localhost --sport 3306 ! --syn -j ACCEPT
iptables -A OUTPUT -p tcp -d localhost --sport 8005 ! --syn -j ACCEPT


Hat jemand eine Idee, Ahnung?

nalye
2015-01-23, 11:56:50
Ich vermisse die Freigabe für lo:


iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

Morale
2015-01-23, 12:02:41
Wofür steht lo?
Loopback?
Ah localhost

Das hat auf jeden Fall geklappt. :)

sei laut
2015-01-23, 14:51:51
Du hast momentan keine Forward Regel, aber ich würde trotzdem nicht einfach so iptables -P FORWARD ACCEPT einstellen sondern iptables -P FORWARD DROP

Und es ist irgendwie verwirrend zu lesen. Man erlaubt eigentlich ESTABLISHED, RELATED und fügt dann noch die NEW Regeln hinzu (bzw. gibt keinen --state an, was jeden state meint)
Nur als kleiner Hinweis.

nalye
2015-01-23, 15:27:33
Scheint mir eher ein Copy&Paste ausm Netz zu sein denn eine "richtige" iptables-Config ;)

Morale
2015-01-23, 15:34:46
Jupp, bin ja Linux Neuling, das ist halt euch was zum lernen und selber machen.
Da ist auch noch viel drin, was wieder rausgehört, jetzt wo es funktionier.
Forward ist z.b. auch wieder auf DROP

Jedenfalls danke für den Tipp. :)