Essentials Pagina 7

De la Wiki Linux Advanced
Sari la navigare Sari la căutare

Servicii de rețea Linux și securitate

Comenzi generale de rețea

Capitolul comenzi de rețea explică diverse instrumente care pot fi utile atunci când conectați cu alte computere atât în ​​rețea, cât și pe internet, obținând mai multe informații despre alte computere. Acest capitol include, de asemenea, informații despre instrumentele pentru configurarea rețelei, transferul de fișiere și lucrul cu mașini la distanță.

netstat Afișează conținutul fișierelor /proc/net. Funcționează cu subsistemul de rețea Linux, vă va spune care este starea porturilor, adică. legături deschise, închise, în așteptare, mascarade. De asemenea, va afișa diverse alte lucruri. Are multe opțiuni diferite.

tcpdump Acesta este un sniffer, un program care captează pachete dintr-o interfață de rețea și le interpretează pentru tine. Înțelege toate protocoalele de bază ale internetului și poate fi folosit pentru a salva pachete întregi pentru inspecție ulterioară.

Sintaxa de baza:

Filtrarea gazdelor:

- Potriviți orice trafic care implică 192.168.1.1 ca destinație sau sursă

# tcpdump -i eth1 host 192.168.1.1

- Doar sursa, la fel

# tcpdump -i eth1 src host 192.168.1.1

- Doar ca destinație

# tcpdump -i eth1 dst host 192.168.1.1


Porturi de filtrare:

- Potriviți orice trafic care implică portul 25 ca sursă sau destinație

# tcpdump -i eth1 port 25

- Sursa

# tcpdump -i eth1 src port 25

- Destinație

# tcpdump -i eth1 dst port 25

Filtrarea rețelei:

# tcpdump -i eth1 net 192.168
# tcpdump -i eth1 src net 192.168
# tcpdump -i eth1 dst net 192.168

Filtrarea protocolului:

# tcpdump -i eth1 arp
# tcpdump -i eth1 ip
# tcpdump -i eth1 tcp
# tcpdump -i eth1 udp
# tcpdump -i eth1 icmp

ping

Comanda ping (numită după sunetul unui sistem sonar activ) trimite cereri de ecou gazdei pe care o specificați pe linia de comandă și enumeră răspunsurile primite, durata călătoriei dus-întors.

Pur și simplu utilizați ping ca:

ping ip_or_host_name

Rețineți că pentru a opri ping-ul (altfel va merge pentru totdeauna) utilizați CTRL-C (break).

Vă rugăm să rețineți: utilizarea ping/smbmount/ssh sau a altor programe de sistem UNIX cu un nume de computer și nu cu o adresă IP va funcționa numai dacă aveți computerul listat în fișierul /etc/hosts. Iată un exemplu:

192.168.1.100 nou

Această linie spune că este un computer numit „nou” cu adresa IP 192.168.1.100. Acum că există în fișierul /etc/hosts, nu mai trebuie să introduc adresa IP, ci doar numele „nou”. nume de gazdă spune utilizatorului numele de gazdă al computerului la care este conectat. Notă: poate fi numit gazdă.

traceroute traceroute va arăta traseul unui pachet. Încearcă să listeze seria de gazde prin care pachetele dvs. călătoresc în drum spre o anumită destinație. Aruncă o privire și la xtraceroute (unul dintre mai multe echivalente grafice ale acestui program).

Sintaxa comenzii:

traceroute nume_sau_ip_mașină:port

nmap

„instrument de explorare a rețelei și scaner de securitate”. nmap este un instrument de rețea foarte avansat folosit pentru a interoga mașinile (locale sau la distanță) dacă sunt active și ce porturi sunt deschise pe aceste mașini.

Un exemplu simplu de utilizare:

nmap nume_mașină

Acest lucru ar interoga propria mașină cu privire la porturile pe care le păstrează deschise. nmap este un instrument foarte puternic, documentația este disponibilă pe site-ul nmapprecum și informațiile din pagina de manual.

Configurarea rețelei

ifconfig

Această comandă este utilizată pentru a configura interfețele de rețea sau pentru a afișa configurația lor curentă. Pe lângă activarea și dezactivarea interfețelor cu setările „sus” și „jos”, această comandă este necesară pentru setarea informațiilor despre adresa unei interfețe dacă nu aveți scriptul ifcfg. Utilizați ifconfig fie ca:

ifconfig

