Управление на tcp/ip трафик под Linux


Глава 3 3. Създаване и управление на защитна стена



страница4/4
Дата26.12.2017
Размер0.84 Mb.
#37603
1   2   3   4
Глава 3

3. Създаване и управление на защитна стена.

3.1 Системни изисквания

Поради факта, че защитната стена ще бъде стартирана върху основният сървър изискванията към хардуера са завишени.

Процесор : минимум Pentium II 500 Mhz

Системна памет : минимум 128 Mb

Операционна система : Linux Slackware 9.1 kernel 2.4.22 или по-висока версия

Хард дисково пространство : минимум 5 Gb

Кеш диск на Linux : минимум 300 Mb

Мрежова платка : минимум 100 Мbit


3.2. Проверка и инсталиране на скриптовете за защитната стена

За да се стартира автоматично след зареждане на операционната система скрипта трябва да се намира в /etc/rc.d/rc.firewall (в тази директория се намират всички стартови скриптове).След като скрипта е преименуван и преместен в директорията /etc/rc.d тои може да бъде стартиран с командата ./etc/rc.d/rc.firewall start|stop|restart.Ако няма съобштения за грешка можем с командата iptables –L –n –v да визуализираме въведените от скрипта правила в iptables.



#iptables – L –n –v





с командата

iptables –I 1 FORWARD –s 10.100.100.99 –j DROP

спираме трафика на хост с IP 10.100.100.99 (може да се замени

с произволно IP от нашата подмрежа)

Възстановяването на трафика към хоста става с командата



iptables –D FORWARD –s 10.100.100.99 –j DROP

Спирането на трафика на цялата подмрежа става с командата



iptables –I 1 FORWARD –i eth1 –j DROP

Възстановяването на трафика към подмрежата става с командата



iptables –D FORWARD –i eth1 –j DROP
Приложение 1

Скриптове
#!/bin/bash

# iptables, by DreamTeam

# description: Script for setting IPTABLES rules

# processname: iptables

#========================================================

# Network information you will need to adjust

MYDEV="eth1"

MYNET="10.100.100.0/24"

MYBCAST="10.100.100.255"

DKDEV="eth0"
# Pathnames

DMESG="/bin/dmesg"

IPTABLES="iptables"

MODPROBE="/sbin/modprobe"



#========================================================

# start stop restart menu

case "$1" in

'stop')


echo "Stop the Firewall"

$IPTABLES -F

$IPTABLES -t nat -F

$IPTABLES -P FORWARD DROP

$IPTABLES -P INPUT DROP

$IPTABLES -P OUTPUT DROP



exit 0

;;

'restart')



echo "Restart firewall"

$0 stop


exec $0 start

exit 0

;;

'start')



echo "Start FIREWALL"

;;

*)



echo "usage $0 start|stop|restart" ;;

esac

#========================================================

# Insert modules- should be done automatically if needed

dmesg -n 1 #Kill copyright display on module load

/sbin/modprobe ip_tables

/sbin/modprobe iptable_filter

/sbin/modprobe ip_conntrack

/sbin/modprobe ip_conntrack_ftp



#

## Flush everything, start from scratch

#

# Incoming packets from the outside network

$IPTABLES -F INPUT



# Outgoing packets from the internal network

$IPTABLES -F OUTPUT



# Forwarding/masquerading

$IPTABLES -F FORWARD

$IPTABLES -F FORWARD2

#Nat table

$IPTABLES -t nat -F



##Setup sysctl controls which affect tcp/ip

#

#Disabling IP Spoofing attacks.

#Comment this line out when using IPSEC

echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter


#Don't respond to broadcast pings

echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts



#Defragment all Packets

#Default now
#Enable forwarding

echo 1 >/proc/sys/net/ipv4/ip_forward


#Block source routing

echo 0 >/proc/sys/net/ipv4/conf/all/accept_source_route


#Kill timestamps. These have been the subject of a recent bugtraq thread

echo 0 > /proc/sys/net/ipv4/tcp_timestamps


#Enable SYN Cookies

echo 1 > /proc/sys/net/ipv4/tcp_syncookies


#Kill redirects

echo 0 >/proc/sys/net/ipv4/conf/all/accept_redirects


#Enable bad error message protection

echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses


#Allow dynamic ip addresses

echo "1" > /proc/sys/net/ipv4/ip_dynaddr


#Log martians (packets with impossible addresses)

#RiVaL said that certain NICs don't like this. Comment #out if necessary.

echo 1 >/proc/sys/net/ipv4/conf/all/log_martians


#Set out local port range

echo "32768 61000" >/proc/sys/net/ipv4/ip_local_port_range


#Reduce DoS'ing ability by reducing timeouts

echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time

echo 1 > /proc/sys/net/ipv4/tcp_window_scaling

echo 0 > /proc/sys/net/ipv4/tcp_sack

echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog



#========================================================

##Set basic rules

#Kill ANY stupid packets, including

#-Packets that are too short to have a full ICMP/UDP/TCP #header

#-TCP and UDP packets with zero (illegal) source and #destination ports

#-Illegal combinations of TCP flags

#-Zero-length (illegal) or over-length TCP and IP #options,

#or options after the END-OF-OPTIONS option

#-Fragments of illegal length or offset (e.g., Ping of #Death).

#Tuk se deklarira novat veriga Forward2

$IPTABLES -N FORWARD2



#This has been found to be a little buggy. Removed for #now.

$IPTABLES -A INPUT -m unclean -j DROP

$IPTABLES -A FORWARD2 -m unclean -j DROP
#Kill invalid packets (illegal combinations of flags)

$IPTABLES -A INPUT -m state --state INVALID -j DROP

$IPTABLES -A FORWARD2 -m state --state INVALID -j DROP
# Allow all connections on the internal interface

$IPTABLES -A INPUT -i lo -j ACCEPT


#Kill connections to the local interface from the outside #world.

$IPTABLES -A INPUT -d 127.0.0.0/8 -j REJECT


#Allow unlimited traffic from internal network using #legit addresses

$IPTABLES -A INPUT -i $MYDEV -s $MYNET -j ACCEPT


#Razre6ava unlimited trafik na vhoda za UDP

$IPTABLES -A INPUT -i $DKDEV -p udp -j ACCEPT


#Kill anything from outside claiming to be from internal #network

$IPTABLES -A INPUT -i $DKDEV -s $MYNET -j REJECT


##ICMP

#ping don't forward pings going inside

$IPTABLES -A FORWARD2 -p icmp --icmp-type echo-request -o $MYDEV -j REJECT



#ping flood protection

$IPTABLES -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j DROP

#Deny icmp to broadcast address

$IPTABLES -A INPUT -p icmp -d $MYBCAST -j DROP



#Allow all other icmp

$IPTABLES -A INPUT -p icmp -j ACCEPT


##Allow established connections

$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


#Samba Share

$IPTABLES -A INPUT -p tcp --dport 137 -j ACCEPT

$IPTABLES -A INPUT -p udp --dport 137 -j ACCEPT

$IPTABLES -A INPUT -p tcp --dport 138 -j ACCEPT

$IPTABLES -A INPUT -p udp --dport 138 -j ACCEPT

$IPTABLES -A INPUT -p tcp --dport 139 -j ACCEPT

$IPTABLES -A INPUT -p udp --dport 139 -j ACCEPT
#Allow ALL other forwarding going out

$IPTABLES -A FORWARD2 -o $DKDEV -i $MYDEV -j ACCEPT


#Allow replies coming in

$IPTABLES -A FORWARD2 -i $DKDEV -m state --state ESTABLISHED,RELATED -j ACCEPT


#Allow nameserver packets. Different versions of #iptables seem to error here.

