Felhasználói eszközök

Eszközök a webhelyen


firewall_deb

Debian és Fedora Tűzfal létrehozása

Ha nincs még tűzfal beállítva, hozzunk létre egy tűzfal scriptet a rendszerindító könyvtárba a kedvenc editorunkkal (a jelen példában a JOE editorral):

joe /etc/init.d/firewall.sh

A tartalma legyen a következő:

firewall.sh
  #!/bin/bash
  IFACE='venet0'
  case "$1" in
  start)
  echo "Firewall start..."
  # Tűzfal szabályok ürítése
  iptables -F
  iptables -X
  iptables -Z  
  # Szabályok hozzáadása
  iptables -A INPUT -i lo -j ACCEPT
  #accept established
  iptables -A INPUT -i $IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT 
  # accept incoming pongs
  iptables -A INPUT -i $IFACE -p icmp --icmp-type echo-reply -j ACCEPT
  # reject incoming ping requests
  iptables -A INPUT -i $IFACE -p icmp --icmp-type echo-request -j drop_icmp
  # dos protection
  echo "1" >/proc/sys/net/ipv4/tcp_syncookies
  # ip-spoofing protection
  echo "1" >/proc/sys/net/ipv4/conf/all/rp_filter
  iptables -A INPUT -i $IFACE -m state --state RELATED,ESTABLISHED -j ACCEPT
  iptables -A INPUT -i $IFACE -p tcp -m tcp --dport 22 -m hashlimit --hashlimit 1/min --hashlimit-burst 3 --hashlimit-mode srcip --hashlimit-name ssh-drop -m state --state NEW -j LOG --log-prefix "[Firewall] 3_sikertelen_ssh: "
  iptables -A INPUT -i $IFACE -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/min --limit-burst 3 -j ACCEPT
  iptables -A INPUT -i $IFACE -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
  iptables -A INPUT -i $IFACE -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
  iptables -A INPUT -i $IFACE -j REJECT --reject-with icmp-host-prohibited   
  echo "Firewall started."
  #syslog
  logger "[Firewall] Firewall started!"
  ;;
  stop)
  echo "Firewall stop..."
  # chain initialization
  iptables -P INPUT ACCEPT   
  iptables -P OUTPUT ACCEPT
  iptables -P FORWARD ACCEPT
  iptables -F
  iptables -X
  iptables -Z
  echo "Firewall stopped."
  logger "[Firewall] Firewall stopped!"
  ;;
  *)
  echo "Usage: `basename $0` start|stop"
  ;;
  esac

Tegyük futtathatóvá az új scriptünket és indítsuk el:

# chmod +x /etc/init.d/firewall.sh
# /etc/init.d/firewall.sh stop
# /etc/init.d/firewall.sh start

A script rendszerindításkor történő futtatásához futtassuk ezt a parancsot:

Debain alatt:
# update-rc.d firewall.sh defaults
Fedora alatt:
# chkconfig --level 345 firewall.sh on
firewall_deb.txt · Utolsó módosítás: 2014/01/19 21:07 szerkesztette: semir

Eszközök az oldalon