DonEcki
Mitglied
I am sorry!
Ich kriegs net hin!
Ich kriegs net hin!
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion erfordert derzeit den Zugriff auf die Seite über den integrierten Safari-Browser.
#!/bin/bash
echo "Starting firewall and routing"
LOGLIMIT=20
IPTABLES=/sbin/iptables
case "$1" in
start)
# alle alten Regeln entfernen
echo "Loesche alte Regeln"
$IPTABLES -F
$IPTABLES -X
### MAIN PART ###
echo "Setze Default-Policy auf DROP"
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT
# Routing aktivieren
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o eth1 -j MASQUERADE
### ERSTELLE NEUE KETTEN ###
echo "Erstelle neue Ketten"
# Ketten zum loggen, zur freien Benutzung :)
$IPTABLES -N LOGREJECT
$IPTABLES -A LOGREJECT -m limit --limit $LOGLIMIT/minute -j LOG --log-prefix "FIREWALL REJECT " --log-level notice --log-ip-options --log-tcp-options
$IPTABLES -A LOGREJECT -j REJECT --reject-with icmp-port-unreachable
### PROC MANIPULATION ###
# auf Broadcast-Pings nicht antworten
echo "Unterbinde Broadcast-Pings"
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# halt die Klappe bei komischen ICMP Nachrichten
echo "Aktiviere Bogus ICMP Message Protection"
echo 0 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# aktiviere SYN Flood Protection
echo "Aktiviere SYN FLOOD Protection"
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Kicke den ganzen IP Spoofing Shit
# (Source-Validierung anschalten)
echo "Unterbinde IP Spoofing Attacken"
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# Setze Default-TTL auf 61 (Default fuer Linux ist 64)
echo "Setze Default-TTL auf 61"
echo 61 > /proc/sys/net/ipv4/ip_default_ttl
# sende RST-Pakete wenn der Buffer voll ist
echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
# warte max. 30 secs auf ein FIN/ACK
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
# unterbreche Verbindungsaufbau nach 3 SYN-Paketen
# Default ist 6
echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
# unterbreche Verbindungsaufbau nach 3 SYN/ACK-Paketen
# Default ist 6
echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
# im Loopback (127.0.0.1) koennen wir jedem trauen
$IPTABLES -A INPUT -i lo -j ACCEPT
# erlaube Pings
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# erlaube Anfragen nur fuer das lokale netzwerk an den Router
echo "Erlaube Anfragen im lokalen netzwerk an den Router"
$IPTABLES -A INPUT -i eth0 -j ACCEPT
;;
*)
echo "Usage: `basename $0` {start}" >&2
exit 64
;;
esac
exit 0
theton schrieb:Einfach mal ein Linux-Grundlagen-Buch lesen *empfehl*. Wer nicht weiss, wie er ein Skript erstellt, dem Fehlen definitiv nen paar Grundlagen.
- Lieblingseditor aufmachen
- Skript reinpasten (evtl. Pfad zum iptables-Befehl anpassen)
- Abspeichern
- in Verzeichnis wechseln, wo Datei abgelegt wurde
- chmod a+x <dateiname>
- als root: './dateiname start' ausfuehren
Zum Booten:
- Skript als /etc/init.d/firewall abspeichern
- ausfuehrbar machen
- Nachsehen was dein Default-Runlevel ist
- Skript nach /etc/rcX.d/S20firewall verlinken (X steht hier fuer dein Default-Runlevel, kann bei einigen Distros auch /etc/init.d/rcX.d sein)
SkyFlash schrieb:@theton:
War ja gut gemeint. Aber einen Linux-Newbie mit so nem ausgefeilten Script zu überfordern, halte ich für kontraproduktiv. Wie um alles in der Welt soll der sowas verstehen? (z.B.: "Nachsehen was dein Defaultrunlevel ist"?) Glaubst du ernsthaft er weiß was er da tun soll bzw. versteht überhaupt, was du meinst?
@spinni:
Ich weiß zwar nicht, was du momentan für ne Distro benutzt, aber ich würde dir als Einsteiger ein SuseLinux empfehlen. Dessen Yast ist mit der Windows-Systemsteuerung vergleichbar und sollte dir einen angenehmen Einstieg ermöglichen.
Damit wird Linux auch für dich handlebar.
Gruß, Ralle
SkyFlash schrieb:Es liegt bei dir zu entscheiden, welches OS du benutzen möchtest.
Aber glaub mir, wenn du dich in UNIX-artige OS erstmal eingearbeitet hast, sind die Möglichkeiten, die dich dir bieten um ein Vielfaches größer als bei MS-W.
Laß den Kopf nicht hängen. Für jedes Problem findet sich eine Lösung.
Gruß, Ralle
edit:
Hast du denn eigentlich mal die Zeile, die ich dir gepostet hatte probiert?
Zur Erinnerung:
echo "1" > /proc/sys/net/ipv4/ip_forward
als root. Schreib mal, ob's damit ging.