$IPTABLES -A INPUT -p udp --sport 53 -j ACCEPT


#FRom here on, we're dealing with connection attempts.

#The -m limit is a DoS protection on connects

#First we allow a certain amount of connections per #second

#DROP the rest (so we don't DoS ourself with rejections)

#We don't limit normal packets (!syn) by allowing the #rest

##Basic services. Uncomment to allow in.

# ftp-data

$IPTABLES -A INPUT -p tcp --dport 20 -j ACCEPT



# ftp

$IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT



# ssh

$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT



#telnet

$IPTABLES -A INPUT -p tcp -i $MYDEV --dport 23 -j ACCEPT


# DNS

$IPTABLES -A INPUT -p tcp --dport 53 -j ACCEPT

$IPTABLES -A INPUT -p udp --dport 53 -j ACCEPT

# http

$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT


#Traceroutes depend on finding a rejected port. DROP the #ones it uses

$IPTABLES -A INPUT -p udp --dport 33434:33523 -j DROP


#Don't log ident because it gets hit all the time eg #connecting to an irc server

$IPTABLES -A INPUT -p tcp --dport 113 -j REJECT


#Don't log igmp. Some people get too many of these

$IPTABLES -A INPUT -p igmp -j REJECT


#Don't log web or ssl because people surfing for long #times lose connection

#tracking and cause the system to create a new one, #flooding logs.

$IPTABLES -A INPUT -p tcp --dport 80 -j REJECT

$IPTABLES -A INPUT -p tcp --dport 443 -j REJECT
##Catch all rules.

#iptables reverts to these if it hasn't matched any of #the previous rules.

#Log. There's no point logging noise. There's too much #of it.

#Just log connection requests

$IPTABLES -A INPUT -p tcp --syn -m limit --limit 5/minute -j LOG \

--log-prefix "Firewalled packet:"

$IPTABLES -A FORWARD2 -p tcp --syn -m limit --limit 5/minute -j LOG \

--log-prefix "Firewalled packet:"

#Reject

$IPTABLES -A INPUT -p tcp -j REJECT --reject-with tcp-reset

$IPTABLES -A INPUT -p all -j DROP
$IPTABLES -A FORWARD2 -p tcp -j REJECT --reject-with tcp-reset

$IPTABLES -A FORWARD2 -p all -j DROP


#Accept it anyway if it's only output

$IPTABLES -A OUTPUT -j ACCEPT



#tova sa pravila za hostovete koito suotvetstvat #na verigata FORWARD2

$IPTABLES -A FORWARD -s 10.100.100.99 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.99 -j FORWARD2
$IPTABLES -A FORWARD -s 10.100.100.100 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.100 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.101 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.101 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.102 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.102 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.103 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.103 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.104 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.104 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.105 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.105 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.106 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.106 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.107 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.107 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.108 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.108 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.109 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.109 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.110 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.110 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.111 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.111 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.112 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.112 -j FORWARD2


$IPTABLES -A FORWARD -s 10.100.100.113 -j FORWARD2

$IPTABLES -A FORWARD -d 10.100.100.113 -j FORWARD2



#====================================================

#Masquerade internal connections going out.

$IPTABLES -A POSTROUTING -t nat -o $DKDEV -j SNAT --to-source 10.100.12.57



