HOME

ADD

EDIT

Linux

Firewall

Obecně o firewallu

Stavíme

si firewall

Nastaveni,

ukazkove z Linux Server -soubory firewall.sh, firewall_allow, firewall_deny atd...

Kam firewall instalovat?

nedoporucujese instalovat firewall primo na server, kde jsou citliva data vhodnejsi instalace na specialni pocitac, pres ktery server pristupuje k internetu nebo pouzit hardwarovy firewall zbytecne pouzivat hardwarovy router a jeste firewall na serveru (ale pro paranoidni spravce neni vylouceno:))

IPchains a IPtables

-doporuceni vyuzivat IPtables (zavedeni stavove inspekce = kontroluje prichozi pakety a IP + kontrola komunikacniho protokolu)

Poradí pravidel firewallu

   1. obecna pravidla
   2. povoleni prichozich
   3. odmitnuti ostatnich
   4. logovani

Jednoduchý firewall s IPtables (dodrzovat velikost pismen)

nastavenivychozi politiky % /sbin/iptables -p INPUT DROP pro www server zajistim pristup z naseho pocitace do systemu % /sbin/iptables -A INPUT -s 0/0 -d 192.168.14.53 -p tcp -dport www -j ACCEPT pro SSH % /sbin/iptables -A INPUT -s 0/0 -d 192.168.14.53 -p tcp --dport ssh -j ACCEPT nastaveni protokolovani do /var/log/messages (pozor aby u vetsiho provozu na serveru, nedoslo k velkemu narustu objemu logu) % /sbin/iptables -A INPUT -j LOG zablokuju vsechny ostatni pakety % /sbin/iptables -A INPUT -j DROP

User-friendly firewall

dokazinastavit firewall za nas Konference o firewallech
http://honor.icsalabs.com/mailman/listinfo/firewall-wizards/

Moznosti pod linuxem

SPOJENCI

   % iptables -L -n
   % tcpdump
   % ethereal

IPTABLES

   % iptables -A INPUT -t filter -s ! 195.178.92.250 -p tcp --dport 23 -j DROP
   # definice vnejsiho (verejneho) rozhrani firewallu
   EXT_IFACE=
  #definice vnitrni (privatni) rozhrani firewallu
   INT_IFACE=
   #pozadovany konecny cil tohoto paketu - cilova IP adresa
   DEST_IP=

#omezeni rychlosti vstupu novych prichozich TCP paketu (lze tak zabranit utoku s odeprenim sluzeb DoS - Denial of Service), po zjisteni narazu 24 za sek. bude rychlost dana na 12 za sek. 
   #vytvoreni retezu syn-flood pro detekci utoku s odeprenim sluzeb
   iptables -t nat -N syn-flood

   #omezeni 12 novych spojeni za sekundu (po zjisteni narazu 24 za sek.)
   iptables -t nat -A syn-flood -m limit --limit 12/s --limit-burst 24 -j RETURN
   iptables -t nat -A syn-flood -j DROP

   #kontrola vzniku utoku DoS s odeprenim sluzeb
   iptables -t nat -A PREROUTING -i $EXT_IFACE -d $DEST_IP -p tcp --syn -j syn-flood

# transparentni proxy server Squid pro vnitrni sit, presmeruje vsechny odchozi pozadavky na TCP portu 80 do proxy serveru Squit ve firewallu, ktery pracuje nad portem 3128
   iptables -t nat -A PREROUTING -i $INT_IFACE -p tcp --dport 80 -j REDIRECT --to-port 3128


# kontrola shody libovolnych priznaku TCP (blokuje pakety typu "vanocni stromecek", kterym sviti vsechny nastavene bity) a nulove pakety
   iptables -t nat -A PREROUTING -p tcp --tcp-flags ALL ALL -j DROP
   iptables -t nat -A PREROUTING -p tcp --tcp-flags ALL NONE -j DROP


