SSH-protokoll, põhirakendus ja erinevus Telnetist. Turvaline võrguprotokoll SSH, põhi

SSH (Turvaline Shell- Kaitstud kest) -- see on võrguprotokoll, mis tagab turvalise autentimise, ühenduse ja turvalise andmeedastuse võrgu hostide vahel, krüpteerides seda läbiva liikluse koos võimaliku andmete tihendamisega. Teine oluline funktsionaalne omadus, on võimalus luua turvalisi, krüpteeritud tunneleid turvaliseks edastamiseks ebaturvalise andmekandja (nt Internet), muude võrguprotokollide kaudu, samuti liikluse tihendamise võimalus. Lisaks protokoll SSH töötab suurepäraselt ühe masina portide edastamisel (edasi suunamisel, ümbersuunamisel) teise masina portidesse, sealhulgas edastamisel kaugkliendid XWindow. Nüüd Protokoll SSH, on standard ja seda kasutatakse laialdaselt näiteks serverisüsteemide jaoks, st serveri kestas erinevate käskude ja manipulatsioonide sooritamine turvalise ühenduse kaudu, failide kopeerimine üle võrgu, näiteks andmete varukoopiad.

Protokoll SSH, on saadaval kahes versioonis, kommertsversioon on väljatöötamisel SSH inc ja tasuta avatud lähtekoodiga OpenSSH, mida kasutatakse peamiselt enamikel serveriplatvormidel. Rakendamine OpenSSH, on saadaval kõigis Unixi perekonna operatsioonisüsteemides ja enamikus neist, SSH server ja SSH klient, on standardsed kommunaalteenused. Kõik allpool kirjutatud puudutab OpenSSH ja FreeBSD operatsioonisüsteem. Protokollist on kaks versiooni SSH mis ei sobi omavahel kokku. Protokolli esimene rakendamine SSH, ssh-1, töötati välja 1995. aastal. teine ​​versioon, ssh-2, ilmus 1996. aastal. 2006. aastal protokoll SSH IETF on selle Interneti-standardina vastu võtnud. Nüüd on see protokolli teine ​​versioon, mida kasutatakse laialdaselt. SSH, sest esiteks protokoll SSH versioon 1 kannatas tõsiste haavatavuste all ja teiseks kasutab versioon 2 võimsamaid krüpteerimisalgoritme ning toetab ka tahtliku andmekahjustuse tuvastamise võimalust. Krüpteerimisalgoritmid:

  • SSH-protokolli versioon 1 DES, 3DES, blowfish
  • SSH-protokolli versioon 2 AES-128, AES-192, AES-256, blowfish, CAST-128, ArcFour
Seedimise funktsioon:
  • SSH-protokoll, versioon 1 nr
  • SSH-protokolli versioon 2 HMAC-MD5, HMAC-SHA-1, HMAC-RIPEMD
Nagu näete, on erinevus väga suur, seega protokoll SSH versioonid 1 , nüüd üldiselt, ei ole rangelt soovitatav kusagil kasutada.

SSH-protokolli kasutavad autentimismeetodid, OpenSSH tarkvarapaketi koostis

Protokolli turvalisus SSH mida pakuvad järgmised tarkvaralahendused:
  • Kogu läbiva liikluse krüpteerimine SSHühendus, mis teostatakse vastavalt ühele võimalikest algoritmidest, mis on valitud suhtlusseansi osapoolte läbirääkimiste käigus. Ühenduse liikluse krüpteerimine takistab selle pealtkuulamist ja pahatahtlikel eesmärkidel kasutamist. Valides erinevaid krüpteerimisalgoritme, muutub süsteem väga paindlikuks, võimaldades näiteks mitte kasutada algoritme, milles on avastatud haavatavused või potentsiaalsed turvaohud, või kasutada ainult neid algoritme, mida kumbki pool toetab;
  • Autentimine SSH server on alati loodud, mis tahes ühendusega, mis ei võimalda liiklust ega serverit ennast asendada;
  • Autentimine SSH klient võib tekkida erinevatel viisidel, mis ühest küljest muudab autentimisprotsessi enda turvalisemaks, teisalt muudab süsteemi veelgi paindlikumaks, muutes sellega töötamise lihtsamaks;
  • Võrgupakettide terviklikkuse kontroll võimaldab jälgida ebaseaduslikke muutusi ühenduse liikluses, selle tuvastamisel ühendus katkestatakse koheselt;
  • Ajutised autentimisparameetrid takistavad pealtkuulatud ja mõne aja pärast dekrüpteeritud ühenduse andmete kasutamist.
Protokoll SSH toetab üsna erinevaid autentimis- ja autoriseerimismeetodeid kaugklientide jaoks SSH server, siin on mõned neist:
  • GSSAPI-põhine autentimine
  • hostipõhine autentimine;
  • Kasutaja autentimine avaliku võtme abil;
  • väljakutse-vastus autentimine ( väljakutse-vastus);
  • Ja lõpuks tavaline kasutaja autentimine parooliga;
Autentimismeetodeid kasutatakse selles järjekorras, kuid protokolli versioonil 2 on võimalus, Eelistatud autentimised, mis võimaldab muuta vaikejärjestust. Lisaks toetab SSH täiendavaid kasutaja autentimise meetodeid, olenevalt konkreetsest operatsioonisüsteemist (nt bsd_auth või PAM) Üldjuhul põhineb kasutaja autentimine avalikel võtmetel. Klient proovib kaugjuhtimispulti installida SSHühendus, krüpteerib andmed talle teadaoleva avaliku serveri võtmega, mille ta saab esmakordsel serveriga ühenduse loomisel, ja edastab need SSH server. Server omakorda dekrüpteerib andmed ainult talle teadaoleva salajase võtmega ja saadab need kliendile. Sellise skeemi puhul saab klient olla kindel, et server on täpselt see, kes ta väidab end olevat. Seega ei saa loota DNS ja marsruutimine, isegi kui ründajal õnnestus rekord võltsida DNS või edastada paketid oma hostile, autentimine nurjub, kuna välismastidel pole selleks vajalikke võtmeid. Sest SSH see on muidugi täieõiguslik võrguprotokoll, see on ka teatud komplekt selle toimimiseks vajalikke programme, nii põhifunktsioone kui ka erinevaid lisafunktsioonid. Kuna me räägime FreeBSD operatsioonisüsteemist (teistes Unixi versioonides võib komplekt veidi erineda), siis põhikomponendid SSH, on:
  • sshd- see on tegelikult SSH server, deemonprogramm;
  • ssh- kliendiprogramm, millest on saanud asendaja rlogin ja telnet;
  • scp- programm protokolli kaudu kaugkopeerimiseks SSH, asendamine rcp;
  • sftp- turvaline ftp klient;
  • sftp-server- alamsüsteem, mis tagab failiedastuse protokolli kaudu SSH;
  • ssh-keygen- võtmegeneraator
  • ssh-keyscan- hostide avalike võtmete "koguja";
  • ssh-agent- autentimisagent privaatvõtmete hoidmiseks;
  • ssh lisamine- väike programm võtmete lisamiseks ssh-agent;
Nagu eespool öeldud, sshd, on serveri funktsionaalsuse eest vastutav programm SSH, käivitub see siis, kui operatsioonisüsteem käivitub. Protokolli kasutamiseks SSH kohe pärast FreeBSD installimist peate lubama deemonil töötada sshd installiprogrammis Sysinstall. Kuigi seda saab teha hiljem, eeldusel, et teil on juurdepääs serveri terminalile. Luba deemonil töötada sshd, saate läbi käivitusskripti /etc/rc.conf kirjutades järgmise rea: Loomulikult ei saa seda teha, vaid lihtsalt käivitage deemon konsoolist /usr/sbin/sshd, kuid järgmisel taaskäivitamisel ei käivitu see iseenesest, vastavalt protokolli kaudu serverile juurdepääs SSH teil seda pole, kuid kui server asub hostiteenuse pakkuja andmekeskuses, ei saa te seda kaughaldada. Sel põhjusel, kui kavatsete serverit kaughaldada, sshd installimise ajal lubatud.

SSH võimaldab valida erinevaid krüpteerimisalgoritme. SSH-kliendid ja SSH-serverid on saadaval enamiku võrguoperatsioonisüsteemide jaoks.

SSH
Nimi Turvaline Shell
Kiht (vastavalt OSI mudelile) Rakendatud
Perekond TCP/IP
Port/ID 22/TCP
Protokolli eesmärk Kaugjuurdepääs
Spetsifikatsioon RFC 4251
Peamised rakendused (kliendid)
  1. Parooliga autentimine on kõige levinum. Iga ühendus, nagu https, loob ühise Salajane võti liikluse krüpteerimiseks.
  2. Võtmepaari autentimisega luuakse konkreetse kasutaja jaoks avalike ja privaatvõtmete paar. Masinal, millega soovite ühenduse luua, on a privaatvõti, ja kaugmasinas - avage. Autentimise käigus neid faile ei edastata, süsteem kontrollib vaid, et avaliku võtme omanikule kuuluks ka privaatne võti. Kell see lähenemine, reeglina on OS-is konfigureeritud automaatne sisselogimine konkreetse kasutaja nimel.
  3. IP-aadressi järgi autentimine ei ole turvaline, see funktsioon on enamasti keelatud.

Diffie-Hellmani (DH) algoritmi kasutatakse jagatud saladuse (seansivõtme) loomiseks. Edastatud andmed krüpteeritakse sümmeetrilise krüptimise, AES-i, Blowfishi või 3DES-algoritmide abil. Andmeedastuse terviklikkust kontrollitakse SSH1-s CRC32 või SSH2-s HMAC -SHA1 /HMAC -MD5 abil.