Aceasta va lista pur și simplu toate informațiile de pe toate dispozitivele de rețea aflate în prezent.

ifconfig eth0 down

Acest lucru va opri eth0 (presupunând că dispozitivul există) în jos, nu va putea primi sau trimite nimic până când nu puneți dispozitivul din nou „up”.

În mod clar, există mult mai multe opțiuni pentru acest instrument, va trebui să citiți manualul/pagina de informații pentru a afla mai multe despre ele.

ifup

Utilizați ifup nume-dispozitiv pentru a afișa o interfață urmând un script (care va conține setările dvs. implicite de rețea). Pur și simplu tastați ifup și veți primi ajutor pentru utilizarea scriptului. De exemplu tastarea:

ifup eth0

Va aduce eth0 în sus dacă este în prezent dezactivat. ifdown Utilizați ifdown nume-dispozitiv pentru a reduce o interfață folosind un script (care va conține setările implicite de rețea). Pur și simplu tastați ifdown și veți primi ajutor pentru utilizarea scriptului.

De exemplu tastarea:

ifdown eth0

Va reduce eth0 dacă este în prezent sus.

ifcfg

Utilizați ifcfg pentru a configura o anumită interfață. Pur și simplu tastați ifcfg pentru a obține ajutor cu privire la utilizarea acestui script.

De exemplu, pentru a schimba eth0 de la 192.168.0.1 la 192.168.0.2, puteți face:

ifcfg eth0 del 192.168.0.1
ifcfg eth0 add 192.168.0.2

Prima comandă elimină eth0 și elimină acea adresă IP stocată, iar a doua o aduce înapoi cu noua adresă.

route

Comanda de rutare este instrumentul folosit pentru a afișa sau modifica tabelul de rutare. Pentru a adăuga o poartă ca implicită, ar trebui să tastați:

route add default gw some_computer


Comenzi specifice internetului

Rețineți că, dacă DNS-ul nu este configurat corect pe computer, trebuie să editați „/etc/resolv.conf” pentru a face lucrurile să funcționeze...

host Efectuează o căutare simplă a unei adrese de internet (folosind sistemul de nume de domeniu, DNS). Pur și simplu tastați:

host adresa_ip
sau
host nume_domeniu

dig Instrumentul „domain information groper”. Mai avansat decât host. Dacă dați un nume de gazdă ca argument pentru a scoate informații despre gazda respectivă, inclusiv adresa IP, numele de gazdă și diverse alte informații.

De exemplu, pentru a căuta informații despre „www.amazon.com” tastați:

dig www.amazon.com

Pentru a găsi numele gazdei pentru o anumită adresă IP (adică o căutare inversă), utilizați dig cu opțiunea „-x”.

dig -x 100.42.30.95

Aceasta va căuta adresa (care poate să existe sau nu) și va returna adresa gazdei, de exemplu, dacă aceasta a fost adresa „http://slashdot.org”, atunci ar returna „http://slashdot. org”. dig necesită un număr mare de opțiuni (până la punctul de a fi prea multe), consultați pagina de manual pentru mai multe informații.

whois (acum BW whois) este folosit pentru a căuta informațiile de contact din bazele de date „whois”, serverele sunt susceptibile să dețină numai site-uri importante. Rețineți că este posibil ca informațiile de contact să fie ascunse sau restricționate, deoarece sunt adesea abuzate de către crackeri și alții care caută o modalitate de a provoca daune rău intenționate organizației.

wget (GNU Web get) folosit pentru a descărca fișiere de pe World Wide Web.

Pentru a arhiva un singur site web, utilizați opțiunea -m sau --mirror (oglindă).

Utilizați opțiunea -nc (fără clobber) pentru a opri wget să suprascrie un fișier dacă îl aveți deja.

Utilizați opțiunea -c sau --continue pentru a continua un fișier care a fost neterminat de wget sau de un alt program.

Exemplu simplu de utilizare:

wget url_for_file

Acest lucru ar obține pur și simplu un fișier de pe un site. wget poate, de asemenea, să recupereze mai multe fișiere folosind metacaracterele standard, la fel ca tipul folosit în bash, cum ar fi *, [ ], ?. Pur și simplu utilizați wget ca de obicei, dar utilizați ghilimele simple (' ') pe adresa URL pentru a preveni extinderea bash-urilor. Există complicații dacă preluați de pe un site http (vezi mai jos...).

Exemplu de utilizare avansată, (utilizat din pagina de manual wget):

wget --spider --force-html -i bookmarks.html

Aceasta va analiza fișierul bookmarks.html și va verifica dacă toate linkurile există.

Utilizare avansată: acesta este modul în care puteți descărca mai multe fișiere folosind http (folosind un wildcard...). Note: http nu acceptă descărcarea folosind metacaracterele standard, ftp face, așa că puteți folosi metacaracterele cu ftp și va funcționa bine. O soluție pentru această limitare http este prezentată mai jos:

wget -r -l1 --no-parent -A.gif http://www.website.com[1]

Aceasta se va descărca (recursiv), la o adâncime de unu, cu alte cuvinte în directorul curent și nu mai jos. Această comandă va ignora referințele la directorul părinte și va descărca orice se termină în „.gif”. Dacă doriți să descărcați, spuneți orice se termină cu „.pdf” și adăugați un -A.pdf înainte de adresa site-ului web. Pur și simplu schimbați adresa site-ului web și tipul de fișier descărcat pentru a descărca altceva. Rețineți că a face -A.gif este același lucru cu a face -A „*.gif” (doar ghilimele duble, ghilimele simple nu vor funcționa). wget are multe mai multe opțiuni, consultați secțiunea de exemple a paginii de manual, acest instrument este foarte bine documentat.

Poate doriți să încercați alternative precum httrack. Un program complet de descărcare a site-ului GUI scris în python și disponibil pentru GNU/Linux. Aria2 (aria2c), pentru descarcarea unui fisier cu mai multe conexiuni sau dupa un model.

curl curl este un alt program de descărcare de la distanță. Acest program de descărcare de la distanță este proiectat să funcționeze fără interacțiunea utilizatorului și acceptă o varietate de protocoale, poate încărca/descărca și are un număr mare de trucuri/soluții pentru diverse lucruri. Poate accesa servere de dicționar (dict), servere ldap, ftp, http, gopher, consultați pagina de manual pentru detalii complete. Pentru a accesa manualul complet (care este uriaș) pentru acest tip de comandă:

curl -M

Pentru uz general, îl puteți folosi ca wget. De asemenea, vă puteți autentifica folosind un nume de utilizator utilizând opțiunea -u și introducând numele de utilizator și parola astfel:

curl -u nume utilizator:parolă http://www.placetodownload/file

Pentru a încărca folosind ftp opțiunea -T:

curl -T nume_fișier ftp://ftp.uploadsite.com

Pentru a continua descarcarea unui fișier, utilizați opțiunea -C:

curl -C - -o fișier http://www.site.com


Administrarea la distanță

ssh

Shell securizat, conectați-vă de la distanță pe o mașină care rulează demonul sshd. Odată ce v-ați conectat, aveți un shell securizat și puteți executa diverse comenzi pe acel computer, cum ar fi să copiați fișiere, să reporniți computerul, la fel cum ar fi propriul dvs. computer GNU/Linux. Sau puteți utiliza ssh cu un nume de gazdă complet pentru a vă conecta la o mașină de la distanță (ca pe internet).

Exemple:

ssh user@hostname

Conectați-vă la un sistem de la distanță cu numele dvs. de utilizator actual, evident veți avea nevoie de parola utilizatorului de pe cealaltă mașină. ssh nume utilizator@nume gazd

scp

Copie securizată, parte a pachetului ssh. Vă permite să copiați fișiere de pe un computer pe alt computer, utilizați -r pentru a copia recursiv (copiați directoare și subdirectoare întregi).

Sintaxa lui scp este întotdeauna

scp machineToBeCopiedFrom machineToBeCopiedTo

Unde fiecare mașină poate fi un director local (pe sistemul de fișiere curent /) sau o mașină la distanță. Mașinile de la distanță sunt de obicei machinesFullName:/directory (dacă omiteți partea de director, va presupune doar directorul principal al numelui de utilizator cu care vă conectați).

Exemplul de mai jos copiază toate fișierele din directorul curent (fără a include niciun director), comanda se va autentifica la „nou” folosind numele de utilizator al persoanei conectate în prezent pe computerul local, fișierele vor fi copiate în directorul rădăcină al computer la distanță numit „nou” (care este probabil pe LAN):

scp * nou:/

De asemenea, puteți copia fișiere de pe alt computer pe alt computer. Să presupunem că sunteți pe un computer numit „p100”. Și doriți să copiați fișierele (și directoarele) din „hp166” (în directorul /tmp și orice de mai jos) în „nou” și să puneți fișierele în directorul temporar al lui new. Ai putea face:

scp -r hp166:/tmp nou:/tmp

Presupunând că ați fost conectat ca „fred”, veți avea nevoie de parole pentru utilizatorul „fred” pe computerele hp166 și noi. Adăugați un user_name@ înaintea numelui computerului pentru a vă conecta sub un alt nume de utilizator.

De exemplu, pentru a efectua comanda de mai sus cu utilizatorul „root” pe hp166 și „anon” pe new, ar trebui să tastați:

scp -r root@hp166:/tmp anon@new:/tmp

Pentru a copia de la o mașină la distanță pe un computer local, pur și simplu faceți lucrurile invers:

scp remoteMachine:/mystuff/* .

Acest lucru va copia fișierele de pe mașina de la distanță din directorul „mystuff” pe computerul dvs. local.

Vă rugăm să rețineți că atunci când lucrați cu o mașină la distanță, trebuie să aveți un : (coloană) după numele mașinii, chiar dacă doriți fișierele în directorul lor principal. În caz contrar, comanda va eșua.

sftp

FTP securizat, o altă parte a pachetului ssh. Această comandă este similară cu ftp, dar folosește un tunel criptat pentru a se conecta la un server ftp și, prin urmare, este mai sigură decât simplu ftp.

Utilizarea comenzii este foarte asemănătoare cu ftp (instrumentul din linia de comandă), sftp (odată ce rulează) folosește comenzi precum help (pentru ajutor), put (trimite fișiere la server), get (descărcă fișiere de pe server) și diverse alții, consultați pagina de manual și documentația internă pentru mai multe detalii.



Fișiere de configurare a rețelei TCP/IP Linux:

/etc/resolv.conf Listați serverele DNS pentru rezoluția numelor de domeniu de internet.

/etc/hosts, hosts.allow, hosts.deny Listează gazde care urmează să fie rezolvate local (nu prin DNS).

Red Hat/Fedora/CentOS: /etc/sysconfig/network Specificați configurația rețelei. de ex. IP static, DHCP, NIS etc.

Red Hat/Fedora/CentOS: /etc/sysconfig/network-scripts/ifcfg-device Specificați informațiile de rețea TCP.

Ubuntu/Debian: /etc/network/interfaces Specificați configurația rețelei și dispozitivele. de ex. IP static și informații, DHCP etc.


Alocarea adresei IP statice:

Alegeți una dintre următoarele metode:

   • Linia de comandă:
   /sbin/ifconfig eth0 192.168.10.12 netmask 255.255.255.0 broadcast 192.168.10.255    

Adresa de rețea prin convenție ar fi cea mai mică: 192.168.10.0 Adresa de difuzare prin convenție ar fi cea mai mare: 192.168.10.255 Gateway-ul poate fi orice, dar următoarea convenție: 192.168.10.1


Notă: cele mai înalte și cele mai mici adrese sunt bazate pe masca de rețea. Exemplul anterior se bazează pe o mască de rețea de 255.255.255.0 Fișiere de configurare IP Ubuntu / Debian:

Fișier: /etc/network/interfaces
Exemplu de IP static:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        adresa 208.88.34.106
        mască de rețea 255.255.255.248
        difuzat 208.88.34.111
        reteaua 208.88.34.104
        gateway 208.88.34.110
Exemplu de IP dinamic (DHCP):
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

Atribuiți mai mult de o adresă IP unei plăci Ethernet:


ifconfig eth0 XXX.XXX.XXX.XXX masca de rețea 255.255.255.0 difuzat XXX.XXX.XXX.255
ifconfig eth0:0 192.168.10.12 netmask 255.255.255.0 difuzare 192.168.10.255
ifconfig eth0:1 192.168.10.14 netmask 255.255.255.0 difuzare 192.168.10.255
 
route add -host XXX.XXX.XXX.XXX dev eth0
route add -host 192.168.10.12 dev eth0
route add -host 192.168.10.14 dev eth0
În acest exemplu, 0 și 1 sunt aliasuri în plus față de eth0 obișnuit. Rezultatul comenzii ifconfig:
          eth0 Link encap:Ethernet HWaddr 00:10:4C:25:7A:3F  
          adresa inet:XXX.XXX.XXX.XXX Bcast:XXX.XXX.XXX.255 Masca:255.255.255.0
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          Pachete RX:14218 erori:0 dropped:0 overruns:0 frame:0
          Pachete TX:1362 erori:0 dropped:0 overruns:0 carrier:0
          coliziuni:1 txqueuelen:100
          Întreruperea: 5 Adresa de bază: 0xe400

eth0:0 Link Encap:Ethernet HWaddr 00:10:4C:25:7A:3F  
          inet adresa:192.168.10.12 Bcast:192.168.10.255 Masca:255.255.255.0
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          Întreruperea: 5 Adresa de bază: 0xe400

eth0:1 Link Encap:Ethernet HWaddr 00:10:4C:25:7A:3F  
          inet adresa:192.168.10.14 Bcast:192.168.10.255 Masca:255.255.255.0
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          Întreruperea: 5 Adresa de bază: 0xe400
Fișier de configurare: /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
ONBOOT=da
BOOTPROTO=static
Broadcast=192.168.10.255
IPADDR=192.168.10.12
NETMASK=255.255.255.0
NETWORK=192.168.10.0
ONBOOT=da

Aliasurile pot fi, de asemenea, închise independent. adică: ifdown eth0:0

Route: Sistemul de operare Linux gestionează traficul IP de ieșire și de intrare (Internet Protocol). Traficul de intrare este captat pe baza configurației ARP și a adresei IP. Traficul de ieșire este gestionat de rute. Rutarea determină calea pe care o parcurg aceste pachete, astfel încât să fie trimise la destinațiile lor. Acest lucru este necesar pentru tot traficul IP, local și la distanță, inclusiv atunci când sunt disponibile mai multe interfețe de rețea. Rutele sunt deținute de tabelul de rutare a nucleului.

Intrările în tabelul de rutare directă apar atunci când gazdele sursă și destinație sunt în aceeași rețea fizică și pachetele sunt trimise direct de la sursă la destinație.

Intrările în tabelul de rutare indirectă apar atunci când gazdele sursă și destinație sunt pe rețele fizice diferite. Gazda destinație trebuie să fie atinsă prin unul sau mai multe gateway-uri IP. Primul gateway este singurul care este cunoscut de sistemul gazdă.

Rutarea implicită definește un gateway de utilizat atunci când ruta directă a rețelei și rutele gazdă indirecte nu sunt definite pentru o anumită adresă IP.

Rute statice:IP folosește un tabel de rutare pentru a determina unde trebuie trimise pachetele. Mai întâi pachetul este examinat pentru a vedea dacă destinația lui este pentru rețeaua locală sau la distanță. Dacă urmează să fie trimis la o rețea la distanță, tabelul de rutare este consultat pentru a determina calea. Dacă nu există informații în tabelul de rutare, atunci pachetul este trimis către gateway-ul implicit. Rutele statice sunt setate cu comanda ruta.

Comanda ROUTE comanda route afișează și manipulează și tabelul de rutare ip. Pentru a vedea tabelul de rutare implicit în Linux, tastați următoarea comandă.

  1. traseu

Tabelul de rutare IP al nucleului

Destination Gateway Genmask Flags Metric Ref Utilizare Iface
192.168.50.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
default 192.168.50.1 0.0.0.0 UG 0 0 0 eth0

Adăugarea, ștergerea rutelor și Gateway implicit cu următoarele comenzi.

Adăugarea rutei

# route add -net 10.10.10.0/24 gw 192.168.0.1

Ștergerea traseului

# route del -net 10.10.10.0/24 gw 192.168.0.1

Adăugarea gateway-ului implicit

# route add default gw 192.168.0.1


ICMP: ICMP este protocolul de rețea folosit de comenzile ping și traceroute. Blocarea ICMP și aspectul invizibil pentru ping: Următoarele reguli de firewall vor elimina solicitările ICMP.

iptables -A OUTPUT -p icmp -d 0/0 -j DROP

Folosind tcpdump pentru a monitoriza rețeaua:

[root]# ifconfig eth0 promisc - Pune nic în modul promiscuu pentru a mirosi traficul.
[root]# tcpdump -n host not XXX.XXX.XXX.XXX | more - Sniff net, dar ignora IP care este sesiunea ta la distanță.


Management retea nivel 1 - NetworkManager

Management retea nivel 2 - Netplan

Tabelele (filtre) de retea

nivel 1 - iptables (legacy)

nivel 1 - nftables

layer 2 - ufw

Pagina anterioară | Ultima pagină