Kompiuterių tinklai UDP, NAT, SOCKS

Similar documents
Kompiuterių tinklai. IPv6 ir tuneliai

El. pašto konfigūravimas

Packet Capturing with TCPDUMP command in Linux

Trumpai-ilga istorija

CIS-331 Fall 2013 Exam 1 Name: Total of 120 Points Version 1

CIS-331 Exam 2 Fall 2015 Total of 105 Points Version 1

CIS-331 Final Exam Spring 2015 Total of 115 Points. Version 1

Firewalls. Content. Location of firewalls Design of firewalls. Definitions. Forwarding. Gateways, routers, firewalls.

CIS-331 Spring 2016 Exam 1 Name: Total of 109 Points Version 1

CIS-331 Exam 2 Spring 2016 Total of 110 Points Version 1

Introduction to Firewalls using IPTables

CIS-331 Fall 2014 Exam 1 Name: Total of 109 Points Version 1

WWW aplikacijų saugumas 2

Network Interconnection

TCP /IP Fundamentals Mr. Cantu

Written by Muhammad Kamran Azeem Wednesday, 02 July :48 - Last Updated Saturday, 25 December :45

CIS-331 Final Exam Fall 2015 Total of 120 Points. Version 1

Firewalls. Firewall. means of protecting a local system or network of systems from network-based security threats creates a perimeter of defense

ECE435: Network Engineering Homework 5 TCP. Due: Thursday, 18 October 2018, 3:30pm

THE INTERNET PROTOCOL/1

! ' ,-. +) +))+, /+*, 2 01/)*,, 01/)*, + 01/+*, ) 054 +) +++++))+, ) 05,-. /,*+), 01/-*+) + 01/.*+)

8/19/2010. Computer Forensics Network forensics. Data sources. Monitoring

Firewalls N E T W O R K ( A N D D ATA ) S E C U R I T Y / P E D R O B R A N D Ã O M A N U E L E D U A R D O C O R R E I A

C programavimo kalba. 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() )

CIS-331 Exam 2 Fall 2014 Total of 105 Points. Version 1

Lesson 5 TCP/IP suite, TCP and UDP Protocols. Chapter-4 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Parengė ITMM Artūras Šakalys 1

Packet Header Formats

TCP/IP Filtering. Main TCP/IP Filtering Dialog Box. Route Filters Button. Packet Filters Button CHAPTER

Kas yra masyvas? Skaičių masyvo A reikšmės: Elementų indeksai (numeriai): Užrašymas Turbo Paskaliu: A[1] A[2] A[3] A[4] A[5]

ECE 435 Network Engineering Lecture 23

I TCP 1/2. Internet TA: Connection-oriented (virtual circuit) Connectionless (datagram) (flow control) (congestion control) TCP Connection-oriented

THE INTERNET PROTOCOL INTERFACES

Redis Ma as, greitas, galingas. Specialiai VilniusPHP

Support for policy-based routing applies to the Barracuda Web Security Gateway running version 6.x only.

Computer Security Spring Firewalls. Aggelos Kiayias University of Connecticut

The Internet Protocol

CIS-331 Final Exam Spring 2018 Total of 120 Points. Version 1

CS615 - Aspects of System Administration

Programinio kodo saugumas

while the LAN interface is in the DMZ. You can control access to the WAN port using either ACLs on the upstream router, or the built-in netfilter

Review of Important Networking Concepts. Recall the Example from last lecture

KOMPIUTERIŲ TINKLAI. 5 paskaita Tinklo lygmuo, IP protokolas

sottotitolo A.A. 2016/17 Federico Reghenzani, Alessandro Barenghi

Interconnecting Networks with TCP/IP

Cisco PCP-PNR Port Usage Information

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Università Ca Foscari Venezia

Certification. Securing Networks

JAVA pagrindai Lek. Liudas Drejeris

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

Introduction to TCP/IP networking

Pasirenkamojo modulio kūrybinio darbo atlikimas ir vertinimas

