Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: abadon в Oct 15, 2008, 14:37



Титла: Специфични правила на iptables
Публикувано от: abadon в Oct 15, 2008, 14:37
Здравейте.

Изграждам си едно firewall-че на iptables за в къщи и искам да съм из-пипал нещата колкото се може по-добре и да се възползвам от пълната мощ на iptables-а и затова сега чета документации, примери, man страници и като си харесам нещо или се при сетя и дописвам като правила.... Днес намерих тези правила:
Примерен код
### MALFORMED PACKETS ###
# Smurf attack
iptables -A INPUT -p icmp -d 0.0.0.255/0.0.0.255 -j DROP
 
# Invalid tcp packets
iptables -A INPUT -p tcp --tcp-option 128 -j DROP
iptables -A INPUT -p tcp --tcp-option 64 -j DROP
 
# Malformed xmas packets
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
 
# Malformed null packets
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
 
# New tcp connections must be SYN packets!
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
 
# others
iptables -A INPUT -m state --state INVALID -j DROP
#
### MALFORMED PACKETS ###


Обаче в до момента имам правило iptables -P INPUT DROP и затова ми е интересно сега нуждая ли се наистина от горните редове за по-добра защита или тези пакети си ги drop-и самото policy и без тях?

Предварително благодаря на всички които ще ми помогнат!





Титла: Специфични правила на iptables
Публикувано от: VladSun в Oct 15, 2008, 16:02
Това ми е познато от някъде ;)
Тези правила са едни от първите в защитната стена и търсят "лоши" сами по себе си пакети и ги отказват. Правилата за тези пакети не се променят и остават винаги, независимо от това какво друго искаш да правиш със защитната стена.

След тях обикновено има и други правила - (прим. филтриране/разрешаване на портове), но "лошите" пакети не трябва да стигат до тях.

Това, че най-накрая се изпълнява DROP съвсем не означава, че преди това няма другаде ACCEPT :) (или няма да има за в бъдеще! ) Освен това избраната политика предполага със сигурност използването на ACCEPT правило (най-малкото за RELATED/ESTABLISHED пакетите).





Титла: Специфични правила на iptables
Публикувано от: abadon в Oct 15, 2008, 16:18
Благодаря за отговора. Значи си ги оставям тези правила. А иначе си прав че имам ACCEPT правило за ESTABLISHED, RELATED  пакетите което е:
Цитат
iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

от поста ти да разбирам, че това правило ще пропусне лошите пакети и няма да ги дропне ако разчитам само на policy-то?

P.S>Продължавам да ровя в нета и да търся информация как работят тези сканирания за да ми се изясни напълно какво се случва....


Титла: Специфични правила на iptables
Публикувано от: gat3way в Oct 15, 2008, 16:26
Добре де какъв е смисъла да пречите на хората да ви сканират портовете и да се опитват да ви правят OS fingerprinting? С това системата няма да стане по-сигурна :)


Титла: Специфични правила на iptables
Публикувано от: VladSun в Oct 15, 2008, 16:27
Цитат (abadon @ Окт. 15 2008,16:18)
от поста ти да разбирам, че това правило ще пропусне лошите пакети и няма да ги дропне ако разчитам само на policy-то?

P.S>Продължавам да ровя в нета и да търся информация как работят тези сканирания за да ми се изясни напълно какво се случва....

Предполагам, че няма да се DROP-нат - не знам в детайли как работи state match-a.

За сканирания - виж и за PSD match-a.


Титла: Специфични правила на iptables
Публикувано от: VladSun в Oct 15, 2008, 16:28
Цитат (gat3way @ Окт. 15 2008,16:26)
Добре де какъв е смисъла да пречите на хората да ви сканират портовете и да се опитват да ви правят OS fingerprinting? С това системата няма да стане по-сигурна :)

За да ги TARPIT/MIRROR-ваме :) :p


Титла: Специфични правила на iptables
Публикувано от: gat3way в Oct 15, 2008, 16:58
DNAT --to-destination mvr.bg :)


Титла: Специфични правила на iptables
Публикувано от: KPETEH в Oct 15, 2008, 18:57
ахахахахаха  :D


Титла: Специфични правила на iptables
Публикувано от: tolostoi в Oct 16, 2008, 09:47
Добре де, ако се чудиш дали работи правилото, изпълни си го как си му е реда, и след време, погледни дали нещо мачва на него, примерно

Примерен код
sudo iptables -vL
Chain INPUT (policy DROP 190K packets, 17M bytes)
 pkts bytes target     prot opt in     out     source               destination        
 7252 1144K ACCEPT     all  --  lo     any     anywhere             anywhere            
1189K   93M ACCEPT     all  --  eth1   any     anywhere             anywhere            
 1327  147K ACCEPT     icmp --  any    any     anywhere             anywhere            limit: avg 1/sec burst 5
    0     0 DROP       icmp --  any    any     anywhere             anywhere            
2050K 2852M ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED
  190  9796 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:www state NEW
   14   816 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN limit: avg 1/min burst 2
   10   600 LOG        tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN LOG level warning prefix `SSH brute force'
   10   600 DROP       tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN
...
в колонките pkts и bytes се вижда.


Титла: Специфични правила на iptables
Публикувано от: lod в Oct 21, 2008, 16:59
Цитат (tolostoi @ Окт. 16 2008,10:47)
Добре де, ако се чудиш дали работи правилото, изпълни си го как си му е реда, и след време, погледни дали нещо мачва на него, примерно

Примерен код
sudo iptables -vL
Chain INPUT (policy DROP 190K packets, 17M bytes)
 pkts bytes target     prot opt in     out     source               destination        
 7252 1144K ACCEPT     all  --  lo     any     anywhere             anywhere            
1189K   93M ACCEPT     all  --  eth1   any     anywhere             anywhere            
 1327  147K ACCEPT     icmp --  any    any     anywhere             anywhere            limit: avg 1/sec burst 5
    0     0 DROP       icmp --  any    any     anywhere             anywhere            
2050K 2852M ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED
  190  9796 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:www state NEW
   14   816 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN limit: avg 1/min burst 2
   10   600 LOG        tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN LOG level warning prefix `SSH brute force'
   10   600 DROP       tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN
...
в колонките pkts и bytes се вижда.

0     0 DROP       icmp --  any    any     anywhere             anywhere    

това правило ти е излишно, ако забелязваш, не е hit-нато от нито един пакет.


Титла: Специфични правила на iptables
Публикувано от: tolostoi в Oct 23, 2008, 13:41
Цитат (lod @ Окт. 21 2008,15:59)

0     0 DROP       icmp --  any    any     anywhere             anywhere    

това правило ти е излишно, ако забелязваш, не е hit-нато от нито един пакет.

Не е, не е минало, понеже беше скоро изпълнена стената, сега има хит
Примерен код
iptables -vL
Chain INPUT (policy DROP 697K packets, 59M bytes)
 pkts bytes target     prot opt in     out     source               destination        
28146 5008K ACCEPT     all  --  lo     any     anywhere             anywhere            
3845K  363M ACCEPT     all  --  eth1   any     anywhere             anywhere            
 5004  475K ACCEPT     icmp --  any    any     anywhere             anywhere            limit: avg 1/sec burst 5
  306 25452 DROP       icmp --  any    any     anywhere             anywhere            
7247K 9110M ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED
 1664 88565 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:www state NEW
   47  2808 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN limit: avg 1/min burst 2
   24  1440 LOG        tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN LOG level warning prefix `SSH brute force'
   24  1440 DROP       tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN
16857  971K ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:9999 state NEW
...