la
dalinuosi idejomis
tai yra gana grieztos taisykles, minimumas kad aplamai veiktu. ;)
apache; ftp; ssh:30003; pastas.
lokaliai intiku nepasinaudosi.
didesnis saugumas ssh - (google)
http://www.portknocking.org/'>port knocking
###############################
## iptables taisykles by mevvis.
##
## NESUKEISTI BLOKU VIETOMIS !
#!/bin/bash
ipt=/sbin/iptables
$ipt -P INPUT ACCEPT
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD DROP
$ipt -F -t nat
$ipt -F -t mangle
$ipt -F
$ipt -X
$ipt -P INPUT DROP
$ipt -P OUTPUT DROP
$ipt -A INPUT -i lo -j ACCEPT
$ipt -A OUTPUT -o lo -j ACCEPT
##########################################################################################
## BAN LISTAS SPAMERIAMS IR T.T.
#$ipt -A INPUT -s 85.141.0.0/16 -j DROP
$ipt -A INPUT -s 201.251.159.2 -j DROP
## Simple Service Discovery Protocol (SSDP)
$ipt -A INPUT -p udp -m udp --dport 1900 -j DROP
$ipt -A OUTPUT -p udp -m udp --sport 1900 -j DROP
##########################################################################################
## SESIJU VALDYMAS
## Su 'NEW' branduolys praleis betkoki is vidaus INICIJUOTA susijungima
## tarkim wget ar irssi.
## Be 'NEW' bus isleidziami tik tie paketai,
## kurie naudos prievadus aprasytus 'IS-EINANTIS SRAUTAS'
## Sistemos auto-upgrade servo adresas gali buti dadetas kaip IP.
## Del taisykles 'ESTABLISHED,RELATED' bus praleidziami paketai kuriu inicijavimas
## buvo ivykdytas is isores ir jie jau gavo statusa 'ESTABLISHED'
## Trumpiau tariant su 'NEW' nebelieka jokio iseinacio srauto valdymo
## jeigu yra vykdoma exec lokaliai.
##
##
## $ipt -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
##
$ipt -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
## Cia galioja auksciau esantis aprasymass.
##
$ipt -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
###########################################################################################
## I-EINANTIS SRAUTAS
## HTTP
$ipt -A INPUT -s 0/0 -p tcp --dport 80 -j ACCEPT
## FTP
$ipt -A INPUT -s 0/0 -p tcp --dport 21 -j ACCEPT
## PASTAS SMTP
$ipt -A INPUT -s 0/0 -p tcp --dport 25 -j ACCEPT
## PASTAS POP3-SSL
$ipt -A INPUT -s 0/0 -p tcp --dport 995 -j ACCEPT
###########################################################################################
## IS-EINANTIS SRAUTAS
## DNS
$ipt -A OUTPUT -m state -m tcp --state NEW -p tcp --sport 53 -j ACCEPT
$ipt -A OUTPUT -m state -m udp --state NEW -p udp --sport 53 -j ACCEPT
##
#$ipt -A OUTPUT -m state -m tcp --state NEW -p tcp --sport 465 -j ACCEPT
## TCP/IP Bootstrap Protocol (BOOTP)
$ipt -A OUTPUT -m state -m tcp --state NEW -p tcp --sport 67 -j ACCEPT
## SMPT
$ipt -A OUTPUT -m state -m tcp --state NEW -p tcp --sport 25 -j ACCEPT
############################################################################################
## SSH prisijungimo limitavimas
## 3600 yra laikas po kurio bus galima bandyti dar karta jungtis.
## hitcount 3 - yra kartu skaicius, po nesekmingo trecio eini ilsetis 3600sekundem.
## net jei atsidarysi tris sesijas vistiek ketvirtai turi laukti 3600sek.
## skripto dugne yra leidimai 'home' adresams isjungiantys si bloka.
$ipt -A INPUT -p tcp --syn --dport 30003 -j LOG --log-prefix "SSH SYN "
$ipt -A INPUT -s 0/0 -m state --state NEW -m tcp -p tcp --dport 30003 -j ACCEPT
$ipt -I INPUT -p tcp --dport 30003 -m state --state NEW -m recent --set #skaiciuoja bandymus
$ipt -I INPUT -p tcp --dport 30003 -m recent --update --seconds 3600 --hitcount 3 -j DROP
########################################################################################
## Nelimituotas SSH vartotojams
## user1
$ipt -A INPUT -s 78.xx.xx.61 -m state -m tcp --state NEW -p tcp --dport 30003 -j ACCEPT
## user2
$ipt -A INPUT -s 87.xxx.xx.80 -m state -m tcp --state NEW -p tcp --dport 30003 -j ACCETP
############################################################################################