exit 0
Използвана литература

  1. A Guide to Networking for The OSI Seven-Layer Model – Марк Грънч – изд. Penwin 2001

  1. Firewall - Webopedia Definition and Links – Internet източник– Internet източник-www.webopedia.com/firewalls

  2. Firewall and Ргоxу Server HOWTO Advanced Configurations– Internet източник – www.linux.org/how-to’s

  3. Firewall and Ргоxу Server HOWTO APPENDEX A - Example Scripts– Internet източник - www.linux.org/how-to’s

  4. Firewall and Ргоxу Server HOWTO Firewall Architecture– Internet източник - www.linux.org/how-to’s

  5. Firewall and Ргоxу Server HOWTO IP filtering setup (IPFWADM) – Internet източник www.xos.de

  6. Firewall and Ргоxу Server HOWTO Preparing the Linux system– Internet източник - www.linux.org/how-to’s

  7. Firewall and Ргоxу Server HOWTO Setting up the Linux Filtering Firewall– Internet източник - www.linux.org/how-to’s

  8. Firewall and Ргоxу Server HOWTO Understanding Firewalls– Internet източник - www.linux.org/how-to’s

  9. FishNet Security - Security Information - Firewall - Types– Internet източник - www.linux.org/how-to’s

  10. Internet Firewalls Frequently Asked Questions– Internet източник - www.linux.org/how-to’s

  11. Linux ръководство на межовия администратор- O’REILLY

  12. Linux мрежови сървъри – Craig Hunt

13.www.linux-bg.org – internet източник

СЪДЪРЖАНИЕ
Увод 3

­

ПЪРВА ГЛАВА

1. Основи на мрежите. Протоколен стек TCP/IP. 7

1.1. Седемслоен мрежов модел ISO/OSI 7

1.1.1 Определяне на слоевете 7

1.1.2 Последователност на съобщенията 8

1.1.3. Дефиниция на седемслойният мрежов модел 9

1.1.4 Увеличаване на пропускливостта 13

1.1.5 Управление на потока от данни 14

1.2. TCP/IP протоколен стек. 17

1.2.1 Набор от протоколи TCP/IP 18

1.2.2. Протоколен стек TCP/IP 20

1.2.3. Адресиране на пакети в TCP/IP 22

1.2.4. Термини за ТСР/IР 23

1.2.5. Протоколите и работата им с данните 25

1.2.6. Протоколи на транспортния слой 26

1.2.7. Протоколи на мрежовия слой 27

1.2.8. Протоколи на каналния слой 31

1.2.9. Други важни протоколи 32

ВТОРА ГЛАВА

2. Методи за анализ и контрол на IP трафика 35

2.1. Хардуерен метод за анализ и контрол на

IP трафика 35

2.1.1. Определение за маршрутизация 35

2.1.2. Методи за маршрутизация 37

2.1.3. Маршрутизатор 38

2.2 Софтуерни методи за анализ и контрол на

IP трафика 40


2.2.1 Защитни стени в Internet 40

2.2.2 Видове защитни стени 40


2.2.2.1 Защитна стена с филтриране на пакетите 40

2.2.2.2 Цикличен гейтуей. 42

2.2.2.3 Гейтуей на приложно ниво. 44

2.2.2.4 Защитна стена с проверка на състоянието 46

2.3 Налични средства в операционна система

Linux за управление и анализ на IP трафика 47

ГЛАВА 3

3. Създаване и управление на защитна стена. 81

3.1 Системни изисквания 81

    1. Проверка и инсталиране на скриптовете

за защитната стена 81

Приложение 1 84

Използвана литература 90

Съдържание 91



Каталог: files -> files
files -> Р е п у б л и к а б ъ л г а р и я
files -> Дебелината на армираната изравнителна циментова замазка /позиция 3/ е 4 см
files -> „Европейско законодателство и практики в помощ на добри управленски решения, която се състоя на 24 септември 2009 г в София
files -> В сила oт 16. 03. 2011 Разяснение на нап здравни Вноски при Неплатен Отпуск ззо
files -> В сила oт 23. 05. 2008 Указание нои прилагане на ксо и нпос ксо
files -> 1. По пътя към паметник „1300 години България
files -> Георги Димитров – Kreston BulMar
files -> В сила oт 13. 05. 2005 Писмо мтсп обезщетение Неизползван Отпуск кт


Сподели с приятели:
1   2   3   4




©obuch.info 2024
отнасят до администрацията

    Начална страница