# zakaz prichoziho prohledavani portu, nutna uprava jadra (psd)
   iptables -t nat -A PREROUTING -i $EXT_IFACE -d $DEST_IP -m psd -j DROP

# zahazuje pakety od hostitele, ktery ma vice nez 16 aktivnich spojeni (jadro > iplimit)
   iptables -t nat -A PREROUTING -i $EXT_IFACE -p tcp --syn -d $DEST_IP -m iplimit --iplimit-above 16 -j DROP

# zahodi pakety, ktere patri virum CodeRed a Nimda (jadro)
   iptables -t filter -A INPUT -i $EXT_IFACE -p tcp -d $DEST_IP --dport http -m string --string "/default.ida?" -j DROP
   iptables -t filter -A INPUT -i $EXT_IFACE -p tcp -d $DEST_IP --dport http -m string --string ".exe?/c+dir" -j DROP
   iptables -t filter -A INPUT -i $EXT_IFACE -p tcp -d $DEST_IP --dport http -m string --string ".exe?/c+tftp" -j DROP

# predavani portu http s DNAT (destination NAT - ciloveho NATu) v retezu PREROUTING, preda pozadavky HTTP do urciteho systemu vnitrni site (10.0.0.3) (jadro)
   iptables -t nat -A PREROUTING ! -i $INT_IFACE -p tcp --destination-port 80 -j DNAT --to 10.0.0.3:80

# odfiltrovani viru CodeRed
   iptables -t filter -A FORWARD -p tcp --dport http -m string --string "/default.ida?" -j DROP

MASKOVANI

   % echo "1" > /proc/sys/net/ipv4/ip_forward
   % iptables -t nat -A POSTROUTING -o $EXT_IFACE -j MASQUERADE
Utoky (zakaze vse co neodpovida smerovaci tabulce) : je nutne povolit v jadre moznost "rp_filter". Pokud chci rp_filter vypnout tak staci % echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter

Ukázkové příklady

BlackList,

WhiteList firewall.sh
 #!/bin/sh
 #WHITELIST=/usr/local/etc/whitelist.txt
 #BLACKLIST=/usr/local/etc/blacklist.txt
 WHITELIST=./firewall_allow.txt
 BLACKLIST=./firewall_deny.txt
 ALLOWED="22 25 80 443"

# odstrani vsechna stavajici pravidla
 iptables -F

# nejprve projdem WHITELIST a veskery provoz z techto IP budeme prijimat
 for x in `grep -v ^# $WHITELIST | awk '{print $1}'`; do
   echo "povoluji $x..."
   iptables -A INPUT -t filter -s $x -j ACCEPT
 done

# nyni projdu cernou listinu a vse zakazu
 for x in `grep -v ^# $BLACKLIST | awk '{print $1}'`; do
   echo "blokuji $x..."
   iptables -A INPUT -t filter -s $x -j DROP
 done

# mrkneme na povolene porty
 for port in $ALLOWED; do
   echo "prijimam port $port..."
   iptables -A INPUT -t filter -p tcp --dport $port -j ACCEPT
 done

# vsechny ostatni prichozi pozadavky o navazani spojeni, s vyjimkou vyse popsanych, zahodime
 iptables -A INPUT -t filter -p tcp --syn -j DROP
 
blacklist.txt
195.178.92.66  # odtud vel portscan 8.9.2005
7.8.9.0/24  # tady jsou mozna vetrelci
hanka.ft.utb.cz   # pochybny pocitac
whitelist.txt
# toto je BLACKLIST pro skript firewall_example.sh
195.178.92.254  # muj pocak
208.201.239.0/26  # tato sit je bezpecna

Nejnavštěvovanější