Krüpteeritud andmete tihendamiseks saab kasutada algoritmi LempelZiv (LZ77), mis tagab sama tihendustaseme kui ZIP-arhiiv. SSH-tihendamine on lubatud ainult kliendi soovil ja seda kasutatakse praktikas harva.

Standardid ja tarkvara juurutused

Protokolli esimese versiooni SSH-1 töötas välja 1995. aastal Helsingi Tehnikaülikooli (Soome) teadur Tatu Ulyonen. SSH-1 kirjutati nii, et see oleks privaatsem kui rlogin-, telnet- ja rsh-protokollid. 1996. aastal töötati välja protokolli turvalisem versioon SSH-2, mis ei ühildu SSH-1-ga. Protokoll saavutas veelgi populaarsuse ja 2000. aastaks oli sellel umbes kaks miljonit kasutajat. Praegu viitab termin "SSH" tavaliselt SSH-2-le, kuna protokolli esimene versioon, kuna olulisi puudujääke nüüd peaaegu pole kasutatud.

SSH kasutamiseks Pythonis on sellised moodulid nagu python-paramiko ja python-twisted-conch.

SSH tunneldamine

SSH-tunnel on SSH-ühenduse kaudu loodud tunnel, mida kasutatakse tunneldatud andmete krüptimiseks. Kasutatakse andmeedastuse turvamiseks Internetis (IPsecil on sarnane eesmärk). Kui edastatakse SSH-tunneli kaudu, krüpteeritakse mis tahes protokolli krüpteerimata liiklus SSH-ühenduse ühes otsas ja dekrüpteeritakse teises.

Praktilist rakendamist saab teha mitmel viisil:

  • Socksi puhverserveri loomine rakendustele, mis ei tea, kuidas töötada läbi SSH tunneli, kuid saavad töötada läbi Socksi puhverserveri
  • Rakenduste kasutamine, mis võivad töötada läbi SSH tunneli.
  • Luues VPN-tunneli, mis sobib peaaegu iga rakenduse jaoks.
  • Kui rakendus töötab ühe kindla serveriga, saate SSH-kliendi konfigureerida lubama SSH-tunneli kaudu TCP-ühendusi, mis tulevad selle masina konkreetsesse TCP-porti, kus SSH-klient töötab. Näiteks Jabberi kliendid ühenduvad vaikimisi pordiga 443. Seejärel, et luua ühendus Jabberi serveriga SSH-tunneli kaudu, on SSH-klient konfigureeritud edastama ühendusi kohaliku masina mis tahes pordist (näiteks port 4430). juurde kaugserver(nt jabber.example.com ja port 443):

$ ssh -L 4430 :jabber.example.com:443 somehost

AT sel juhul Jabberi klient on konfigureeritud ühenduse loomiseks kohaliku hosti serveri pordiga 4430 (kui ssh-klient töötab Jabberi kliendiga samas masinas).

Ssh-tunneli loomiseks vajate töötava ssh-serveriga masinat ja juurdepääsu aadressile jabber.example.com. Seda konfiguratsiooni saab kasutada juhul, kui tulemüür blokeerib kohalikust masinast juurdepääsu saidile jabber.example.com, kuid seal on juurdepääs mõnele ssh-serverile, millel pole Interneti-juurdepääsu piiranguid.

SSH (Secure Shell) on võrguprotokoll kaugjuurdepääs A, mis kasutab edastatavate andmete jaoks krüptimist ja tihendamist. Lihtsamalt öeldes on see väga kasulik ja võimas tööriist, mis võimaldab teil süsteemis autentida ja täielikult töötada kohalik kasutaja, olles töötavast masinast paljude kilomeetrite kaugusel. Erinevalt telnetist ja rsh-st krüpteerib SSH kogu liikluse, nii et kogu edastatud teave jääb konfidentsiaalseks.

Niisiis, meil on ssh juba installitud ja ssh-deemon lisatakse automaatsele laadimisele süsteemi käivitamisel. Saate seda juhtida käsuga:

service ssh stop|start|restart

Ubuntus või:

/etc/init.d/ssh (start|stop|reload|force-reload|restart|status)

Debianis või:

systemctl start|stop|taaskäivitage sshd.service

ArchLinuxis (pärast iga konfiguratsiooni muutmist peate taaskäivitama). Pakett sisaldab klienti ja serverit.

Proovime seda tegevuses! Esiteks looge kaust ~/.ssh

mkdir ~/.ssh

Genereeri võtmed see kasutaja server käsuga:

ssh-keygen (tavakasutajana).

Genereerimisel saate määrata võtmele parooli (soovitavalt määratud ja pika – siis ei saa ründaja sisse logida isegi pärast võtme hankimist, kuid võtme parooli teadmata) või võite vahele jätta. seda lihtsalt vajutades "Enter" – sel juhul ei küsita parooli kunagi. Samad avalikud ja privaatvõtmed ilmusid kausta ~/.ssh.

Otsige üles mõni muu masin (seda teeb isegi nutitelefon - Androidis on mõned suurepärased SSH-kliendid, näiteks ConnectBot või JuiceSSH), installige sellele ssh ja looge serveriga ühendus käsuga:

ssh [e-postiga kaitstud]

Kui kõik on õigesti tehtud, küsitakse kasutajalt parooli ja pärast sisestamist leiate end oma süsteemist käsurealt vaatega.

Windowsi jaoks on muide ka serverid ja ssh-kliendid.

Olles nautinud oma töö tulemust, jätkame veelgi igavama osaga - kliendi / serveri seadistamisega.

Kliendipoolne konfiguratsioon on sisse lülitatud /etc/ssh/ssh_config ja server - /etc/ssh/sshd_config. Enamik täielik juhend konfiguratsiooni jaoks on tõenäoliselt man-leht - man ssh ja man sshd_config, seega soovitame seda lugeda. Ja selles artiklis käsitleme kõige vajalikumaid asju.

Seadistamine

Standardne ssh-port on 22. Seda saab muuta mis tahes mittestandardseks (mis muudab võimaliku häkkimise keeruliseks turvalisuse tõttu läbi varguse või potentsiaalsete häkkerite tähelepanu äratamiseks :) - selleks tühjendage rida:

#Port 22

Ja lisage mida iganes soovite kuni 65535 (veendudes, et port ei oleks käsuga vastuolus teiste teenustega #netstat -tupln | grep KUULA).

Nüüd peab klient serveriga ühenduse loomisel kirjutama võtmega:

ssh -p [port]:

Vaikimisi on juurjuurdepääs lubatud. Väga soovitav on seda piirata (ja selle asemel sudo abil korrektselt piiritleda kohaliku kasutaja õigused). Selleks leidke rida "PermitRootLogin" ja muutke väärtuseks "no". Samuti saate selle muuta "ilma paroolita" - sellisel juhul on root kasutajana sisselogimine lubatud ainult usaldusväärse võtmega masinate alt.

Saate parooli autentimise keelata ja töötada ainult võtmetega - leidke rida: "PasswordAuthentication" ja muutke väärtuseks "ei". Milleks? Kui keegi tõesti soovib teie süsteemile juurdepääsu saada, võib ta autoriseerimisel parooli jämedalt sundida või teie ühendust kuulata ja dekrüpteerida. Kui keelate parooliga autentimise ja lisate oma näiteks töösülearvuti avaliku võtme serverisse ~/.ssh/authorized_keys, siis nagu mäletame, lubatakse meid kohe serverisse. Aga mis siis, kui töötate kellegi teise masinaga ja teil on kiiresti vaja pääseda juurde ssh-serverile, kuid see ei lase meid oodatult sisse? Siis ei saa parooliga autentimist keelata, vaid kasutada fail2ban utiliiti. Installige see lihtsalt oma hoidlast, pärast mida rakendab see vaikesätted ja kaitseb teie ssh-kanalit vähemalt jõhkrate jõurünnakute eest. Lisateave fail2bani kohta - http://putty.org.ru/articles/fail2ban-ssh.html.

Kui teie serveril on võtmed tuumarakettide käivitamiseks, saate teha midagi sellist:

PermitRootLogin ei – root alla sisselogimine on keelatud.

PasswordAuthentication ei – logige sisse ilma paroolita

Loome kaugmasinas pika võtme (-t krüptimise_tüüp, -b biti pikkus):

ssh-keygen -t rsa -b 4096

Sama keerulise parooliga (taasta unustatud parool, muide, see on võimatu. Saate seda muuta käsuga "ssh-keygen -p", kuid teilt küsitakse nagunii vana). Teisaldage kohaliku kaugmasina avalik võti serveri ~/.ssh/authorized_keys alla ja voila, nüüd pääsete sellele juurde ühest masinast, kasutades privaatvõtme parooli. SSH võimaldab teil seadistada palju turvakonfiguratsioone ja sellel on selle jaoks palju spetsiifilisi sätteid – lugege nende kohta inimesest.

Kaks sshd_config suvandit teenivad sama eesmärki:

LoginGraceTime- määrab aja, mille möödudes ühendus katkeb, kui autentimist ei toimu.

MaxAuthTries- määrab kehtetute sisselogimiskatsete arvu, mille saavutamisel ühendus katkestatakse.

MaxSessions- samaaegsete seansside arv (kui serveriks on teie koduarvuti, millega kavatsete ülikoolist või töölt ühendust võtta, siis oleks mõistlik piirata seansside arvu ühega - tagasilükatud sisselogimine, antud juhul , on põhjus paranoia suurendamiseks, uute võtmete genereerimiseks ja parooli muutmiseks). Kui olete aga ettevaatlik, võite märgata, et iga serverisse sisselogimisel kuvatakse rida "Viimane sisselogimine". Lisaks saate lisada oma tervitussõnumi – leidke rida "Bänner" ja määrake mitte ühegi asemel tee failini, mille tekst loetakse ja kuvatakse sisselogimisel.

Muuhulgas saate lubada sisse logida ainult teatud kasutajatel või lubada kõigil peale teatud kasutajate:

AllowUsers user1- luba ainult sisselogimine kasutaja1.

DenyUsersi kasutaja1- lubage kõik peale kasutaja1.

Ja sarnased juurdepääsuvõimalused teatud rühmad- AllowGroups ja DenyGroups.

Samuti saate X11 seansi SSH kaudu üle kanda. Selleks leidke rida "ForwardX11" ja muutke väärtuseks "yes".

Leidke sarnane rida kliendi konfiguratsioonist - /etc/ssh/ssh_config ja muutke see ka väärtuseks "jah".

Nüüd peate serveriga ühenduse looma ssh-i kaudu argumendiga -X:

ssh -X [e-postiga kaitstud]>

Rakenduse saate ühenduse loomisel kohe käivitada:

ssh -X [e-postiga kaitstud]"lisa"

Töötav GIMP näeb ssh-seansil välja järgmine:

Või saad väljundi pahaaimamatu kasutaja sülearvuti veebikaamerast :)

