Skip to content

Instantly share code, notes, and snippets.

@rpt
Created May 18, 2011 08:13
Show Gist options
  • Select an option

  • Save rpt/978182 to your computer and use it in GitHub Desktop.

Select an option

Save rpt/978182 to your computer and use it in GitHub Desktop.
Firewall script for Julcia
#/bin/bash
# -----------------------
# W pliku /etc/syslog.conf trzeba ustawić:
#
# kern.warning /var/log/firewall
#
# Restart syslog'a:
#
# /etc/init.d/sysklogd restart
#
# A poniższą zawartość wrzucić do skryptu
# np. /etc/firewall.sh
# Dać mu +x i wywołać
#
# chmod +x /etc/firewall.sh
# /etc/firewall.sh
#
# Uruchamione komendy konfigurują iptables:
# -----------------------
iptables -F # usuwa wszystkie wcześniejsze ustawienia!!! ustawia wszystko na ACCEPT
iptables -P INPUT DROP # ustawia domyślną politykę na ODRZUĆ dla przychodzących pakietów
iptables -P FORWARD DROP # ustawia domyślną politykę na ODRZUĆ dla forwardowanych pakietów (jeśli host jest routerem np.)
iptables -P OUTPUT ACCEPT # ustawia domyślną politykę na AKCEPTUJ dla wychodzących pakietów (domyślnie tak jest po -F, ale można napisać)
iptables -A INPUT -j LOG --log-level 4 # ustawia logowanie na poziomie 4 -> warning (to co było w /etc/syslog.conf ustawione)
# umożliwić ruch przychodzący z interfejsu lo (loopback) niezależnie od jego charakteru:
iptables -A INPUT -i lo -j ACCEPT
# zablokować ruch przychodzący TCP dla wszystkich portów i wszystkich hostów z wyjątkiem portu 22 dla IP hosta:
# komentarz: wszystko zostało zablokowane przez iptables -P INPUT DROP, otwieramy tylko co trzeba, czyli port 22 i adres hosta (zamiań <ip_hosta> na prawdziwy ip hosta:)
iptables -A INPUT -s <ip_hosta> -p tcp --dport 22 -j ACCEPT
# zablokować ruch wychodzący TCP na port 80:
# komentarz: jako, że na OUTPUT mamy ustawione domyślnie ACCEPT, zamykamy tylko port 80 (odwrotna sytuacja niż przez chwilą)
iptables -A OUTPUT -p tcp --dport 80 -j DROP
# -----------------------
# zalogować się z maszyny hosta na maszynę wirtualną... - to chyba jasne, powinno się dać
#
# ...forwardując port 80 na port 8080 hosta - tu nie wiem o co chodzi, ale ogólnie przekierowania robi się tak:
#
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination <ip_hosta>:8080
# iptables -A FORWARD -p tcp -d <ip_maszyny_wirt> --dport 8080 -j ACCEPT
#
# ...tylko nie bardzo wiadomo co w którą stronę ma być forwardowane
#
# -----------------------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment