- •«Инженерлік-экономикалық» факультеті
- •«Қолданбалы информатика» кафедрасы
- •«Желілік операциялық жүйелер»
- •Пәнінен дәрістік конспектілер
- •Интернетпен байланыс орнату.Интернеттегі қауіпсіздік және деректерді сүзгілеу. Firewall-ды баптау.
- •Интернеттегі адрестеу жүйесі
- •Iptables -f input
- •Iptables -f input
- •Iptables -f input
- •Iptables -f input
- •Linux үшән Apache php MySql локалды серверлерді орнату.-1 сағат
- •1.Apache баптауы
- •2. Рhp баптауы
- •3. Рhpmyadmin баптауы
- •Mysql баптауы
- •Жоспар:
- •1. Торлық ақпараттық жүйе.
- •2. Linuxтiң серверлiк технологиялары
- •3. Серверлік операциондық жүйелер
#!/bin/bash
Iptables -f input
iptables -F OUTPUT
iptables -F FORWARD
#iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
Бұл оңай firewall. Егер сіз ssh бойынша өшірілген машинада жұмыс істесеңіз, доступты жоғалпау үшін 5 және 6 жолды раскомментируйте. 2-3 жол – бұл iptables ережесінің тізбегін өшіру. 7-9 жол - DROP үндеумен (по умолчанию) барлық тізбекке арналған орнатулар (яғни жіберуші хабарламасыз пакеттер өту тыйымы). iptables ережесе мен құрылғысы туралы оқуға болады: http://gazette.lrn.ru/rus/articles/iptables-tutorial.html Ядромен өңделетін барлық пакеттер бірнеше кесте мен тізбектен өтеді. Белгілі операциялар белгілі кестелер мен тізбекпен орындалады. Пакеттердің өту тізімі туралы ақпаратты қарастыруға болады: http://gazette.lrn.ru/rus/articles/iptables-tutorial.html#TRAVERSINGOFTABLES Бізді тек бір кесте қызықтырады,ол – filter. Бұл – үнделген (по умолчанию) кесте , сондықтан кестеге бекітілмеген ережелер filter кестесінде қолданады. Бұл кестеде трафикті фильтрациялау жұргізіледі.Тізбекті белгілеу:
INPUT – желіден келген пакеттер және берілген хостта белгіленген.
OUTPUT – берілген хостта құрылған пакеттер және желіге тапсырылған басқа хосттар.
FORWARD - желіден келген пакеттер және желіге басқа хосттарды тасымалдауға арналған.
Ex.2
#!/bin/bash
Iptables -f input
iptables -F OUTPUT
iptables -F FORWARD
#iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
9,10 жол - Кіріс және шығыс ICMP-пакеттеріне рұқсат ету (көбінесе ping ) 11 жол – Орнатылған байланыстағы tcp-пакеттерінің өту іне рұқсат ету 12 жол - tcp-байланыстағы орнатылған пакеттердің өтуіне және жаңа tcp-байланыстағы пакеттер үшін рұқсат ету. 13,14 жол - UDP протоколына ұқсастық Берілген мысалда пакеттердің өтуінің шешім қабылдауға арналған байланыс қадамдары қарастырылған. Байланыстардың қадам механизмі туралы: http://gazette.lrn.ru/rus/articles/iptables-tutorial.html#STATEMACHINE
Ex.2-де желідегі кез келген хост үшін TCP/UDP байланысын құруға арналған firewall қарастырылған және кіріс байланыстарын қабылдауға мүмкіндік бермейді. Күрделі протоколдар, мысалы FTP, ядродан қатал поддержканы талап етеді.
Кіріс байланыстарға рұқсат ету
Скриптке қажет кіріс TCP-байланысқа рұқсат беру үшін мына жолды енгізу керек: iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT Бұл жағдайда 20 портқа доступ беріледі. (оған http-серверде кіреді)
Маршрутизация - негіздері
Маршрутизацияны баптау кезінде келесілерді ескеру керек:
Маршрутизацияны баптау керек: маршрутизаторда, байланысты қабылдаутын хосттарда, байланысты инициализациялайтын хосттарда, яғни 3 орында.
Егер байланысты қабылдайтын хосттарда маршрутизацияны баптау мүмкін емес болса - NAT қолдану керек
ip желішелер арасына маршрутизация орындалады. Кез келген 4 версиялы (IPv4) IP стандарттағы іp-адрес 4-х байттан тұрады және шартты түрде желі және хост номеріне бөлінеді. Маршрутизация әртүрлі номердегі желілер арасында жүргізілуі мүмкін.
Желіше маскасы (netmask) ip-пакет тақырыбында тасымалданбайды. Желіше маскасы тек хост аймағында болады.
Әр түрлі параметрлерді есептеу үшін ipcalc қолданылады:
ipcalc 192.168.1.66/26
Address: 192.168.1.66 11000000.10101000.00000001.01 000010
Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111
=>
Network: 192.168.1.64/26 11000000.10101000.00000001.01 000000
HostMin: 192.168.1.65 11000000.10101000.00000001.01 000001
HostMax: 192.168.1.126 11000000.10101000.00000001.01 111110
Broadcast: 192.168.1.127 11000000.10101000.00000001.01 111111
Hosts/Net: 62 Class C, Private Internet
ipcalc 192.168.1.3/26
Address: 192.168.1.3 11000000.10101000.00000001.00 000011
Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111
=>
Network: 192.168.1.0/26 11000000.10101000.00000001.00 000000
HostMin: 192.168.1.1 11000000.10101000.00000001.00 000001
HostMax: 192.168.1.62 11000000.10101000.00000001.00 111110
Broadcast: 192.168.1.63 11000000.10101000.00000001.00 111111
Hosts/Net: 62 Class C, Private Internet
Берілген мысалда хост 192.168.1.66 желіше маскасы орнатылған 26 (255.255.255.192) № 192.168.1.64желіге жатады және 2 номері бар. Ал хост 192.168.1.3 сондай желіше маскасы 192.168.1.0 номеріне жатады және оған3 номерімен кіреді. /26 әр желіше (255.255.255.192) 62 хосттан тұрады. Хосты 192.168.1.66 и 192.168.1.3 можно располагать по разные стороны маршрутизаторды әр жағына орналастыруға болады және олардың арасына маршрутизацияны баптауға болады.
Кері мысал:
ipcalc 192.168.2.1/21
Address: 192.168.2.1 11000000.10101000.00000 010.00000001
Netmask: 255.255.248.0 = 21 11111111.11111111.11111 000.00000000
Wildcard: 0.0.7.255 00000000.00000000.00000 111.11111111
=>
Network: 192.168.0.0/21 11000000.10101000.00000 000.00000000
HostMin: 192.168.0.1 11000000.10101000.00000 000.00000001
HostMax: 192.168.7.254 11000000.10101000.00000 111.11111110
Broadcast: 192.168.7.255 11000000.10101000.00000 111.11111111
Hosts/Net: 2046 Class C, Private Internet
ipcalc 192.168.4.1/21
Address: 192.168.4.1 11000000.10101000.00000 100.00000001
Netmask: 255.255.248.0 = 21 11111111.11111111.11111 000.00000000
Wildcard: 0.0.7.255 00000000.00000000.00000 111.11111111
=>
Network: 192.168.0.0/21 11000000.10101000.00000 000.00000000
HostMin: 192.168.0.1 11000000.10101000.00000 000.00000001
HostMax: 192.168.7.254 11000000.10101000.00000 111.11111110
Broadcast: 192.168.7.255 11000000.10101000.00000 111.11111111
Hosts/Net: 2046 Class C, Private Internet
</ou>
Бұл жағдайда 192.168.0.0 бір желіде 2049 хосттар мөлшерімен орналасқан. Олардың арасындағы "нормалді" маршрутизация мүмкін емес.
Мысалға көзге үйренген Возьмем диапазондағы адресті алайық: 192.168.1.0/24 (255.255.255.0) и 192.168.2.0/24 (255.255.255.0) – әр қайсысында 254 түйін. Мысалы маршрутизаторда 192.168.1.1 немесе 192.168.2.1 адресті екі желілік карта бар. Желіше арасында маршрутизация жұмыс істеуі үшін баптауларды жүргізу керек:
Желідегі хостта 192.168.1.0/24 – желіге маршрут жазу 192.168.2.0/24 через 192.168.1.1 – мысалы linux-та : ip route add 192.168.2.0/24 via 192.168.1.1
Маршрутизаторда маршрутизация пакетіне рұқсат беру: echo 1 > /proc/sys/net/ipv4/ip_forward – жолды скриптке қосу керек
firewall арқылы маршрутизаторда маршрутизация пакеттерінің өтуіне рұқсат беру
Маршрутизатор арқылы өтетін пакеттер FORWARD тізбегіне түседі.
Ex.3