Arvutused tehakse otse serveris ja väljund edastatakse klientmasinasse (st isegi kui serverisse endasse pole installitud X11, saab graafilisi rakendusi renderdada teie kaugmasinas). See skeem töötab üsna aeglaselt (ärge unustage, et kogu liiklus on dünaamiliselt krüptitud) - kuid see funktsioon on väga kasulik.

Faile saab kopeerida ka SSH-seansi kaudu – selleks on olemas lihtne "scp" utiliit. Saate faile otse seansi käigus serverist kliendile edastada:

scp [e-postiga kaitstud]:/tee/failile/serveris /kuhu/kuhu/salvesta/kohalik/masin

Nii et kliendilt serverile:

scp tee/failile/kliendile [e-postiga kaitstud]:/tee/serveris

See on üsna mugav, kui teil on vaja teksti või fotot kopeerida, aga mis siis, kui peate töötama paljude failidega? Selleks on kõige mugavam asi - sshfs (saadaval installimiseks enamiku * nix süsteemide hoidlatesse).

Lihtsalt määrake tee samamoodi nagu scp:

sshfs [e-postiga kaitstud]:/kodu/kasutaja /mnt/

Ja serveri /home/user kaust ilmub kohaliku masina /mnt ühenduspunkti!

Lahtimonteerimine toimub umounti kaudu.

Ja lõpuks räägime ühest vähetuntud funktsioonist. Kui loote faili /.ssh/config ja täida see nii:

host [nimi]

hostinimi

Kasutaja [serveri kasutajanimi]

soovitud valikud

meeldib

EdasiX11 jah

Port 30000

Seejärel saame sisse logida järgmiselt:

ssh [nimi]

ssh -X -p 30000 [e-postiga kaitstud]

Ja kõik valikud valitakse automaatselt. Seega, sagedase autentimisega konkreetses serveris, lihtsustate seda protsessi mõne hetkega.

Noh, oleme käsitlenud kõike (ja rohkemgi), mida peate SSH kohta igapäevaseks kasutamiseks teadma – õppinud kasutama võtme autentimist, toore jõud kaitses serverit häkkimise eest ja üldiselt lappisime enamiku võimalikest aukudest. Tegelikult saab SSH teha palju muid asju - näiteks tunneldada ja pordi edastada ssh-seansi kaudu, kuid on ebatõenäoline, et teie kui kõige tavalisem kasutaja seda kunagi kasutate. Lisaressursid

Sissejuhatus

Eelmises numbris käsitleti Interneti-serverite turvalisust käsitlevas artiklis Interneti-serveri platvormi ja operatsioonisüsteemi valiku, serveri turvalisusega seotud küsimusi üldiselt nii kasutajatega töötamise kui ka töö ja tulemüüri seaded. Tuletan lühidalt meelde, et kaalume väikese kontori või koduvõrgu haldamist, kui teil on üks või kaks spetsiaalset arvutit. Esimesel juhul, kui üks arvuti on tulemüüri pluss meiliserver, veebiserver ja võib-olla ka ftp-server. Lihtsamalt öeldes kasutatakse spetsiaalset arvutit jagatud ressursina. Teisel juhul, mis tähendab kohalolekut suur võrk, ühte arvutit kasutatakse lüüsina pluss tulemüürina ja teist kasutatakse meiliserverina, veebiserverina jne. Põhimõtteliselt on eelistatavam teine ​​meetod, kuna eraldate lüüsi kui esimese võimaliku löögi objektiks häkkerite rünnaku korral ja jagatud server võrgud. Igal juhul võite edaspidi ignoreerida eraldatud arvutite arvu, pidades samal ajal meeles, et isegi kui neid on kaks, on ebamõistlik laadida neid muude ülesannetega.

Kõik järgnev järgib eelmise artikli joont, eeldades, et server on Linuxi masin ja kasutaja on Linuxi ja võrgundusega algtasemel tuttav. Näidetes toodud ideed on võetud erinevatest Linuxi käsiraamatutest. Mida me siis seekord vaatame? Esiteks serverirakendused, mida soovite serverisse installida. Teiseks võrgurünnakud (sealhulgas Linuxi viiruste tüübid ja Trooja hobused) ja nende vastu võitlemise meetodid. Miks on need küsimused ühte artiklisse koondatud? Fakt on see, et tavaliselt toimub häkkimine kas administraatori hooletuse või serverirakenduste kaitse lünkade tõttu. Klient, nagu juba sõnast järeldub, ei halda süsteemi ressursse, seega on ilmselge, et just serverid võivad saada rünnaku objektiks.

Serverirakenduste kaitse

Igaüks, kes tunneb UNIX-i, mõistab seda peaaegu iga võrguprogramm saab kasutada nii kliendi kui ka serverina. Esimesel juhul kasutate teenuseid, teisel juhul pakute neid. On selge, et võrguteenuses on vaja mõlemat osa. Küsimus on selles, milliseid serveriprogramme on teie võrgu serveris vaja. Linuxi installimisel saate loomulikult valida vähemalt kõik, kuna kettale installimine ei tähenda veel käivitamist. Aga milline neist siis aktiveerib? Seal on lihtne retsept, mida ma ise alati serveritega töötades järgin - mida vähem servereid aktiveeritakse, seda parem (üldisemalt: mida keerulisem asi, seda lihtsam on seda lõhkuda). Ükskõik kui palju UNIXi töökindlusest räägitakse, leitakse ja lapitakse siin regulaarselt auke. Seega, mida vähem programme käivitate, seda vähem peate neid jälgima. AT päris elu seda ei tohiks muidugi taandada asjaolule, et keelate kasutajatel sõna otseses mõttes kõike. See on muidugi ohutu, aga milleks siis üldse administraator? Kindlasti ei tohiks aga sättida mittevajalikke asju, nagu wais.

Telnet ja ssh

Nüüd vaatame lähemalt, mida nii sise- kui ka väliskasutajad tegelikult vajavad. Vaja on telnetit ja ssh-d (turvaline kest). See ei pruugi olla väga mugav juurdepääs, kuid see on vajalik, vähemalt administraatorite jaoks. See on programm, mis pakub juurdepääsu terminalirežiimis, kui teie arvutis on 80x25 tähemärgi aken, mis kajastab täielikult väljakutsutavat serverit. Saate täita mis tahes käske ja käivitada programme, mis ei kasuta graafikat - üldiselt on see tavaline kaugterminal. Erinevus telneti ja ssh vahel tuleneb nimedest, aga selgitame siiski: telnet edastab infot ebaturvaliselt, isegi parool edastatakse üle võrgu selgeteksti ja ssh krüpteerib kogu edastatava info. Kui tahad turvalisuses enam-vähem kindel olla, siis keela telneti kasutamine või ära käivita seda üldse. Noh, kui sa ikka tahad seda kasutada, siis loomulikult pead kasutama tulemüüri. Standardkäsud võivad olla järgmised:

ipfwadmi jaoks -

Ipfwadm -I -a aktsepteerimine -P tcp -S 10.0.0.0/8 -D 0.0.0.0/0 23 ipfwadm -I -a aktsepteerimine -P tcp -S some.trusted.host -D 0.0.0.0/0 23 ipfwadm - I -a eitan -P tcp -S 0.0.0.0/0 -D 0.0.0.0/0 23

ipchainsi jaoks -

ipchains -A sisend -p kõik -j ACCEPT -s 10.0.0.0/8 -d 0.0.0.0/0 23

ipchains -A sisend -p kõik -j ACCEPT -s some.trusted.host -d 0.0.0.0/0 23 ipchains -A sisend -p kõik -j KEELDA -s 0.0.0.0/0 -d 0.0.0.0/0 23

Võite kasutada ka faile /etc/hosts.allow ja /etc/hosts.deny, mille jaoks peaksite vastavalt kirjutama:

esimeses failis -

in.telnetd: 10.0.0.0/255.0.0.0, some.trusted.host

teises failis -

in.telnetd: KÕIK

Märgin, et isegi kui need reeglid on lubatud, võib iga programm, mis kuulab võrku kuskil parooliga paketi teekonnal, seda pealt kuulata.

Veel kaks olulisemat faili, mille teave on seotud süsteemi turvalisusega, on /etc/securetty ja /etc/shells. Esimene määrab terminalid, millest juurkasutaja saab sisse logida. Enamikus süsteemides saab juurkasutaja vaikimisi sisse logida ainult konsoolist. Teine fail määrab loendi kehtivatest ümbrisprogrammidest, mida saab käitada, kui kasutaja sisse logib. Kena näide, mille sain Linuxi käsiraamatust, on passwd kasutamine kestana. See muudab kasutajate jaoks parooli muutmise lihtsaks ja tagab ka selle, et nad ei pea terminalirežiimis midagi muud tegema. Selleks tuleb /etc/shells faili lisada programm passwd ise ehk sisestada rida:

/usr/bin/passwd