LuštěninySladkéVýpisy z DB WP title atd...Kuřecí a drůbežAndorid 2.2 účet ArchosGulášDisková poleOracleOCS InventoryMonitFotbalTinyCore LinuxWebkameryQuantaActive DirectoryPrenatální kurzDatabázové funkceVěci na cestováníPřílohyWIFISynchronizaceAkceOpravyeGroupWareUTB ClonezillaSynology 411+Vepřové masoAntispamCodeigniterPanteřiDoxygenGrilování - grillGrubElasticsearchSynology 413jBezpečnostFTP funkcelXjsHjzLTFplUbOHUTBVlastní příkazy LinuxuLéčba - vlastní receptyArchivace a synchronizacePythonProxmoxSamsung OmniaUTB VirtualizaceWP MultidoményOmáčkyPodstránka 4SalátySociální sítěPDFWindows XPmySQL spojování IIPravdy a nepravdyPomazánkySystémové funkceFacebookModulyZvěřinaAdresářové a souborovéČas a časové zónyArchivace a zálohováníPříspěvky a stránkyKulturní středySoubory a uploadArchivace a komprimaceDálkové ovládáníUživatel a právaWordpressAplikacePrůjemPodstránka 2Windows 7PolévkyJavaScriptBindSítězz AplikaceApacheCMS systémyMonitoringWifi routerypláčSilvestr 2008WindowsDálniceMailApache a certifikátyPXEVkládání do PHP stránekPHP a MYSQLMailserverSynchronizace datUpgradeTěstoviny a omáčkySportObrácený režimAplikace na cestováníRýžovéExporty XLS Word CVSKódováníKlonování dískůNFSWordpress Captcha pluginsWordpress jazykové mutaceLéčebné medicínyBalíčkovací systémyCesnetUpgradeLiwQSROBcUteiFjIbWordpress WPDBKočárkyPodstránka 1PizzaPlatební systémyManuályjmenaMonitoryVypalováníSEOPoleVideoSoftwareVirtualizace a CloudingSubversionThunderbirdVirtualMasterUživatelská polePečeníMySQL a BashDokumentaceTwitterZměnit statusSSHDetoxAjaxFrameworkyMail - výběr poštyLocale - lokalizace linuxuCyklistikaPXE ServerPráce s menu a seznamem stránekChuťovkyKancelářské aplikaceShellRychlovkyDoporučená jídlaNekulturní pátekJSONX11NagiosSylabusDatabázeHardwarewordpress Codestyling LocalizationzzWTwBtKLkrCTHoKafé, ledová káva, frapéCSSServery a bezpečnostTempVIMOpenwiki.orgInstalace na Dell Inspiron DUOMongoDBKVMHovězíBezmaséBuchtyPodstránka 1aSmaženéExport XMLDellGnomePříspěvky v dané kategoriiSdílení mobilního InternetuCSS a Grafické Å¡ablonyVirtual HostingArchivace a verze souborůPřevodyBylinkyZeleninová jídlaVltavaPHPEZCCaptchaPříkladyMySQL export importDoctor Who Toursnetbook Lenovo S205InstalacewgetPřípadová studie 1 - ladění serveruVKzvCYgntSqCbMeKaSynchronizace s Windows MobileDistribucePostgreSQLVirtualizace aplikacíWYSIWYG editory tinyMCEZendZnaková kódováníLVMPayPalVzdálená plochaPropecia Espana Disfuncion Erectil ShanetLékárničkaqYbeiVzqUQXWSwbKohanaLinuxové aplikace pro internetProblémy s hardwaremTémataNápojeRybyOptimalizace www stránekXHTMLAndroidupgrade na PHP 5.5 - nefunkční mysqlDiakritikaVyhledávání souborů a v souborechApache a UTBsweelryaerofs jlrftŠkytavkaKojeníRozvrhyNavigaceWebServer : Performance Benchmarks a WebserverGoogle AnalyticsSdílení tiskárnyPříslušenstvíNHLFirewallDisky a práce s nimiAlkohol a drinkyPHP frameworksŘetězcevrugBUqlmLGALrKonverzní funkceKYPopmWQoMOJwcmIOoKSamsung S5620 MonteZItxHryPkLHorkovzdušná fritéza