Configure the ASA for Dual Internal Networks

Mediant MSBR. Version 6.8. Security Setup. Configuration Guide. Version 6.8. AudioCodes Family of Multi-Service Business Routers (MSBR)

Elektroninis.lt šakninių sertifikatų diegimas

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

The Internet Protocol (IP)

Firewalls and NAT. Firewalls. firewall isolates organization s internal net from larger Internet, allowing some packets to pass, blocking others.

Layer 4: UDP, TCP, and others. based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers

CSE/EE 461 Lecture 13 Connections and Fragmentation. TCP Connection Management

Layered Networking and Port Scanning

OSI Transport Layer. objectives

Web Server ( ): FTP, SSH, HTTP, HTTPS, SMTP, POP3, IMAP, POP3S, IMAPS, MySQL (for some local services[qmail/vpopmail])

CIS-331 Final Exam Spring 2016 Total of 120 Points. Version 1

Configuration Note Capturing Traffic on MSBR

Agenda L2 versus L3 Switching IP Protocol, IP Addressing IP Forwarding ARP and ICMP IP Routing First Hop Redundancy

Networking Fundamentals

FOCUS on Intrusion Detection: Intrusion Detection Level Analysis of Nmap and Queso Page 1 of 6

NT1210 Introduction to Networking. Unit 10

Dongsoo S. Kim Electrical and Computer Engineering Indiana U. Purdue U. Indianapolis

Linux. Sirindhorn International Institute of Technology Thammasat University. Linux. Firewalls with iptables. Concepts. Examples

Come to the TypeScript

Interconnecting Cisco Networking Devices Part 1 (ICND1) Course Overview

K2289: Using advanced tcpdump filters

Review of Important Networking Concepts

Introduction to routing in the Internet

Introduction to internetworking, OSI, TCP/IP and Addressing.

Network and Security: Introduction

TCP/IP Networking. Training Details. About Training. About Training. What You'll Learn. Training Time : 9 Hours. Capacity : 12

Introduction TELE 301. Routers. Firewalls. Gateways. Sample Large Network

Module: Firewalls. Professor Patrick McDaniel Fall CSE543 - Introduction to Computer and Network Security

Chapter 5 Network Layer

(ICMP), RFC

App. App. Master Informatique 1 st year 1 st term. ARes/ComNet Applications (7 points) Anonymous ID: stick number HERE

How to use IP Tables

CS615 - Aspects of System Administration

A quick theorical introduction to network scanning. 23rd November 2005

Some of the slides borrowed from the book Computer Security: A Hands on Approach by Wenliang Du. Firewalls. Chester Rebeiro IIT Madras

EE 610 Part 2: Encapsulation and network utilities

ECE 435 Network Engineering Lecture 23

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

IK2206 Internet Security and Privacy Firewall & IP Tables

Network Address Translation (NAT) Contents. Firewalls. NATs and Firewalls. NATs. What is NAT. Port Ranges. NAT Example

Review of Important Networking Concepts TCP/IP

Internetworking models

Mediant MSBR. Version 6.8. Security Setup. Configuration Guide. Version 7.2. AudioCodes Family of Multi-Service Business Routers (MSBR)

Definition of firewall

Global Information Assurance Certification Paper

Different Layers Lecture 20

Transcription:

Kompiuterių tinklai UDP, NAT, SOCKS Rolandas Griškevičius rolandas.griskevicius@vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 1

UDP RFC 768 Neturi: Ryšio užmezgimo žingsnių Būsenų (ir būsenų diagramos) ACK ir kitų indikatorių (flags) Turi: Porto numerius Siuntėjo Gavėjo Kontrolinę sumą Tik 8 baitų antgalvę (header) 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 2

UDP 2 Kadangi neturi susijungimo būsenos, kiekvienas paketas laikomas nepriklausomu: Normalu jei paketas bus pamestas Normalu, jei vėliau išsiųstas ateis anksčiau Šaltinis: http://nmap.org/book/tcpip-ref.html 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 3