ja sisestage faili /etc/passwd kasutaja kohta:

Kasutajanimi:x:1000:1000::/home/kasutajanimi:/usr/bin/passwd

Nüüd saab kasutaja võrku sisse logides muuta ainult parooli. Väljund terminalile näeb välja umbes selline:

Proovin 1.2.3.4… Ühendatud kohaliku hostiga. Põgenemismärk on "^]". Red Hat Linuxi väljalase 5.2 (Apollo) Kernel 2.2.5 i586 sisselogimisel: testija Parool: testija parooli muutmine (praegune) UNIX-i parool: Uus UNIX-i parool: Sisestage uus UNIX-i parool: passwd: kõiki autentimislubasid värskendati edukalt Ühenduse katkestas välismaa peremees.

Isegi kui parooli muutmise katse ebaõnnestus, katkestatakse süsteemi ühendus. Ühenduse loomisel peaksite pöörama tähelepanu ka esialgsele väljundile: telnet kirjutab ausalt süsteemi nime ja versiooni. Üldiselt on see mugav, kuid sel juhul annate potentsiaalsele häkkerile teavet, mida ta saab oma eesmärkidel kasutada. Kuidas seda vältida? Kui kasutaja logib sisse, kuvab telnet süsteemi käivitamisel loodud faili /etc/issue.net. See luuakse failis rc.local olevate käskudega:

# See kirjutab faili /etc/issue igal alglaadimisel üle. Seega tehke siin failis /etc/issue kõik muudatused, mida # teha soovite, vastasel juhul kaotate need taaskäivitamisel. echo "" > /etc/issue echo "$R" >> /etc/issue echo "Kernel $(uname -r) asukohas $a $(uname -m)" >> /etc/issue cp -f /etc/ väljaanne /etc/issue.net echo >> /etc/issue

Seega, kui te süsteemi ei taaskäivita, saate lihtsalt redigeerida faili /etc/issue.net, vastasel juhul redigeerida faili rc.local ennast. Telneti on igal juhul soovitatav kasutada ainult siis, kui see on tõesti vajalik ja seda ei saa ssh-ga asendada.

Ssh-programm sarnaneb kasutaja seisukohast telnetiga. Erinevalt telnetist, mis kasutab porti 23, kasutab see porti 22, kuid peamine sisemine erinevus seisneb selles, et kogu liiklus on krüpteeritud. Muus osas on nad sarnased. Ssh-i puhul saate kasutada samu tulemüürireegleid (asendatud pordinumbriga) ja sätteid /etc/hosts.allow, /etc/hosts.deny. Hea omadus on omaenda konfiguratsioonifaili /etc/sshd/sshd_config olemasolu, mis sisaldab järgmisi konfiguratsiooniridu:

Port 22 # pordi number, mis võib olla midagi muud kui 22 ListenAddress 0.0.0.0 #, mis adresseerib HostKey deemonit teenindab /etc/ssh/ssh_host_key # kliendi koodifail RandomSeed /etc/ssh/ssh_random_seed # juhuslike numbrite fail, mida kasutatakse koodide genereerimiseks ServerKeyBits 768 # koodi pikkus bittides LoginGraceTime 300 # aeg kasutajanime ja parooli sisestamiseks KeyRegenerationInterval 3600 # koodide regenereerimise sagedus PermitRootLogin ei # kas juurkasutaja saab sisse logida ssh kaudu IgnoreRhosts jah # ignoreerida või mitte kasutaja.rhosts teavet fail StrictModes jah # range režiim, blokeerib kasutaja vead, näiteks parooli sisestamine 5 korda # või juhuslik vajutamine sisesta QuietMode ei # jah - logifaili üldse mitte kirjutada ja ei - muidu X11Edastamine ei # saada X-serveri teavet ssh-kanali kaudu FascistLogging ei # logifailide täielikkuse aste PrintMotd jah # kuva mõne fraasi päevast KeepAlive jah # säilitada side, pakkudes standardset lahtiühendamist SyslogFacility DAEMON #, kes vastutab logifailide loomise eest RhostsAuthentication ei # luba kasutajat kontrollida rhosts'i kaudu RhostsRSAAuthentication ei # on kontrollimine rhosts või /etc/hosts.equiv kaudu piisav või mitte # vaikimisi on seatud jah RSAAuthentication jah # kasuta ainult RSA kinnitust PasswordAuthentication jah # kasuta kasutajaid tavaliste paroolidega või mitte PermitEmptyPasswords ei # luba kasutajaid ilma paroolita või mitte

Seal on ka mõned kasulikud seaded, eelkõige:

AllowGroups, DenyGroups, AllowUsers, DenyUsers, AllowHosts, DenyHosts, IdleTimeout aeg (aeg, mille möödudes ühendus katkeb tegevusetuse korral).

Nagu ülaltoodust järeldub, on üldiselt ssh-l nii palju seadistusi, et saab täpselt määrata, kes ja kuidas saab sisse logida. Kuid see puudutab serverit ja võrgukasutajad peavad käivitama ssh-kliente. Erinevalt telnetist, mis on saadaval Windowsis, ei sisaldu ssh standardses distributsioonis. Linuxil seda probleemi pole – klient on samuti olemas. Oluline on märkida, et ssh-deemon on saadaval nii esimeses kui ka teises versioonis. See on muidugi masendav, et tagasiühilduvust pole, kuid olen kindel, et administraatorina pakute kasutajatele kliente, mis saavad serveriga suhelda. Siin on mõned Windowsi ssh-kliendid:

  • Värske FreeFiSSH. http://www.massconfusion.com/ssh/
  • Tera Term. http://hp.vector.co.jp/authors/VA002416/teraterm.html Telneti klient. http://www.zip.com.au/~roca/ttssh.html – täiendav dll ssh-toe jaoks
  • kitt. http://www.chiark.greenend.org.uk/~sgtatham/putty.html – kokku umbes 200 000
  • Mindterm http://www.mindbright.se/mindterm/ – Java ssh-klient
  • Java Telneti rakendus. http://www.mud.de/se/jta/ - ssh-tugi on olemas
  • Turvaline CRT. http://www.vandyke.com/ - äriklient

Terminalijuurdepääsu tuleks mainida ka seoses selliste programmidega nagu rlogin, rexec, rsh. Nende kasutamine on ilma igasuguse turvalisuseta ja mõnikord võimaldab kasutajatel isegi masinast masinasse liikuda ilma parooli sisestamata. Kuigi see on turvalisuse seisukohast mugav, ei sobi see lihtsalt kuhugi. Sellised teenused käivitatakse tavaliselt vaikimisi. Nende tühistamiseks peate redigeerima faili /etc/inetd.conf ja taaskäivitama inetd-deemoni. Üldiselt ammendavad telnet ja ssh terminali juurdepääsu võimalused süsteemile. Seetõttu liigume edasi teiste kasutajatele kasulike serverirakenduste juurde.

Post või e-kiri

Mida on vaja, et inimestel oleks e-post, ilma milleta pole inimestevaheline suhtlus sageli isegi mõeldav? Üsna levinud viis on luua meiliserver, luua igale kasutajale sinna postkast ja seadistada pop-deemon, et inimesed saaksid selle kirja üles korjata. Kuid selleks, et server saaks kirju vastu võtta ja saata, on vaja installida postiprogramm nagu sendmail, postfix või qmail, mis töötleb kirju UNIX-i masinas. Traditsiooniliselt on selleks otstarbeks kasutatud sendmaili. Nüüd kasutatakse seda ka enamikes masinates, kuid ülejäänud kaks mainitud programmi on selle head ja isegi täiustatud asendajad. Põhiprobleemid on nagu ikka seotud siiski kaitsega uusimad versioonid sendmail (8.9.x) on üsna stabiilsed.

Sendmail on saadaval kõikides Linuxides, kusjuures uusimad distributsioonid sisaldavad tõenäoliselt versiooni 8.9.x. Programm kasutab mitmeid konfiguratsioonifaile, mida ta töötamise ajal sõelub. Kuid enne konfiguratsioonist rääkimist märgime, et programmi saab käivitada nii deemonina kui ka ooterežiimis. Esimesel juhul kuulab see porti pidevalt ja teisel juhul aktiveeritakse see üks kord ja töötleb lihtsalt kogu sissetulevat teavet. Teine meetod on turvalisuse seisukohast eelistatavam. Selleks peate lihtsalt käivitamisrealt eemaldama parameetri -bd.

Nüüd konfiguratsioonist. Põhifail on sendmail.cf, millel võib olla, aga ei pruugi olla linke teistele failidele. Analüüsitakse ka juurdepääsufaili, kuhu saab panna sellised aadressid, kust (või kuhu) kirju ei saadeta. Näiteks kanded:

10.0.0 RELAY rämpspost.com KÜLKA

tähendab, et aadressilt.spam.com e-kirju ei võeta vastu, küll aga saab vastu võtta ja saata e-kirju sisevõrgust.

Teine kasulik ja kasutatud fail on varjunimed. See määrab, milliseid nimesid tõlgendatakse antud kasti nimena. Näiteks kui määrate

Petrov: täht

kirjad, mis saabuvad Petrovile kl [e-postiga kaitstud], saadetakse kasti [e-postiga kaitstud] isegi kui keegi ei tea päris aadress. See on kasulik eelkõige siis, kui soovite, et kirjad saadetakse juhile, kes soovib, et postkasti ei nimetataks halduriks, vaid tema enda postkasti. See tähendab, et juht annab oma aadressi ainult neile, keda ta vajalikuks peab, ja haldur ripub veebilehel. Ilmselgelt toob see juhi vahetumisel kaasa maksimaalse mugavuse. Saate samasse postkasti ümber suunata nii palju nimesid, kui soovite.

Virtusertable fail määrab vastendamise ühelt aadressilt teisele, näiteks:

[e-postiga kaitstud] juht

Nende kahe faili (aliased ja virtusertable) abil saate kirju dubleerida, et kõik sissetulevad kirjad salvestada. Kogu trikk seisneb selles, et esmalt vaadatakse virtuaalset faili ja seejärel varjunimesid. Kui virtusertable viimase kirjega sisestage varjunimede faili:

Haldur: täht, "/var/spool/mail2/star"

siis kirjutatakse nii halduri aadressile kui ka täheaadressile saabuvad kirjad tavalisse /var/spool/mail kataloogi ja /var/spool/mail2.

Üks peamisi erinevusi postfixi ja sendmaili vahel on selle modulaarsus (nagu teeb qmail). Erinevalt sendmailist käivitatakse ainult väike osa koodist, vaid üks moodul, administraatorina ja kõik muud osad käivitatakse vastavalt vajadusele ja neil on oma seadistused. Üldiselt asuvad postfixi konfiguratsioonifailid tavaliselt kaustas /etc/postfix. Fail manager.cf juhib erinevate moodulite tööd, määrates kasutajad, kelle all need töötavad, ja protsesside arvu. Main.cf fail on peamine konfiguratsioonifail ja määrab e-posti enda toimimise peamised parameetrid. Siin on selle ligikaudne vaade koos selgitustega (täpsemalt need komponendid, mida tuleb tõenäoliselt redigeerida):

# masina nimi myhostname = mail.example.org # domeen mydomain = näide.org # millise aadressi nimel te kirju saadate myorigin = $minudomeen # millistel liidestel peaks programm töötama inet_interfaces = kõik # virtual_maps fail virtual_maps = hash:/ etc/postfix /virtual # aliase asendusfail alias_maps = hash:/etc/postfix/aliases # kataloog, kuhu kasutaja saabumisel kirju spoolida spool käsk mailbox_command = /usr/sbin/scanmails # fail, mis määrab aadressid, kirjad, millest ja kuhu peaksid liikuma # vabalt relay_domains = /etc/postfix/relaydomains # kohalikud masinad mynetworks = 10.0.0.0/24, 127.0.0.0/8 # mida kuvada, kui kasutajad loovad ühenduse pordiga 25 smtpd_banner = $myhostname ESMTP $mail_name

Postfixi programmi saate aadressilt http://www.postfix.org.

Räägime nüüd POP- ja IMAP-protokollidest. Esimene töötab 110. sadamas, teine ​​- 143. sadamas. Põhimõtteliselt taotlevad mõlemad sama eesmärki, kuid neid rakendatakse erineval viisil. POP (postkontori protokoll) on üsna vana ja kehv protokoll. Kõik, mis see võimaldab, on serveriga ühenduse loomine, kirjade vastuvõtmine ja nende kustutamine serveri postkastist. IMAP-protokoll arenenum. See võimaldab hallata kirju otse serveris. Te ei saa kõiki kirju alla laadida, vaid võtke ainult kirjade päised, looge serveris katalooge ja levitage kirju nende vahel. Turvalisuse seisukohast on need protokollid samad, seega on probleemide vältimiseks soovitatav kasutada tulemüüri. Nende protokollide liikluse saab panna ka ssh-i. Väga oluline on kontrollida kirju viiruste suhtes. Kuigi viirused ei ole UNIXis probleemiks, on paljud kasutajad Windowsi kasutajad, kuid mõistlik on e-kirju käivitada läbi skanneriprogrammi, näiteks AMAVIS. Lihtsaim viis seda teha (loomulikult eeldatakse, et AMAVIS programm on juba installitud), kui konfiguratsioonireal on postfix

mailbox_command = /usr/bin/procmail

Mailbox_command = /usr/sbin/scanmails

