Upload
others
View
30
Download
0
Embed Size (px)
Citation preview
Curs 4
Alexandru Bujor
ISO/OSI vs TCP/IP
Conectori folositi
Tipul de cablu
Verificarea link-ului: ip link show
Adresare la nivelul retelei locale
Ethernet (L1 + L2)
Adresa MAC
Practic: ◦ Verificare cu ifconfig
Alte protocoale suportate de Linux: ◦ Ppp
◦ Frame relay
◦ ATM
PPP: legatura punct la punct cablu null-modem
Legatura IP pe 3 sarme
Aplicatia folosita: pppd
Adresa logica la nivel global
Permite rutarea traficului in internet
Identificator: adresa IP (publica/privata)
Protocoale disponibile: IPv4/IPv6
Practic: ◦ Vizualizare: ifconfig
◦ Setari temporare: ifconfig
Setarea statica a adresarii IP ◦ Fisier interfata
◦ Gateway
Descrie modul in care se trimit datele intre aplicatia sursa si cea destinatie
Multiplexarea mai multor fluxuri de date intre aceeasi pereche sursa-destinatie (fluxuri generate de aplicatii diferite)
Reliable sau best-effort
TCP vs UDP
Verificarea conexiunilor in stare listen (servere) ◦ Practic cu netstat
Verificare conexiuni tcp/udp ( netstat )
Socket = adresa IP - Port
Integreaza Layer-ele 5,6,7 din stiva OSI
Aplicatia se ocupa de: ◦ definirea sesiunilor
◦ criptare
◦ prezentarea datelor (forma: binara/text)
Interfete fizice/logice
Lo – interfata loopback ◦ Ping in loopback – verifica functionalitatea stivei de
protocoale tcp/ip
Ethx – interfata ethernet ◦ Asociata unei interfete fizice
◦ Numarul (x) este stabilit de udev printr-un fisier completat in procesul de instalare
Ethx:y – subinterfata logica y de pe interfata x ◦ Permite atasarea mai multor adrese IP pe aceeasi
interfata fizica
Brx – interfata logica de tip bridge ◦ Adresa ip asociata masinii fizice se fixeaza pe brx,
nu pe adresele fizice atasate bridge-ului
◦ Stp – spanning tree protocol
Pppx – interfete point to point
Construirea unui bridge virtual ◦ temporar
◦ persistent
Conceptul de ruta ◦ Ruta = retea destinatie (adresa retea+masca) si
nexthop (urmatorul router catre reteaua respectiva)
Procesul de rutare ◦ Activarea rutarii pe o masina linux
Ruta default
Tabela de rutare: colectia de rute prezente in sistem
Manipularea tabelei de rutare: ◦ Vizualizare
◦ Adaugare ruta
◦ Eliminare ruta
Rutare statica vs rutare dinamica
Rute statice ◦ Temporare
◦ Permanente
Permite manipularea tabelei de rutare locale prin intermediul informatiilor provenite din rularea unor protocoale specifice
Protocoale rutare dinamica ◦ RIPv1/v2, OSPF, EIGRP (?)
Protocoale de rutare ◦ Distance vector
◦ Link-state
Ofera suport pentru o multitudine de protocoale de rutare: ◦ Ospf
◦ Rip v1/2
◦ Bgp
◦ Is-is
Emuleaza CLI-ul de pe routerele Cisco
Arhitectura:
Rutare statica/dinamica
host – resolver dns
dig
ping
traceroute
tcpdump
Virtualizare = simularea unei masini de calcul prin software rulat pe o masina fizica
O masina virtuala = un proces din sistem
Masinile virtuale: ◦ Utilizeaza resursele sistemului fizic
◦ Pot partaja resursele intre ele
◦ Procesele sunt independente
◦ Masinile virtuale pot interactiona prin:
Networking
Pipe-uri
Shared folders
Hardware: resursele disponibile pentru partajare
Host OS: sistemul de operare care ruleaza pe masina fizica
Guest OS: sistemul de operare care ruleaza pe masina virtuala
Hypervisor: interfata intre host os si masina virtuala sau interfata intre hw si masinile virtuale
VMWare (Server,Workstation,Player)
Virtualbox (Oracle)
XEN
HyperV
Qemu-KVM
Infrastructura hardware si software care ofera: ◦ Infrastructure as a service (IaaS)
◦ Platform as a service (PaaS)
◦ Software as a service (SaaS)
◦ Network as a service (NaaS)
◦ Storage as a service (STaaS)
◦ Test environment as a service (TEaaS)
◦ Desktop virtualization
◦ API as a service (APIaaS)
Taxare per utilizare ◦ Trafic de date
◦ Putere de procesare necesara
Elasticitate
Bazat pe solutiile de virtualizare ◦ In spate se folosesc masini virtuale
OpenStack
IBM SmartCloud Enterprise & Provisioning
RH Enterprise Virtualization
Kernel-based Virtual Machine
Pentru procesoare cu suport de virtualizare hardware (INTEL VT-x, AMD-V)
Proiect open source dezvoltat de RedHat
Disponibil din Februarie 2007, kernel 2.6.20
KVM – Type 2
Virtualizare: ◦ 1-160 CPU, diverse arhitecturi
◦ RAM, up to 32 TB
◦ Watchdog
◦ Display VNC
Stocare: ◦ Raw
◦ Qcow
◦ Virtio drives
Networking ◦ Tun/tap
◦ Shared device (bridge based)
◦ Host interface
Monitorizare & administrare
libvirt
IaaS
Multe solutii au la baza KVM ◦ RHEL enterprise virtualization
◦ OpenStack
◦ IBM OpenVirtualization
RHEL Enterprise Virtualization: high availability VMs (cluster based)
Live migration
Instalare suport virtualizare
Activare vt-x
Definire masina virtuala
Virt-manager
Modificare resurse
Masini de baza + qcow2
Siguranta informatiilor care sunt stocate/procesate intr-un sistem
Cateva principii: ◦ Sisteme bastion
◦ Nivele multiple de securitate
Nivelul fizic ◦ Lacate, izolare, conditii speciale de mediu, ups
Hardware ◦ Redundanta, echipamente de calitate, etc.
Sistem de operare ◦ Update-uri
◦ Update de kernel (!!!)
Networking ◦ Firewall (fizic, software)
◦ IPS/IDS
Aplicatii ◦ Update de pachete
◦ Proceduri specifice aplicatiilor
Parole
Selectarea interfetelor pe care “asculta” serverul
Urmarirea log-urilor ◦ Logwatch
Monitorizare ◦ Snmp (net-snmp)
◦ Solutii:
OpenNMS
Zenoss
Cacti
Firewall ◦ Iptables
◦ Ebtables
TCP Wrappers ◦ Pentru aplicatiile care sunt compilate cu suport
libwrap
◦ Ldd <cale executabil>
◦ Firewall aditional
◦ Permite executia unui script / eveniment
Selinux ◦ Dezvoltate de NSA
◦ Componenta in kernel
◦ /var/log/audit/audit.log
◦ Sistem complex de securitate, activate standard de distributiile bazate pe RedHat
◦ Moduri:
Disabled
Enabled
Enforcing
Permissive
Activare/dezactivare selinux
Vizualizare contexte
Restaurare contexte default
Componenta foarte importanta a sistemului
Software-ul utilizat: iptables (netfilter)
Organizat sub forma unor chain-uri pe care pachetele le traverseaza
Poate face NAT
Se pot adauga reguli temporare
PREROUTING: toate pachetele, inainte de a se decide daca se face rutare
INPUT: pachetele care sunt adresate sistemului local
OUTPUT: pachete generate de statia locala
FORWARD: pachete care traverseaza router-ul (sistemul local)
POSTROUTING: toate pachetele dupa ce au fost rutate
nat: modificarea adreselor ◦ Utilizat pentru nat, port-forwarding
filter: filtrarea traficului (accept/drop)
mangle: modificari facute in antetul pachetelor
ACCEPT (pentru chain)
DROP (drop final)
REJECT (iesire din chain)
SNAT (modificarea sursei)
DNAT (modificarea destinatiei)
MASQUERADE (pat)
iptables <adaugare/eliminare> CHAIN –t TABEL <filtru identificare trafic> -j DECIZIE <optiuni decizie>
Listare ◦ iptables –t TABEL –L
Persistenta regulilor: ◦ Service iptables save
Listare reguli iptables
Adaugare regula permisiune tcp:80
Conexiuni: ◦ NEW
◦ RELATED
◦ ESTABLISHED
Eliminare reguli
Iptables ◦ NAT
Numele pc-ului
/etc/sysconfig/network
Diferentierea sistemelor (shell remote)
Comanda hostname
Mapare intre nume si adrese ip
Traficul ip este bazat pe adrese ip si nu pe nume
Pentru rezolvare nume: ◦ Servicii de retea
◦ Fisiere speciale (baza de date locala)
/etc/hosts ◦ Contine mapari statice intre nume si adrese IP
/etc/resolv.conf ◦ Contine serverele DNS utilizate
Lab practic
DHCP
NTP
HTTP
DNS
NFS
Logs
Apache este cel mai popular server de web disponibil
Portul 80, TCP
Yum install httpd
Control: service httpd start|stop|restart|status
Fisier configurare /etc/httpd/conf/httpd.conf
Comportament default: ◦ Asculta pe toate interfetele, portul 80 tcp
◦ Serveste documente din /var/www/htdocs
Se poate integra cu PHP pentru a genera pagini cu continut dinamic
Apache & virtual hosts
Cel mai utilizat server DNS existent
Cum functioneaza sistemul DNS?
Zone DNS
Server autoritar
Forwarder
Server dns caching-only
Foloseste porturile 53 TCP si 53 UDP
Instalarea si configurarea bind ca server caching only
Dynamic Host Configuration Protocol
Ofera: ◦ Adresa ip, masca de retea
◦ Gateway
◦ DNS server
◦ Alte optiuni (server tftp pentru boot prin retea, etc.)
Foloseste porturile 67,68 (UDP)
Instalare si configurare server DHCP