Ryšio schemose kur: UDP taikymai Daug klientų, mažai duomenų Multicast - kai reikia išsiųsti dideliam klientų skaičiui Standartiniai naudojimo atvejai: DNS portas 53 BOOTP portai 67 ir 68 tftp portas 69 Numatytas kontrolės mechanizmas SNMP 161 ir 162 RIP 520 ir 521 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 4

UDP 3 ygent tmp # tcpdump -i lo -vv -X -s 0 tcpdump: listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes 19:40:11.285299 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 55) 127.0.0.1.48017 > 127.0.0.1.5000: [bad udp cksum c2f6!] UDP, length 27 0x0000: 4500 0037 0000 4000 4011 3cb4 7f00 0001 E..7..@.@.<... 0x0010: 7f00 0001 bb91 1388 0023 fe36 e287 59f9...#.6..Y. 0x0020: 1700 0100 0000 0101 0000 0b00 726f 6c61...rola 0x0030: 6e64 6173 2e67 00 ndas.g. 19:40:11.287460 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 42) 127.0.0.1.5000 > 127.0.0.1.48017: [bad udp cksum af75!] UDP, length 14 0x0000: 4500 002a 0000 4000 4011 3cc1 7f00 0001 E..*..@.@.<... 0x0010: 7f00 0001 1388 bb91 0016 fe29 89ef e0e0...)... 0x0020: 0a00 0100 0000 4100 07fc...A... Gavėjo IP adresas IP antgalvė Siuntėjo portas Gavėjo portas Siuntėjo IP adresas 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 5

Ugniasienė Firewall 3 pagrindiniai tipai: Paketų filtras Pagal užduotas taisykles stebi srautą ir praleidžia/atmeta paketus Jau retai naudojamas kaip vienintelis sprendimas Greičiausi, bet primityviausi Sujungimo filtras (būsenos) Stebi kliento (dažniausiai iš vidaus) sudarytą sujungimą (TCP/UDP) ir pagal tai nustato paketų filtrą. Seka sujungimo būseną Aplikacijos lygio filtras. Analizuja OSI 5 ir aukštesnius lygius. Dažniausiai naudojami http, ftp protokolams filtruoti 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 6

Router vs Firewall Maršrutizatorius paprastai veikia 3 OSI = IP lygyje Teoriškai gali atlikti adresų transliaciją Užduotis nukreipti paketą tam tikru keliu Ugniasienė veikia mažiausiai 4 OSI = TCP/UDP lygyje: Atlieka portų filtravimą Atlieka TCP/UDP sujungimo monitoringą (nuo ryšio pradėjimo - handshaking - iki užbaigimo) Atlieka aukštesnio protokolo kontrolę Pvz, SKYPE blokavimas gana sudėtingas, nes naudoja įvairius komunikavimo mechanizmus Gali atlikti NAPT 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 7

NAT Paprasčiausias statinis NAT. Veikia IP lygyje Aprašoma kiekvieno IP adreso transliacija atskirai: X n Y n 192.168.1.x 1 212.59.200.Y 1... 192.168.1.x n 212.59.200.Y n Naudojamas paprastai adresų transliacijai Cisco conf t ; interface <interfeisas> ; ip nat inside 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 8

Dinaminis NAT Iš vieno rėžio į kitą, rėžiai gali būti nelygūs x n y m, n = 1..a, m = 1..b, a b Veikia IP lygyje, dinamiškai tam tikram laikui kiaurai transliuoja x n y b adresų porą. Veikia IP lygyje, teikia skaidrų IP kanalą. 192.168.1.x 1 212.59.200.y 1... 192.168.1.x n.. 212.59.200.y m 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 9

NAT problemos Pagrindinė problema kontrolinė paketo suma. TCP ir UDP į kontrolinę sumą įtraukia ir IP antgalvės dalį, todėl reikia perskaičiuoti IP ir TCP kontrolines sumas 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 10

PAT, NAPT 10.1.1.1:10001 88.88.100.1:80 212.59.100.1:20001 ->88.88.100.1:80 212.59.100.1:20002 ->88.88.100.1:80 10.1.1.1 10.1.1.254 212.59.100.1 10.1.1.2 Keitimo (mapping) lentelė 10.1.1.1:10001 20001 10.1.1.2:10002 20002 88.88.100.1 10.1.1.2:10002 88.88.100.1:80 Pagrindinis keitimas vyksta porą source IP + port transliuojant į laisvą porto numerį Grįžtantis paketas atrandamas pagal gavėjo porto numerį ir pagal tai lentelėje vėl surandama pora IP + portas vidiniame tinkle 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 11

NAPT problemos NAPT paveldi antgalvių kontrolinių sumų problemą iš statinio NAT ICMP paketas neturi porto, taip pat savyje gali nešti kito IP paketo informaciją reikalingas dvigubas perskaičiavimas Laukiančio siuntėjo porto problema Kitos: http://www.cisco.com/web/about/ac123/ac147/ac174/ac182/about_cisco_ipj_ar chive_article09186a00800c83ec.html 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 12

Laukiančio siuntėjo porto problema Pvz, rexec paslauga: 1. Klientas jungiasi prie 512 prievado (rexec) 2. Klientas siunčia porto numerį, kuriuo jis klausosi stderr srauto duomenų. Formatas tekstinis 3. Jei portas ne tuščias (null terminated), serveris jungiasi į kliento nurodytą portą 4. Klientas siunčia vardą, slaptažodį, komandą, parametrus 5. Serveris siunčia klaidos kodą ( 0 OK, kita klaida) 6. Serveris siunčia programos išvesties duomenis į stdout ir stderr srautus per atskirus TCP kanalus (vienas kuriuo klausosi klientas) 7. Serveris uždaro susijungimus 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 13

Laukiančio siuntėjo porto probl. 2 14:10:14.73 127.0.0.1.1016 > 127.0.0.1.512: S 0:0(0) win 3000 <mss 1500> 4500 002c e405 0000 4006 98c4 7f00 0001 E..,...@... 7f00 0001 03f8 0200 4ef4 19bb 0000 0000...N... 6002 0bb8 1f9d 0000 0204 05dc `... 14:10:14.73 127.0.0.1.512 > 127.0.0.1.1016: S 0:0(0) ack 1 win 3000 <mss 1500> 4500 002c e406 0000 4006 98c3 7f00 0001 E..,...@... 7f00 0001 0200 03f8 4ef4 19bb 4ef4 19bc...N...N... 6012 0bb8 b6dc 0000 0204 05dc `... 14:10:14.73 127.0.0.1.1016 > 127.0.0.1.512:. ack 1 win 3000 4500 0028 e407 0000 4006 98c6 7f00 0001 E..(...@... 7f00 0001 03f8 0200 4ef4 19bc 4ef4 19bc...N...N... 5010 0bb8 cec1 0000 P... 14:10:14.75 127.0.0.1.1016 > 127.0.0.1.512: P 1:6(5) ack 1 win 3000 4500 002d e408 0000 4006 98c0 7f00 0001 E..-...@... 7f00 0001 03f8 0200 4ef4 19bc 4ef4 19bc...N...N... 5018 0bb8 6c50 0000 3130 3134 00 P...lP..1014. Du keliai: Papildomai konvertuoti 1014 (šiuo atveju) portą ateinančiam paketui Pakeisti išeinančiame į serverį pakete porto numerį savo ir vėliau jį permetinėti klientui Ta pati problema egzistuoja ir FTP protokole atidaromi 2 srautai vienas komandoms, kitas - duomenims 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 14

Linux NAPT #http://www.gentoo.org/doc/en/home-router-howto.xml Praktiškai išbandytas Linux NAPT serveris. Gentoo linux, branduolys 2.6.32 # Setup default policies to handle unmatched traffic # iptables -P INPUT ACCEPT # iptables -P OUTPUT ACCEPT # iptables -P FORWARD DROP export LAN=eth0 export WAN=eth1 export INT_LAN_IP=10.56.0.0/16 #Then we lock our services so they only work from the LAN iptables -I INPUT 1 -i ${LAN} -j ACCEPT iptables -I INPUT 1 -i lo -j ACCEPT iptables -A INPUT -p UDP --dport bootps! -i ${LAN} -j REJECT iptables -A INPUT -p UDP --dport domain! -i ${LAN} -j REJECT #(Optional) Allow access to our ssh server from the WAN iptables -A INPUT -p TCP --dport ssh -i ${WAN} -j ACCEPT #Drop TCP / UDP packets to privileged ports iptables -A INPUT -p TCP! -i ${LAN} -d 0/0 --dport 0:1023 -j DROP iptables -A INPUT -p UDP! -i ${LAN} -d 0/0 --dport 0:1023 -j DROP #Finally we add the rules for NAT iptables -I FORWARD -i ${LAN} -d $INT_LAN_IP -j DROP iptables -A FORWARD -i ${LAN} -s $INT_LAN_IP -j ACCEPT iptables -A FORWARD -i ${WAN} -d $INT_LAN_IP -j ACCEPT iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE #Tell the kernel that ip forwarding is OK echo 1 > /proc/sys/net/ipv4/ip_forward for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 15

SOCKS proxy Socks proxy paslauga, užtikrinanti paketų ir/arba sujungimų perdavimą iš daugelio klientų per vieną serverį Veikia OSI lygyje 4.5 Klientas autentifikuojasi per TCP, registruoja paslaugą, užmezgamas sujungimas su serveriu Versijos: SOCKS v4 SOCKS v4a SOCKS v5 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 16

Socks v4 Klientas užmezga ryšį: Laukas 1 0x04, 1 baitas, versijos numeris Laukas 2 komandos kodas, 1 baitas, 0x01 inicijuoti sujungimą, 0x02 laukti sujungimo Laukas 3 2 baitai, portas Laukas 4 4 baitai, IP adresas Laukas 5 vartotojo ID, pabaigoje - 0x00 Serveris: Laukas 1 0x00 baitas Laukas 2 statusas 0x5a OK, 0x5b atmesta ir t.t. Laukas 3 6 baitai, ignoruojami Pavyzdys, jugimasis su 66.102.7.99:80, serverio atsakas teigiamas: Klientas: 0x04 0x01 0x00 0x50 0x42 0x66 0x07 0x63 0x46 0x72 0x65 0x64 0x00 Serveris: 0x00 0x5a 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX 0xXX ignoruojami, gali būti bet kokios reikšmės Dabar klientas gali inicijuoti duomenų srautą Šaltinis: http://en.wikipedia.org/wiki/socks#socks_4 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 17

Socks v5 - RFC 1928 Socks v5: SOCKS 4 vs 5 Pridėtas IP v6 Pridėtas UDP protokolas UDP labai svarbus DNS paslaugai 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 18

Socks v 5 Šaltinis: Linux Magazine, 2005 liepa, 56 leidimas 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 19

SOCKS panaudojimas Pros: Gana paprasta realizacija Greitas Gali būti taikomas kaip alternatyva NAPT, kur NAPT negalimas dėl saugumo (išeinančio ryšio) Valdomas išeinantis srautas Gerai integruojasi su TOR Tinka tarptautinei paslaugai Cons Aplikacija turi palaikyti SOCKS proxy (naršyklės, IRC palaiko) 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 20

tor Daugiasluoksnio maršrutizavimo paslauga Naudojamas anoniminiam ryšiui Interfeisas organizuojamas socks pagalba Prieš siųsdamas pirmą paketą pirmas tor routeris parenka atsitiktinį kelią ir apvelka žinutę keliais simetriniais raktais koduotais apvalkalais 2010-11-03 R. Griškevičius, Kompiuterių tinklai, VGTU, 2010 21