Lühidalt sellest, kuidas kasutaja töökohal kirju vastu võtab ja saadab. Õnneks on kõik populaarsed programmid POP- või IMAP-kliendid (ma pean silmas vähemalt Netscape'i ja Outlooki). Lisaks, kui administraator on andnud võimaluse pääseda serverile telneti või ssh-i kaudu, saate kirju vaadata ja nendega terminalirežiimis töötada (sel juhul on seda raskem kätte saada). Selleks tuleb luua ühendus serveriga ja käivitada terminalis mõni meiliprogramm, näiteks mail või pine. Viimane on palju mugavam ja on menüüga täisekraanprogramm, ainult tekstirežiimis.

Juurdepääs failidele ja võrguprintimine

UNIX-süsteemil on kaks standardsed vahendid- NFS ja LPD. Esimene võimaldab teil luua võrgufailisüsteeme, teine ​​- printida printerile. Mis puudutab Windowsi UNIX-i masina ressursside kasutamist, siis mulle tundub, et Samba (SMB) on selleks kõige sobivam. See programm võimaldab teil pääseda juurde failidele ja pakub ka võrguprintimist Windowsi masinast UNIX-serveri kaudu. Kuna see artikkel puudutab peamiselt serveri turvalisust, siis tuleb tähele panna, et võrgusisene ressursside jagamine ei ole välise tulemüüri reeglite tavapärase konfiguratsiooni juures muidugi ohtlik. Siin võivad tekkida teistsugused probleemid, mis on seotud asjaoluga, et kõigil ei tohiks olla juurdepääsu sellele või teisele teabele, kuid seda reguleerivad täielikult failide ja kataloogide atribuutide sätted. Ükskõik kui kaval administraator sa ka poleks, sa ei saa ära hoida olukorda, kus näiteks keegi unustab oma ssh-seansi sulgeda ja lahkub arvutist. Teine asi on see, kui annate juurdepääsu mõne faili lugemiseks, kuid need on liiga ilmsed asjad, et neil konkreetselt peatuda. Seetõttu keskendume nüüd serverirakenduste kaalumisele, mis on kasulikud mitte ainult sisekasutajatele, vaid ka välistele kasutajatele. Pean silmas peamiselt veebiserverit ja võib-olla ka ftp-d. Ilma esimeseta on praegu raske ette kujutada väikseimat ettevõtet või isegi lihtsalt võrku ja teise olemasolu sõltub sellest, kas teil on reaalne vajadus mõned andmed eraldi ftp-serverisse üles laadida.

Veebi- ja ftp-serverid

Paljude praegu olemasolevate veebiserverite seas on Apache populaarsuse ja jõudluse osas vaieldamatu liider. See server ühendab endas kiiruse, stabiilsuse, kõrge turvalisuse ja samal ajal on see tasuta. Sellist programmi pole alati võimalik oma eesmärkidel leida, kuid siin see on. Ja tuleb tunnistada, et programmi autorid teevad palju pingutusi, et saavutada maksimaalne efektiivsus ja töökindlus. Esiteks paneme tähele, et kui kasutate veebiserverit ainult sisemistel eesmärkidel, näiteks süsteemi administreerimiseks või failide jagamiseks, siis tuleb seda välismaailma eest kaitsta tulemüüridega. Kui see on server kõigile, siis peate mõistma, et see on kõigile avatud. Sellepärast on vaja seda korralikult jälgida, nimelt: hoolikalt ja õigesti konfigureerida ning logifaile juhtida, et võimalik rünnak eelnevalt kindlaks teha. Mis puutub turvalisusesse, siis serveril endal on süsteemile väga väike juurdepääs, kuna ainult selle esimene eksemplar töötab administraatorina, ülejäänud aga tavaliselt mittekellegi nime all. Lisaks on serveri seadetes, st failides httpd.conf, smr.conf, access.conf, selgelt näidatud, millistele kataloogidele on serveril juurdepääs ja millistele mitte. Kui kirjutate näiteks faili httpd.conf:

Valikud Puudub AllowOverride Puudub Valikud Indeksid FollowSymLinks Sisaldab AllowOverride None

siis märgite selgesõnaliselt, et serveril on juurdepääs ainult /WWW kataloogile, kuhu peate paigutama kogu materjali saidi (või saitide), mille tööd server pakub. Kui soovite olla kindel, et keegi ei muuda juurdepääsuõigusi, lisades mis tahes kataloogi näiteks .htaccess-faili, siis sisestage srm.conf:

käsk luba, keela keela kõigilt

Turvalisuse seisukohalt pole mõtet teistest sätetest täpsemalt rääkida, seda enam, et installeerimine ja minimaalne seadistamine Apache server kirjeldati eelmises numbris sellele teemale pühendatud artiklis.

Eraldi peaksime peatuma https (turvalise http) protokolli kasutamisel. See protokoll töötab tavaliselt pordil 443 (erinevalt standardsest http-st, mis töötab pordis 80). Apache'i rikastamiseks sellise funktsiooniga nagu turvaline http on vähemalt kaks võimalust. Esimene on avatud ssl-plugina kasutamine ja teine ​​​​mooduli mod_ssl kasutamine. Mõlemad võimalused annavad peaaegu sama tulemuse. Üldiselt saab 443. pordi kaudu ühendusi luua https-i abil. See loob serverile sertifikaadi, mida kliendid ühenduse loomisel kontrollivad. See välistab (muidugi mitte absoluutse garantiiga) liikluse kuulamise. Serdi loomiseks openssl-i kasutamisel peate väljastama käsud:

openssl genrsa -des3 > httpsd.key openssl req -new -key httpsd.key > httpsd.csr

ja failid peavad asuma serveri konfiguratsioonifailidega samas kataloogis. 443. pordiga serveri normaalseks tööks peate muutma ka konfiguratsioonifaile. Peate sisestama midagi sarnast

# kuula pordil 443 (vaikimisi kuulab server ainult porti 80) Kuula 443 # keela ülemaailmne kasutamine ssl SSLDisable #, kus server lisab ajutise teabe ssl-ühenduse kohta. # Ilma selle sätteta server ei tööta SSLCacheServerPath /usr/bin/gcache # port, mille kaudu server suhtleb CashServeriga SSLCacheServerPort 12345 # CashServer SSLSessionCacheTimeout 300

Pärast neid seadistusi on teie server põhimõtteliselt valmis https-iga töötama, kuid praegu on see protokoll keelatud. Hea mõte on luua virtuaalne host, millel on sama nimi kui teie vaikehostil, kuid mis määrab selgesõnaliselt pordi 443, teisisõnu, teil töötab nüüd veebiserver. See töötab pordis 80 ja kasutab http-protokolli. Lisades apache-ssl ja ülalkirjeldatud seaded, olete andnud kasutajatele võimaluse suhelda teie serveriga https-protokolli kaudu. On ebatõenäoline, et kogu teie serveris olev teave on nii salastatud, et soovite kogu selle välja anda ainult turvalise ühenduse režiimis. Apache server võimaldab teil luua virtuaalseid masinaid, st saate deklareerida mõne hosti juurkataloogi, anda sellele nime, registreerida konfiguratsioonifailide komplekti ja kõike muud vajalikku, kuid füüsiliselt asub see arvutisse ja seda juhib teie enda server. Meie puhul ei pea te isegi teist nime panema, kuna see on sama, lihtsalt erinev port. Selline seadistus võib välja näha järgmine:

DocumentRoot /www/secure/ ServerName www.example.com ServerAdmin [e-postiga kaitstud] ErrorLog logs/https_error.log TransferLog logs/https_access.log # Luba ssl selle virtuaalhosti jaoks SSLELuba # Nõua ainult ssl-i SSLRequireSSL SSLCertificateFile /usr/conf/httpsd.crt SSLCertificateKeyFile/https_access.

Lisaks http-le on olemas ka ftp - kasulik ja mugav teenus, eriti kui teil on palju faile, mida kasutajad peavad alla laadima (näiteks esitate mõned uuringuandmed). FTP eelis http ees on kiirus. FTP-protokollil on minimaalselt teenuseteavet. Siiski on sellega palju probleeme. Peamine on selle "vanus": ftp on sama vana kui telnet. Siit tekivad koheselt turvalisusega seotud raskused: kasutajanimi ja parool edastatakse selge tekstina ning edastatava info liiklust ei kaitse miski. Lisaks saab ftp edastada ainult faile. Seega, kui sul on mingi info, mis on kõigile kättesaadav, siis on mõistlik luua üks kasutaja, kelle nime alla kõik sisenevad. Sageli nimetatakse sellistes ftp-arhiivides seda kasutajat anonüümseks ja ta edastab paroolina oma meiliaadressi. Sel juhul on turvaprobleeme palju vähem. Eriti juhul, kui peate pakkuma ftp-juurdepääsu mitmele kasutajale, tehke chroot, et nad saaksid faile ainult oma kataloogidesse panna. Mis puutub serveritesse, siis loomulikult on need saadaval tavalistes distributsioonides, kuid võib-olla soovite installida mitte standardset ftpd-d, vaid mõnda muud.

Üks populaarsemaid ftp-servereid on proftpd. Selle konfiguratsioonifailid on sarnased Apache'i omadega, mis muudab nendega kohanemise lihtsamaks, kuna teie veebiserver on tõenäoliselt Apache. Peamine konfiguratsioonifail on /etc/proftpd.conf. Selle ligikaudne vorm võib välja näha selline:

Serverinimi "ProFTPD vaikeinstallimine" Serveri tüüp inetd Vaikeserver pordis 21 Umask 022 MaxInstances 30 User nobody Grupeeri kedagi Luba ülekirjutamine sisse

Ülaltoodud loetelu näitab, et server käivitatakse inetd kaudu, standardpordil 21, maksimaalne koopiate arv on 30 ja see käivitatakse kui grupp ja kasutaja ei keegi. 022 - failiatribuutide mask loomise ajal, mida algselt rakendatakse vaikimisi. See konfiguratsioon ei anna juurdepääsu anonüümsele kasutajale. Selleks peate kirjutama ligikaudu järgmised konfiguratsiooniseaded:

Kasutaja ftp rühm ftp RequireValidShell väljas UserAlias ​​anonüümne ftp MaxClients 10 DisplayLogin welcome.msg DisplayFirstChdir .message Keela kõik

Pärast sellist lisamist on võimalik töötada anonüümselt ja faile ainult lugeda, see tähendab alla laadida. Toon veel ühe näite kataloogide kasutamise õiguste määramisest:

Luba kõik Keela kõik

Selline sissekanne konfiguratsioonifailis annab kirjutamisõiguse, kuid ei anna õigust faile alla laadida. See on kasulik, kui soovite, et kasutajad saaksid faile sisestada, kuid ei näeks, mida teised on sisestanud.

Sellega on serverirakenduste teema lõpetatud. Muidugi tuleb märkida, et serverirakendusi on palju rohkem: on ka DNS-i, uudisteservereid, NIS-servereid, X-serverit ja palju muid huvitavaid ja kasulikke rakendusi. Siiski püüdsin keskenduda sellele, mida võib tegelikult vaja minna võrgu haldamisel, mis ei pretendeeri ülemaailmse küberpoliisi või pakkujana. Liigume nüüd edasi artikli alguses mainitud teise teema juurde – võrgurünnakute ja häkkimiste juurde.

Võrgurünnakud ja häkkimised

Kõigepealt mõned üldised sõnad. UNIXis pole erinevalt Windowsist viirustega probleeme. Mälu eraldamise ja failiõiguste sisemine struktuur suudab toime tulla sellega, mida viirused tavaliselt vanas DOS-is või Windowsis teevad. Peamine takistus viirustele (nende tavamõistes) on tavakasutaja nimel töötavate programmide juurdepääsu puudumine füüsilistele seadmetele, samuti asjaolu, et failiatribuute ei määrata üldiselt, vaid kasutaja, rühma, ja kõik kasutajad. Windowsis sellist asja pole (see on osaliselt juurutatud Windows 2000-s). Kuigi traditsiooniliste viiruste põhjustatud hädad on peaaegu välistatud, häkitakse ja hävitatakse UNIX-süsteeme ikkagi. Selle põhjuseks on täiesti erinevate tehnoloogiate olemasolu, mida saab jagada kahte kategooriasse. Esimene on nn Trooja hobused, mis on programmid, mis välimuselt ja võib-olla ka tegelikult teevad üsna mõistlikke ja seaduslikke toiminguid. Paralleelselt aga teevad nad muud “tööd”: kuulavad võrku või koguvad infot paroolide kohta ja saadavad seda võrku jne. Tõenäoliselt ei too need programmid ise otsest kahju – pigem on need vahendajad teie süsteemi ja välise kräkkeri vahel. Teine kategooria on võrgu häkkimine. Need toimingud ei ahvatle esialgu masina sisemisele sisule, vaid püüavad süsteemi hävitada või sellele ligi pääseda, saates talle mingit teavet, näiteks tahtlikult valesid võrgupakette või spetsiaalselt moodustatud päringutega mõnda peidetud. andmeid. Milleks üldse süsteeme häkkida? See on pigem psühholoogiline kui praktiline küsimus. Fakt on see, et tegelikkuses ei tulene üsna suur osa häkkimismasinatest mitte isekatest eesmärkidest, vaid lihtsalt huvist protsessi enda vastu. Häkkeriteks kutsutud inimeste hulgas pole mitte ainult neid, kes häkkivad tõelise kasu saamiseks, vaid ka "entusiastid", kes häkkimise eesmärgil võrku häkkivad. Tundub ootamatu, kuid see on tõsi ja statistika annab sellest tunnistust. Lisaks on sageli üsna raske süüdistada inimest tema teos, kuna mõnikord on võimatu tõestada, et just tema ja just sellest arvutist tegi ta teatud ebaseaduslikke toiminguid. Kuid selles artiklis käsitleme häkkimisi endid, mitte nende psühholoogilisi ja juriidilisi aspekte ning seetõttu liigume edasi konkreetsete asjade juurde.

Võrgu häkkimine, hoolimata sellest, kui hoolikalt seda tehakse ja milliseid meetodeid kasutatakse, toob paratamatult kaasa mõningaid muudatusi süsteemis. See võib olla uus kuulamisportide loend, tundmatute programmide kasutuselevõtt, olemasolevate programmide, eriti ps või netstat, suuruse muutmine või isegi uued kasutajad. Nii või teisiti on lõpptulemus see, et midagi peab muutuma ja see on paratamatu. Seetõttu on esimene mõistlik toiming, mida soovitan kohe pärast süsteemi installimist ja seadistamist teha, luua fail süsteemi teabega. Midagi foto sarnast hetkest, mil arvad, et kõik, mis toimub, on õige. Et olla veelgi täpsem, pean silmas teavet, mida programmid netstat, vmstat, free, du, df välja annavad. Teine näpunäide on süsteemi konfiguratsioonifailide ja vaikesätete varundamine. Nende omavaheline võrdlemine võib anda ka teavet selle kohta, mis hiljuti süsteemis on juhtunud.

Alustame failisüsteemi jälgimisega, mis hõlmab mitte ainult failisüsteemi kasutamise jälgimist (mida saab teha käskudega du ja df), vaid ka teatud failide (näiteks süsteemifailide) muutumatuse kontrollimist. Neid funktsioone täidavad mitmed programmid:

  • AIDE - programm, mis võimaldab luua failidele kontrollsummasid, kontrollides nii nende terviklikkust; võimaldab kasutada mitut algoritmi. http://www.cs.tut.fi/~rammer/aide.html . (Ülejäänud programmid täidavad sarnaseid funktsioone, kõik on tasuta.)
  • Gog&Magog – koostab faili atribuutide ja omanike nimekirja, võimaldab teha automaatselt võrdlusi. http://www.multimania.com/cparisel/gog/
  • Sentinel – loob kontrollsummad, kasutades RIPEMD-160bit MAC algoritmi, on GUI. http://zurk.netpedia.net/zfile.html
  • SuSEauditdisk on disketile paigutatud programm, mis võimaldab kontrollida süsteemi täiesti võrguühenduseta, käivitades otse disketilt. SuSELinuxi standardvarustuses. http://www.suse.de/~marc
  • ViperDB – kontrollib failide omanikke ja atribuute, luues logifailid, mis salvestavad toimunud muudatused. Programmil on kolm parameetrit: -init - loob andmebaase failide kaupa, -check - kontrollib faile andmebaasi järgi ja teeb andmebaasis muudatusi, kui need on kettal toimunud, -checkstrict - kontrollib faile andmebaasi järgi ja tagastab vanad parameetrid, kui muutusi on toimunud. http://www.resentment.org/projects/viperdb
  • Sxid – loob failide kontrollsummad ning kontrollib atribuute ja omanikke. ftp://marcus.seva.net/pub/sxid/
  • lapsehoidja – mäletab faili loomise aega. ftp://tools.tradeservices.com/pub/nannie/
  • confcollect – mäletab süsteemi info, näiteks paigaldatud tarkvara, ruuteri tabelid jne. http://www.skagelund.com/confcollect/
  • Pikt on tööriist, mis sisaldab sisemist skriptikeelt programmide loomine, mis täidab standardseid funktsioone, kuid pole rakendatud spetsiifiliste käskudena (tunniste süsteemikasutuse jälgimine, pikaealiste protsesside tapmine, suuruse määramine postkasti jne.). See on olemas erinevate platvormide jaoks: Solaris, Linux ja FreeBSD. http://pikt.uchicago.edu/pikt/

Võib rääkida ka varundusfunktsioone täitvatest programmidest, aga see pole minu meelest otseselt seotud süsteemi turvalisusega ja pealegi on UNIX distributsioonides kaasas erinevad standardtööriistad. Ohutusega on seotud ainult see varukoopiad tuleb teha, kuid sellest on juba eespool öeldud.

Nüüd uurime välja, mida teha võrgurünnakute vältimiseks. Loomulikult peate lüüsile installima tulemüüri. Nii või teisiti, aga kaitse pakettide tasemel on vajalik. Kui tulemüürist mingil viisil mööda minnakse, on vaja järgmisi programme:

  • DTK - emuleerib standardteenuseid ja programme ning nendele programmidele saadetud mittestandardsete päringute korral väljastatakse kreekeri segadusse ajamiseks tahtlikult valeandmeid. http://all.net/dtk/
  • Psionic PortSentry – jälgib pordi skaneeringuid. Peamine ülesanne on kontrollida portide skannimist ja kuvada kõik logifailis olevad andmed. http://www.psionic.com/abacus/portsentry/
  • Psionic HostSentry – loob andmebaasi teabest masina kasutajate kasutamise kohta, kuvades teate, kui ressursikasutus on ebanormaalne. http://www.psionic.com/abacus/hostsentry/
  • Scanlogd – skannib võrgupakette, luues sõltuvalt sätetest logifaile. http://www.openwall.com/scanlogd/
  • Tulemüürid on tulemüüri funktsioone täitvate programmide koondnimetus.
  • TCP-WRAPPERS - programmid, mis piiravad juurdepääsu teatud ressurssidele nime või arvuti numbri järgi. Mõned neist programmidest on saadaval aadressil. ftp://ftp.porcupine.org/pub/security/
  • NFR on oma ehituselt snifferile sarnane programm (sniffer on programm võrguliikluse kuulamiseks). Kirjutab logifaile ja teostab reaalajas rünnakute tuvastamist ja pordi skannimist. http://www.nfr.com/
  • Üksikasjalikud ja kasulikud KKK võrgurünnakute ja nende tuvastamise kohta leiate aadressilt http://www.robertgraham.com/pubs/network-intruusio-detection.html.

Küsimusele, mida ja kuidas võrgurünnakute korral teha, on raske ühemõtteliselt vastata. Siin sõltub palju nii konkreetse võrgu kui ka selle asukoha organisatsiooni eripärast. Isegi sama tüüpi rünnaku korral soovite ühel juhul esmalt andmed salvestada ja teisel juhul blokeerida rünnaku allika, see tähendab, et kõik sõltub prioriteetidest. Rünnakud kujutavad endast väga rasket probleemi nendes organisatsioonides, kus võrgu sulgemine on vastuvõetamatu. Seal peate kõik toimingud läbi viima võrgus, hoides võimaluse korral ühendust välismaailmaga. Üsna palju sõltub rünnaku iseloomust. Häkkimine häkkimise eesmärgil on üks asi ja salaandmete sihipärane vargus on teine ​​asi. Siiski võib olla ka keerukam variant, kui rünnak viiakse läbi selleks, et juhtida administraatori tähelepanu kõrvale keerukamast ja läbimõeldumast paralleelselt läbi viidud häkkimisest. Kuid ärge arvake, et rünnak saab tulla ainult väljastpoolt. See võib alata seestpoolt. Väga võimalik stsenaarium on Trooja hobuse käivitamine Windowsi arvutis sisevõrgus. Ilmselgelt saab seda teha lihtsalt posti teel kirja saatmisega. Nüüd vaatame nuusutamisprogramme lähemalt.

Üldiselt tähendab nuuskamine välja nuuskamist. Seetõttu nimetatakse nuusutajaid programmideks, mis ühel või teisel viisil kuulavad võrku ja kogu seda läbivat teavet. Illustreeriv näide on parool, mis pärineb selge tekstina sisemine arvuti serverisse. Kuna paketid liiguvad kogu võrgus kuni adressaadi leidmiseni, on nuusutaja installimine vähemalt ühte sisevõrgu arvutisse (näiteks kirja abil, nagu eespool mainitud). käepärane tööriist välise kreekeri jaoks. Enamikul juhtudel on nuusutajad üsna passiivsed, mistõttu on neid raske tuvastada. Allpool on loetelu mitmetest programmidest, mis toimivad nuusutajana, mida saab kasutada võrgus toimuva jälgimiseks:

  • tcpdump – enamik vana programm mis tuleb kogu UNIXiga.
  • Sniffit - on võimeline filtreerima pakette ja tõlkida teavet tekstivormingusse; varustatud graafilise liidesega. http://sniffit.rug.ac.be/~coder/sniffit/sniffit.html
  • Ethereal on võrguprotokolli analüsaator.
  • Snort - mõeldud võrgu jälgimiseks, saab määrata pordi skannimise. http://www.clark.net/~roesch/security.html
  • SPY on nuusutaja, kuid mitte vaba. Kuni viiest masinast koosneva võrgu jaoks on tasuta ühe kasutaja litsents. http://pweb.uunet.de/trillian.of/Spy/

Ei maksa aga unustada, et lisaks tarkvarale on ka riistvaraline kuulamine, näiteks lihtsalt teise arvuti ühendamine või lihtsalt kaabliga ühendamine. On uudishimulik, et kui kasutate õhukest Etherneti (koaksiaalkaablit), saate seda kuulata ilma seda avamata.

  • AntiSniff on programm, mis otsib võrku nuusutajaid. Selle tööpõhimõte on väga lihtne: ta saadab päringu ja määrab vastuse ja vastuse hetke järgi, kas seda töötleb mõni muu programm või mitte. http://www.l0pht.com/antisniff/

Üksikasjalikud ja kasulikud KKK nuusutajate kohta leiate siit. http://www.robertgraham.com/pubs/sniffing-faq.html.

Teine tehnika, mis võib aidata ründeid ära hoida, on testida süsteemi ründeid emuleerivate programmidega või programmidega ise, mille abil neid ründeid sooritatakse. Sa kontrollid süsteemi lahingutingimustes. Kui kaitse on selle konkreetse masina jaoks tõepoolest esmatähtis, siis on süsteemi konfiguratsiooni kontrollimine enne selle võrku ühendamist väga oluline samm. Siin on teile mõned neist programmidest.

Programmid, mis skannivad süsteemi seestpoolt:

  • Tiger on programm, mida alles arendatakse. ftp://net.tamu.edu/pub/security/TAMU/
  • check.pl – Perli skript, mis kontrollib kataloogipuud ja selles olevaid faile erinevate küsitavate atribuutide ja omanike nimede suhtes. http://opop.nols.com/proggie.html

Võrguskannimisprogrammid, mis osutavad hõlpsasti juurdepääsetavatele teenustele teises süsteemis (näiteks tulemüüri sätete hea kontroll):

  • Strobe on vana, kuid kiire ja endiselt tõhus võrguskanner. Mõnikord sisaldub UNIX-is. ftp://suburbia.net/pub/
  • Nmap on programm, mis kasutab uusi pordide skannimise meetodeid ja millel on palju sätteid. Võimaldab hankida operatsioonisüsteemi parameetreid (nimi, versioon). http://www.insecure.org/nmap/index.html
  • Portscanner on väike pordiskanner, millel on töödeldud teabe väljastamiseks palju vorminguid. http://www.ameth.org/~veilleux/portscan.html
  • Queso ei ole täpselt skanner; on programm, mis on loodud kaugarvuti operatsioonisüsteemi tüübi määramiseks. http://www.apostols.org/projectz/queso/

Programmid süsteemi kaitse võimalike "aukude" otsimiseks on pordiskanneritega võrreldes muidugi samm edasi. Siin rakendatakse kõrgemat teabeanalüüsi ja määratakse mitte avatud pordid endid, vaid need süsteemi haavatavused, millele on avatud tee läbi nende portide. Kui nimetada mõnda neist programmidest:

  • Nessus on kliendi-serveri rünnakute jälgimise tarkvara. Serverid on Linuxi, FreeBSD, NetBSD ja Solarise jaoks ning kliendid Linuxi ja Windowsi jaoks. Lisaks pordi skaneerimisele ja rünnakute jälgimisele saab programm teha DNS-i otsinguid, et leida ohustatud masinaga seotud arvuteid. http://www.nessus.org/
  • Saint on Saatana programmi järeltulija, mis oli varem autode kohta teabe kogumisel üks populaarsemaid. Saint kasutab klient-server arhitektuuri, kuid asendab kliendi veebiprogrammiga. Peamine eesmärk on koguda teavet süsteemi kaitse haavatavuste kohta. http://www.wwdsi.com/saint/
  • Cheops on programm, mis kaardistab IP-võrgukeskkonna, näidates arvutites töötavat operatsioonisüsteemi. http://www.marko.net/cheops/
  • SARA (turvaaudiitori uurimisassistent) on Saint-ga sarnane programm. See suudab skaneerida mitut masinat korraga, lisaks annab töö tulemuse HTML-vormingus. http://home.arc.com/sara/
  • BASS (Bulk Auditing Security Scanner) on programm, mille ideoloogia põhineb sellel, et Internet pole turvaline. Peamine ülesanne on skannida süsteeme, et tuvastada neis kaitse "auke". http://www.securityfocus.com/data/tools/network/bass-1.0.7.tar.gz

Firewalk on programm, mis kontrollib tulemüüri ja kontrollib, kas see on õigesti konfigureeritud. Erinevaid pakette saates püüab programm välja arvutada tulemüüri tööreeglid. http://www.packetfactory.net/firewalk/

Arhiiv aadressil http://www.rootshell.com/ sisaldab teadaolevaid andmeid süsteemi turvaaukude kohta ja linke neid vigu parandavate operatsioonisüsteemide tootjate lisandmoodulitele. Tõsi, mõnikord võib sellise lingi asemel näha teadet “Upgrade to the next version”, millest on kahju, eriti kui süsteem on kommertslik. Näiteks juhtub see sageli IBM AIX-iga.

Sellega lõpetan Interneti-serverite süsteemide turvalisusega seotud probleemide kirjeldamise. See on kirjeldus, mitte tegevusjuhend ega üksikasjalik juhend. Minu põhieesmärk oli anda aimu, mida on vaja süsteemi kaitsmiseks ette võtta. On tõenäoline, et mõnel juhul tundub mõni nõuanne üleliigne või lihtsalt ebavajalik ning võib-olla ei piisa pakutavate programmide linkidest. Kuid mulle tundub, et UNIX-süsteemide ja võrkude kaitsega seotud põhipunktid olid ühel või teisel määral kajastatud. Mõnda konkreetset küsimust võidakse arutada ajakirja tulevastes numbrites.

ComputerPress 3 "2001

  • Haldussund ja selle erinevus teistest riikliku sunni liikidest on haldussunni meetmete süsteem.
  • Protokolli täitnud asutuse aadress __________________________________________________________
  • Teod, protokollid. Akti ja protokolli detailide koosseis. Detailide asukoht vormil A4. Nõuded toimingu ja protokolli täitmisele. Dokumendile juriidilise jõu andmine.
  • Amnestia: mõiste ja märgid. Vabandust: mõiste, õiguslikud tagajärjed, erinevus amnestiast.
  • Vene Föderatsiooni vahekohtusüsteem. Kohtuvõimu roll majandusvaidluste, sh maksuseaduste kohaldamisega seotud vaidluste lahendamisel.
  • SSH – (Secure Shell) – võrguprotokoll, mis võimaldab Pult arvuti ja failiedastus. Funktsionaalsuselt sarnaneb see Telneti ja rlogini protokollidega, kuid kasutab edastatava teabe jaoks krüpteerimisalgoritme.
    Telneti puudused viisid selle protokolli väga kiire loobumiseni turvalisema ja funktsionaalsema SSH-protokolli kasuks. SSH pakub kõike seda funktsionaalsust, mida esitleti telnetis, millele on lisatud tähelepanuväärne kodeering, et vältida andmete, nagu sisselogimised ja paroolid, pealtkuulamist. Selle tagab SSH-protokollis kasutusele võetud avaliku võtme autentimissüsteem kaugarvuti on tõesti see, kes ta väidab end olevat.

    Krüptograafiline kaitse SSH-protokoll ei ole fikseeritud, saate valida erinevaid krüpteerimisalgoritme. Seda protokolli toetavad kliendid ja serverid on saadaval erinevatele platvormidele. Lisaks võimaldab protokoll mitte ainult kasutada masinas turvalist kaugshelli, vaid ka tunneldada graafilist liidest - X Tunneling (ainult Unixi-laadse OS-i või X Window Systemi graafilist liidest kasutavate rakenduste jaoks). SSH on võimeline edastama ka mis tahes muud võrguprotokolli turvalise kanali kaudu (Port Forwarding), pakkudes (õige konfiguratsiooniga) võimalust edastada turvaliselt mitte ainult X-liidest, vaid ka näiteks heli.
    Kuid SSH-protokoll ei lahenda kõiki võrgu turvaprobleeme. See keskendub ainult pakkumisele ohutu töö rakendused, nagu terminali emulaatorid. SSH-protokolli juurutuste kasutamine serverites ja klientrakendustes aitab kaitsta andmeid ainult edastamisel. SSH-protokoll ei asenda mingil juhul tulemüüre, sissetungimise tuvastamise süsteeme, võrguskannereid, autentimissüsteeme ega muid kaitsevahendeid. Infosüsteemid ja võrgud rünnakute eest.
    39. Serveri roll ja ülesanded kohtvõrgus.

    Üldiselt on server arvuti, millel on reeglina suure jõudlusega ja muud arvutusressursid, mis on mõeldud kohalikele või kohalikele arvutitele teatud võimaluste pakkumiseks. ülemaailmne võrk. Neid võimalusi nimetatakse võrguteenused.

    Serveri ülesanded:

    1. juurdepääsu võimaldamine organisatsiooni serveridraividele salvestatud andmetele;

    2.ettevõtte andmebaaside säilitamine, töötlemine ja juurdepääs neile;

    3. programm töötleb andmeid, mida kasutaja talle saadab ja annab sellele kasutajale lõpptulemused;

    4. Interneti-lehe väljastamine seda taotlevale kasutajale;

    5.Saatmine, vastuvõtmine, säilitamine ja levitamine meilid, mille saadavad kõik kohaliku võrgu kasutajad.


    Võrguteenused.

    Lõppkasutaja jaoks pole võrk arvutid, kaablid ja jaoturid ega isegi mitte infovood, tema jaoks on võrk ennekõike see komplekt võrguteenused, mille abil saab ta võimaluse vaadata võrgus saadaolevate arvutite nimekirja, lugeda kaugfaili, printida dokumenti “võõra” printeriga või saata meilisõnum. Just pakutavate võimaluste kogum – kui lai on nende valik, kui mugav, töökindel ja turvaline – määrab konkreetse võrgu välimuse kasutaja jaoks.
    Võrguteenused peavad lisaks tegelikule andmevahetusele lahendama ka muid spetsiifilisemaid ülesandeid, näiteks hajutatud andmetöötlusel genereeritud ülesandeid. Sellised ülesanded hõlmavad erinevates masinates asuvate andmete mitme koopia järjepidevuse tagamist (replikatsiooniteenus) või ühe ülesande paralleelse täitmise korraldamist mitmes võrgumasinas (kaugprotseduuride kõne teenus). Võrguteenuste hulgast saab välja tuua administratiivsed, st need, mis on peamiselt keskendunud mitte lihtsale kasutajale, vaid administraatorile ja aitavad korraldada võrgu kui terviku korrektset toimimist.
    Teostatakse võrguteenuste rakendamist tarkvara tööriistad. Põhiteenuseid – failiteenust ja printimisteenust – pakub tavaliselt võrgu operatsioonisüsteem, samas kui abiteenuseid, nagu andmebaasi-, faksi- või kõneteenused, pakuvad süsteemivõrgu rakendused või utiliidid, mis töötavad tihedalt võrgu OS-iga. Üldiselt on teenuste jaotus OS-i ja utiliitide vahel üsna meelevaldne ja erineb konkreetsetes OS-i rakendustes.
    Jagatud ressursi mugavusastme määramisel kasutatakse sageli mõistet "läbipaistvus". Läbipaistev juurdepääs on selline juurdepääs, mille puhul kasutaja ei märka, kus talle vajalik ressurss asub - tema arvutis või kaugarvutis. Kui ta on kaugfailisüsteemi oma kataloogipuusse ühendanud, pääseb juurde kustutatud failid muutub talle täiesti läbipaistvaks. Ühendusoperatsioon ise võib olla ka erineva läbipaistvusastmega - väiksema läbipaistvusega võrkudes peab kasutaja teadma ja käsus määrama selle arvuti nime, kuhu kaugfailisüsteem on salvestatud, suurema läbipaistvusega võrkudes, vastav võrgutarkvara komponent otsib jagatud failimahte olenemata nende asukohast.salvestusruumi ja annab need seejärel kasutajale talle sobival kujul, näiteks loendi või ikoonide komplektina.
    Läbipaistvuse tagamiseks on oluline jagatud võrguressursside adresseerimise (nimetamise) viis. Jagatud võrguressursside nimed ei tohiks sõltuda nende füüsilisest asukohast konkreetses arvutis. Ideaalis ei tohiks kasutaja oma töös midagi muuta, kui võrguadministraator on köite või kataloogi ühest arvutist teise teisaldanud. Administraator ise ja võrk operatsioonisüsteem omama asukohateavet failisüsteemid, kuid see on kasutaja eest peidetud. Selline läbipaistvus on võrkudes endiselt haruldane – tavaliselt tuleb konkreetse arvuti ressurssidele juurdepääsuks esmalt luua sellega loogiline ühendus. Seda lähenemisviisi kasutatakse näiteks Windowsi võrgud NT