Securizarea serverului cu bate portul

Port bate - este un mecanism de protecție a rețelei, care se bazează pe principiul că un port de rețea este închis în mod implicit, dar atâta timp cât nu merge secvență bine definită de pachete de date care „fac“ portul este deschis. De exemplu, puteți face „invizibil“ în afara portului SSH mondial, și deschis numai pentru cei care cunosc secvența corectă.

Configurarea Servere

Cele mai populare software-ul pentru organizarea portului bătăile este knockd. În timp ce lucra ca un demon în conjuncție cu iptables, knockd ascultă de interfață de rețea, de așteptare pentru secvența corectă a cererilor de conectare. Odată ce knockd prinde secvența corectă, se execută comanda definită în knockd fișierul de configurare pentru o secvență dată - de regulă, este o provocare iptables, permițând conectarea la un port de rețea specifice.

De exemplu, aveți un SSH de rulare, de așteptare pentru conexiunile de intrare de pe portul 22. Cu toate acestea, iptables regula pentru conexiunile de intrare pe portul 22 de minute permise. Knockd, ascultare eth0 interfață, secvența așteptată a TCP SYN-pachete pe porturile 9000, 6501 și 1234. După această secvență de conectare este detectată, knockd prin apelarea iptables, schimba regulile filtrului linie, astfel încât să permită conectarea din exterior la 22-lea TCP-port, care este deja în așteptare SSH-daemon.

Puteți colecta knockd de la codul sursă primit pe site-ul (de asemenea, pe site-ul există linkuri către pachete gata făcute pentru diverse sisteme) sau un set folosind managerul de pachete al sistemului. După instalarea knockd, fișierul de configurare pot fi găsite în /etc/knockd.conf.

există o secțiune [opțiuni] La începutul fișierului de configurare. conținând daemon setări globale. De exemplu, linia:

puteți specifica ce interfață pentru a asculta dacă el nu este singurul din sistemul dumneavoastră.

Mai mult, după secțiunea [opțiuni]. există descrieri ale secvenței. două dintre ele în mod implicit:

Secvența parametru definește secvența. Numerele sunt numerele de TCP-porturi. De asemenea, puteți specifica în mod explicit, TCP sau UDP pentru a utiliza, folosind sufixele: PPȚ și: udp. De exemplu:

Seq_timeout Parametrul specifică timpul maxim în secunde care este atribuit pentru a executa secvența de conexiune client. În cazul în care clientul nu se potrivește în acest moment - conexiunea va fi respinsă.

Parametrul definește o comandă cale și parametrii numitului program, în cazul detectării secvenței corecte.

Parametrul tcpflags puteți stabili care ar trebui să aibă steaguri pachetele implicate în secvența. Mai multe opțiuni ar trebui să fie separate prin virgulă:

Iar pentru excluderea explicită a hotelului steaguri trebuie să utilizeze semnul exclamării:

O altă opțiune interesantă este utilizarea de configurare a parametrilor knockd START_COMMAND. cmd_timeout și STOP_COMMAND:

START_COMMAND Parametru în sensul parametrului este identic cu comanda. Cmd_timeout valoare parametru determină intervalul de timp în secunde, după care valoarea comenzii rula STOP_COMMAND parametru definit. Astfel, puteți deschide un port specific numai într-o anumită perioadă de timp.

Ca regulă generală, pentru a knockd daemon pentru a porni automat la pornirea sistemului, este suficient în fișierul / etc / default / knockd set:

Configurarea Clientului

Testați conexiunea la server, de obicei, puteți telnet client prin conectarea la porturile specificate.

Odată cu utilizarea de zi cu zi, cursul nu este foarte convenabil pentru a rula consecutiv seria telnet-conexiuni înainte de a vă trebuie să conectați la SSH-server. Inclus cu demonul vine knockd bat de utilitate. și care este destinat să efectueze o serie de conexiuni necesare. De exemplu:

Să acorde o atenție la descrierea camerelor și tipul de porturi. Este la fel ca în /etc/knockd.conf fișier.

Dacă ați inventat o secvență pe bază, inclusiv steagurile TCP-pachete, aveți nevoie de instrumente mai avansate decât o bătaie. De exemplu, SendIP sau packit. care pot genera pachetele de rețea cu conținut arbitrar.

Dacă utilizați portul bate deasupra locului, atunci sunt susceptibile de a avea nevoie de un knock-clienti pentru platforme mobile.

Pentru iPhone, puteți încerca un client compatibil-knockd cuplu - Port Knock Lite și KnockOnD. pentru Android - knock-Android.

Port Knocking în PuTTY

În Windows, puteți utiliza ansamblul rus PuTTY. Începând cu versiunea 0.63-RU-15, a devenit posibil să se efectueze o secvență de conexiuni la porturi închise ale tehnologiei Knocking Port:

Securizarea serverului cu bate portul

Momente practice

Unul dintre motivele pentru care nu este necesar să se utilizeze un knock-clienti, secventa secrete de stocare și de a reproduce fără participarea dvs. - este o foarte „similaritate“ pentru a salva undeva în parola contului dvs. în clar. Secvența secretă a conexiunilor la porturile trebuie să fie personal în mintea ta, și nicăieri altundeva. Apoi, metoda de port knocking'a este de fapt eficient.

De asemenea, portul bătăile este criticat pentru faptul că există întotdeauna posibilitatea ca traficul dvs. va fi capabil de a intercepta și izola de ea secvența, și mai des folosiți portul bate, cu atât mai mare probabilitatea. Desigur, puteți completa psevdoposledovatelnostyami dvs. secvență de a confunda intruși, dar mai presus de toate luați întotdeauna grijă de siguranța serviciului, un port deschis pe care o masca si trata portul bate în plus față de serviciul de securitate, mai degrabă decât ca un panaceu.

Mai ales să păstreze în minte unele dintre dezavantajele folosirii knockd. În primul rând, în cazul în care procesul de knockd dintr-o dată „cădere“, nu veți putea obține acces de la distanță la serviciul mascat. În al doilea rând, amintiți-vă că IP-pachetele pot fi livrate la serverul în moduri diferite, și să nu vină în secvența în care a fost trimisă. De aceea, nu trebuie să utilizați parametrul seq_timeout prea mic.

Este de la sine înțeles că knockd pot fi utilizate nu numai pentru a gestiona regulile de filtrare de rețea prin rularea iptables. Puteți rula tot ce vrei, de la începutul procesului de backup, care se încheie cu eliminarea datelor sensibile de pe server și trimiterea unei scrisori de demisie a șefului tău.

Port avansat Knocking

Puteți seta knockd pe servere situate în afara serverului de „principal“, creând un lanț de knockd-servere.

Unele dintre proiectele care implementează portul bate, rezolva problema «reluare» -atak din cauza utiliza algoritmi de criptare de autentificare. Astfel de proiecte includ, de exemplu, cryptknock. COK. și Tariq.

Desigur, mecanisme mai avansate de port knocking'a nu vă va lăsa la posibilitatea de „ușor de reținut“ numărul de serie de port, dar prezența masei de „chips-uri“ utile omițând de interes această „deficiență“.

Toti cei interesati de tehnologia de port knocking'a portknocking.org recomandat pentru a vizita pagina.

Atunci când un profesionist de securitate vă va spune că toate acestea sunt port bate - doar un alt strat subțire de securitate - acesta va fi corect. Întotdeauna abordare responsabilă a serviciilor de protecție în mod direct, ca atare, și nu ia în considerare de port-ciocnirii ca un panaceu. Portul bate este util pentru a ascunde serviciile care rulează de la „trecătorilor“ și dacă vă schimbați în mod regulat secvența secretă a knock-daemon, atunci, probabil, pentru a preveni-bruteforce dicționar atacuri SSH înregistrărilor contabile.