Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.97 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. ##############################################################################
  4.  
  5.  
  6.  
  7. # Nazwa i lokalizacja programu
  8.  
  9. IPTABLES=iptables
  10.  
  11.  
  12.  
  13. # Sciezka do pliku wykonywlanego
  14.  
  15. PATH="/usr/sbin"
  16.  
  17.  
  18.  
  19. # Adres serwera - naszego kompa
  20.  
  21.  
  22.  
  23. SERWER="192.168.0.3"
  24.  
  25.  
  26.  
  27. # Adres komputera z ktorego logujemy sie jako admin :)
  28.  
  29.  
  30.  
  31. KOMP="192.168.0.10"
  32.  
  33.  
  34.  
  35. # Przestrzen adresowa naszej sieci wewnetrzenej i karta ja obslugujaca
  36.  
  37.  
  38.  
  39. WEW_NET="192.168.0.1/28"
  40.  
  41. WEW_DEV="eth0"
  42.  
  43.  
  44.  
  45. # Adres wyjsciowy - zewnetrzny i karta obslugujaca
  46.  
  47.  
  48.  
  49. ZEW_NET="0/0"   # 0/0 wskazuje jakikolwiek adres IP
  50.  
  51. ZEW_DEV="eth1"
  52.  
  53.  
  54.  
  55. # Uslugi TCP,ktore chcemy przepuszczac - "" puste oznacza wszystkie porty
  56.  
  57. # kolejne oddzielamy przecinkami
  58.  
  59.  
  60.  
  61. TCP_IN="www,ssh,ftp-data,ftp"           # 80,22,20,21
  62.  
  63. TCP_OUT="www,ftp,ftp-data,irc,ssh"      # 80,21,20, ,22
  64.  
  65.  
  66.  
  67.  
  68.  
  69. # Uslugi UDP,ktore przepuszczamy - "" puste oznacza wszytskie porty
  70.  
  71. # kolejne oddzielone przecinkami
  72.  
  73.  
  74.  
  75. UDP_IN="443,465,995"
  76.  
  77. UDP_OUT=""
  78.  
  79.  
  80.  
  81. # Uslugi ICMP, ktore chcemy przepuszczac - "" puste oznacza wszystkie typy
  82.  
  83. # kolejne oddzielone przecinkami
  84.  
  85.  
  86.  
  87. ICMP_IN=""
  88.  
  89. ICMP_OUT=""
  90.  
  91.  
  92.  
  93. #################################################################################
  94.  
  95.  
  96.  
  97. # Usuwamy poprzednie reguly
  98.  
  99.  
  100.  
  101. $IPTABLES -F INPUT
  102.  
  103. $IPTABLES -F FORWARD
  104.  
  105. $IPTABLES -F OUTPUT
  106.  
  107.  
  108.  
  109. # Ustawienie domyslnej polityki
  110.  
  111.  
  112.  
  113. $IPTABLES -P INPUT DROP
  114.  
  115. $IPTABLES -P OUTPUT ACCEPT  # akceptujemy wszystko co od nas wychodzi
  116.  
  117. $IPTABLES -P FORWARD DROP
  118.  
  119.  
  120.  
  121.  
  122.  
  123. # Zapisujemy caly nasz ruch w logach
  124.  
  125.  
  126.  
  127. $IPTABLES -A INPUT -j LOG -m limit --limit 15/hor              # 15 logów na godzine
  128.  
  129. $IPTABLES -A OUTPUT -j LOG -m limit --limit 15/hour
  130.  
  131. $IPTABLES -A FORWARD -j LOG -m limit --limit 15/hour
  132.  
  133.  
  134.  
  135. # Ladujemy mozliwosc sledzenia polaczen
  136.  
  137.  
  138.  
  139. modprobe ip_conntarck
  140.  
  141. modprobe ip_conntarck_ftp
  142.  
  143.  
  144.  
  145. # Wylaczamy odpowiedzi na pingi
  146.  
  147.  
  148.  
  149.     #echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
  150.  
  151.  
  152.  
  153. # Ochrona przed atakami typu Smurf
  154.  
  155.  
  156.  
  157. echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  158.  
  159.  
  160.  
  161. # Wlaczamy ochrone przed komunikacja ICMP error
  162.  
  163.  
  164.  
  165. echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
  166.  
  167.  
  168.  
  169. # Wlacza logowanie dziwnych pakietow (spoofed. source routed. redirects)
  170.  
  171.  
  172.  
  173. echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
  174.  
  175.  
  176.  
  177. # Nie akceptujemy datagramu IP z opcja "source route"
  178.  
  179.  
  180.  
  181. echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
  182.  
  183.  
  184.  
  185. # Nie przyjmujemy pakietow ICMP redict, ktore moga zmienic nasza tablice routingu
  186.  
  187.  
  188.  
  189. echo "0" /proc/sys/net/ipv4/conf/all/accept_redirects
  190.  
  191.  
  192.  
  193. # Wszystkie karty nie beda przyjmowaly pakietow z sieici innych niz te
  194.  
  195. # z tablicy routingu
  196.  
  197.  
  198.  
  199. echo "1" /proc/sys/net/ipv4/conf/all/rp_filter
  200.  
  201.  
  202.  
  203.  
  204.  
  205. # Pozwalamy pakietom biegac po naszym komputerze
  206.  
  207. # czyli odblokowujemy petle zwrotna LOOPBACK
  208.  
  209.  
  210.  
  211. $IPTABLES -A INPUT -i lo -j ACCEPT
  212.  
  213. $IPTABLES -A OUTPUT -o lo -j ACCEPT
  214.  
  215.  
  216.  
  217. # Pozwalamy na korzstanie z protokolow w trybie passive on
  218.  
  219.  
  220.  
  221. $IPTABLES -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
  222.  
  223.  
  224.  
  225. # Pozwalamy na pingowanie nas i innych (opcje te zadzialaja jezli nie wylaczymy
  226.  
  227. # pingowania) patrz wyzej
  228.  
  229.  
  230.  
  231.     #$IPTABLES -A INPUT -p icmp -s 0/0 -d 0/0 -j ACCEPT
  232.  
  233.     #$IPTABLES -A OUTPUT -p icmp -s 0/0 -d 0/0 -j ACCEPT
  234.  
  235.  
  236.  
  237. $IPTABLES -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT # tylko my mozemy pingowac
  238.  
  239.  
  240.  
  241. # Odblokowujemy uslugi na serwerze dla innych przychodzacych z zewnatrz
  242.  
  243.  
  244.  
  245. #$IPTABLES -A INPUT -p tcp -s 0/0 --dport 20:22 -j ACCEPT # czyli ftp-data,ftp,ssh,
  246.  
  247. #$IPTABLES -A INPUT -p tcp  -s 0/0 --dport 80 -j ACCEPT # czyli www
  248.  
  249. #$IPTABLES -A INPUT -p udp -s 0/0 --dport 20:22 -j ACCEPT # czyli ftp-data,ftp,ssh,
  250.  
  251.  
  252.  
  253. $IPTABLES -A INPUT -p tcp -s 0/0 --sport 20:22 -j ACCEPT # czyli ftp-data,ftp,ssh,
  254.  
  255. $IPTABLES -A INPUT -p tcp  -s 0/0 --sport 80 -j ACCEPT # czyli www
  256.  
  257. $IPTABLES -A INPUT -p udp -s 0/0 --sport 20:22 -j ACCEPT # czyli ftp-data,ftp,ssh,
  258.  
  259.  
  260.  
  261. $IPTABLES -A INPUT -p tcp -s 0/0 --dport 113 -j ACCEPT # identyfikacja
  262.  
  263.  
  264.  
  265. $IPTABLES -A INPUT -p udp -s 0/0 --dport 1025:1100 -j ACCEPT # dla hotha
  266.  
  267.  
  268.  
  269. # Odblokowujemy uslugi na sewerze dla danego adresu IP - KOMP patrz wyzej definicje TCP_IN, UDP_IN
  270.  
  271.  
  272.  
  273.     #$IPTABLES -A INPUT -p tcp -s $KOMP -m multiport --dport $TCP_IN  -j ACCEPT # protokol tcp
  274.  
  275.     #$IPTABLES -A INPUT -p udp -s $KOMP -m multiport --dport $UDP_IN -j ACCEPT # protokol udp
  276.  
  277.  
  278.  
  279.     #$IPTABLES -A INPUT -p udp -s $KOMP --dport 137:139 -j ACCEPT # protokol udp
  280.  
  281.  
  282.  
  283. # Zezwalamy na wszystko z danego adresu IP – administracja z tego adresu J
  284.  
  285.  
  286.  
  287. $IPTABLES -A INPUT -s $KOMP -j ACCEPT  # dlatego powyższe reguly sa wylaczone
  288.  
  289.  
  290.  
  291.  
  292.  
  293. # dostep do DNS
  294.  
  295.  
  296.  
  297. $IPTABLES -A INPUT -p tcp -s 0/0 --sport 53 -d $SERWER  -j ACCEPT
  298.  
  299. $IPTABLES -A INPUT -p udp -s 0/0 --sport 53 -d $SERWER -j ACCEPT
  300.  
  301.  
  302.  
  303.     #$IPTABLES -A OUTPUT -p tcp -s $SERWER -d 0/0 --dport 53 -j ACCEPT
  304.  
  305.     #$IPTABLES -A OUTPUT -p udp -s $SERWER -d 0/0 --dport 53 -j ACCEPT
  306.  
  307.  
  308.  
  309.  #mozna i tak
  310.  
  311.          
  312.  
  313. $IPTABLES –A INPUT –s 213.173.209.70 –j ACCEPT  # DNSy tele2 J
  314.  
  315. $IPTABLES –A INPUT –s 213.173.209.71–j ACCEPT
  316.  
  317.  
  318.  
  319. # Teraz troche się pozamykamy J
  320.  
  321. # Pakiety z adresem zrodlowym ustawionym na nasz
  322.  
  323.  
  324.  
  325. $IPTABLES -A INPUT -i $WEW_DEV -s $SERWER -j DROP               # atak Land
  326.  
  327.  
  328.  
  329. # Pakiety z adresow nierutowlanych, multicast i zarezerwowanych
  330.  
  331.  
  332.  
  333. $IPTABLES -A INPUT -i $WEW_DEV -s 10.0.0.0/8 -j DROP            #class A
  334.  
  335. $IPTABLES -A INPUT -i $WEW_DEV -s 172.16.0.0/12 -j DROP         #class B
  336.  
  337. #$IPTABLES -A INPUT -i $WEW_DEV -s 192.168.0.0/16 -j DROP       #class C - z tego korzystamy
  338.  
  339. $IPTABLES -A INPUT -i $WEW_DEV -s 224.0.0.0/4 -j DROP           #multicast
  340.  
  341. $IPTABLES -A INPUT -i $WEW_DEV -d 224.0.0.0/4 -j DROP           #multicast
  342.  
  343. $IPTABLES -A INPUT -i $WEW_DEV -s 240.0.0.0/5 -j DROP           #reserved
  344.  
  345. $IPTABLES -A INPUT -i $WEW_DEV -s 127.0.0.0/5 -j DROP           #lo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement