Contacte

CentOS 7 Firewall Open Port. Crearea de reguli pentru programe și utilități

Firewall instalat în sistemul de operare este utilizat pentru a preveni traficul neautorizat între rețelele de calculatoare. Manual sau creează automat reguli speciale pentru firewall, care sunt responsabile pentru controlul accesului. În sistemul de operare, dezvoltat pe kernelul Linux, CentOS 7 există un firewall încorporat și este controlat de firewall. Firewalld-ul implicit este implicat și am dori să vorbim astăzi despre asta.

Așa cum am menționat mai sus, firewall-ul standard din CentOS 7 este atribuit un utilitar Firewalld. Acesta este motivul pentru care setarea firewall va fi luată în considerare pe exemplul acestui instrument. Puteți seta regulile de filtrare cu aceleași iptable, dar se efectuează ușor diferit. Vă recomandăm să vă familiarizați cu configurația utilității menționate făcând clic pe linkul următor și vom începe dezasamblarea Firewalld.

Conceptele de bază ale firewall-ului

Există mai multe seturi de zone pentru a gestiona traficul pe baza încrederii în rețele. Toți li se oferă propriile lor politici, totalitatea căreia și formează configurația firewall-ului. Fiecare zonă este atribuită una sau mai multe interfețe de rețea, care vă permite să reglați filtrarea. Regulile aplicate direct depind de interfața utilizată. De exemplu, atunci când este conectat la Wi-Fi disponibil public ecranul de rețea. Acesta va crește nivelul de control, iar în rețeaua de domiciliu va deschide accesul suplimentar pentru participanții la lanț. În Farvolul privit există astfel de zone:

  • trusted este nivelul maxim de încredere în toate dispozitivele de rețea;
  • acasă - Grup retea locala. Există o încredere în înconjurătoare, dar conexiunile primite sunt disponibile numai pentru anumite mașini;
  • zona de lucru. Există o încredere în majoritatea dispozitivelor, iar serviciile suplimentare sunt activate;
  • dMZ - Zona pentru computerele izolate. Astfel de dispozitive sunt deconectate de la restul rețelei și numai un anumit trafic primit este trecut;
  • zona internă de rețea internă. Încrederea se aplică tuturor mașinilor, sunt deschise servicii suplimentare;
  • extern - invers în zona anterioară. În rețelele externe, mascarea NAT este activă, închizând rețeaua interioară, dar fără a bloca posibilitatea accesului;
  • public - o zonă de rețele publice cu neîncredere față de toate dispozitivele și recepția individuală a traficului primitor;
  • bloc - toate solicitările primite sunt resetate cu expedierea erorilor iCMP-Host-interzis sau iCMP6-ADM-interzis;
  • scăderea este nivelul minim de încredere. Conexiunile primite sunt descărcate fără notificări.

Politicile în sine sunt temporare și permanente. Când sau editați parametrii, acțiunea firewall se schimbă imediat fără repornirea. Dacă au fost aplicate reguli temporare, după repornirea Firewalld, acestea vor fi resetate. Regula permanentă se numește ceva - acesta va fi salvat în mod continuu atunci când se aplică argumentul -permanent.

Activarea firewall-ului Firewalld.

Mai întâi trebuie să rulați Firewalld sau să vă asigurați că este într-o stare activă. Doar daemonul funcțional (un program care operează în fundal) va aplica regulile pentru firewall. Activarea este făcută literalmente câteva clicuri:

  1. Rulați clasicul "Terminal" Orice metodă convenabilă, de exemplu, prin meniu "Aplicații".
  2. Introduceți comanda Sudo SystemCTL Start Firewalld.service și faceți clic pe tastă. INTRODUCE.
  3. Controlul utilităților este realizat în numele SuperUser, deci trebuie să confirmați autenticitatea prin specificarea parolei.
  4. Pentru a vă asigura că serviciul funcționează, specificați firewall-cmd --State.
  5. În fereastra grafică care se deschide, re-confirmați autenticitatea.
  6. O linie nouă va apărea. Valoare "Alergare" sugerează că firewall-ul funcționează.

Dacă o dată va fi dezactivați temporar sau permanent firewall-ul, vă sfătuim să utilizați instrucțiunile prezentate în celălalt articol cu \u200b\u200burmătorul link.

Vizualizați regulile implicite și zonele accesibile

Chiar și firewall-ul regulat are propriile reguli definite și zone accesibile. Înainte de a începe editarea politicienilor, vă sfătuim să vă familiarizați cu configurația curentă. Acest lucru se face folosind comenzi simple:

  1. Zona implicită va determina comanda Firewall-CMD - Observation-Zone.
  2. După activarea sa, veți vedea Șir nouunde apare parametrul necesar. De exemplu, zona este luată în considerare în ecranul de mai jos "Public".
  3. Cu toate acestea, mai multe zone pot fi active imediat, în plus, acestea sunt legate de o interfață separată. Aflați aceste informații prin firewall-cmd-cmd --get-active-active.
  4. Comanda Firewall-CMD-List va afișa regulile stabilite pentru zona implicită. Acordați atenție ecranului de mai jos. Vedeți zona activă "Public" Regulamentul acordat "MOD IMPLICIT" - Funcționarea implicită, interfață "ENP0S3" și a adăugat două servicii.
  5. Dacă aveți nevoie să aflați toate zonele de firewall disponibile, introduceți zone de firewall-cmd --get.
  6. Parametrii zonei specifice sunt definite prin Firewall-CMD --Zone \u003d Nume - List - toate, unde nume. - Zona de nume.

După determinarea parametrii necesari Puteți continua să modificați și să adăugați. Să analizăm mai multe dintre cele mai populare configurații în detaliu.

Configurarea zonelor de interfață

După cum știți din informațiile de mai sus, zona implicită este definită pentru fiecare interfață. Acesta va fi în el până când setările să schimbe utilizatorul sau programatic. Este posibil să transferați manual interfața în zona pe sesiune și se efectuează prin activarea firewall-cmd -zonului sudo \u003d Home Command - InterfațaChange-Interface \u003d eth0. Rezultat "SUCCES" Aceasta indică faptul că transferul a avut succes. Amintiți-vă că astfel de setări sunt resetate imediat după repornirea firewall-ului.

Cu o astfel de schimbare a parametrilor, ar trebui să se țină cont de faptul că funcționarea serviciilor poate fi resetată. Unii dintre ei nu susțin funcționarea în anumite zone, să spunem, ssh deși accesibil în "ACASĂ"Dar, în servicii sau servicii speciale, va refuza să lucreze. Asigurați-vă că interfața a fost legată cu succes de noua ramură, introducând zone de firewall-cmd --get-active.

Dacă doriți să resetați setările efectuate anterior, pur și simplu rulați repornirea firewallului: Sudo Systemctl Repornește Firewalld.Service.

Uneori nu este întotdeauna convenabil să schimbați zona de interfață într-o singură sesiune. În acest caz, va trebui să editați fișierul de configurare, astfel încât toate setările să fie smalate permanent. Pentru a face acest lucru, vă sfătuim să utilizați un editor de text. nano.care este instalat din depozitul oficial al Sudo Yum instalați nano. Înainte rămâne astfel de acțiuni:

  1. Deschideți fișierul de configurare prin editor introducând Sudo Nano / etc / Sysconfig / Script-uri de rețea / IFCFG-ETH0, unde eth0. - Numele interfeței necesare.
  2. Confirmați autenticitatea cont Pentru a îndeplini acțiuni suplimentare.
  3. Scoateți parametrul Zona Și să-și schimbe valoarea la dorit, de exemplu, public sau acasă.
  4. Țineți cheile Ctrl + O.Pentru a salva modificările.
  5. Nu modificați numele fișierului, ci pur și simplu faceți clic pe INTRODUCE.
  6. Ieșiți pe editorul de text prin intermediul Ctrl + X..

Acum, zona de interfață va fi cea pe care ați specificat-o, până la următoarea editare a fișierului de configurare. Pentru parametrii actualizați, executați Sudo Systemctl Repornire Network.Service și Sudo Systemsctl Repornește Firewalld.Service.

Setarea zonei implicite

Mai sus, am demonstrat deja o echipă care vă permite să învățați zona implicită. De asemenea, poate fi modificat prin setarea parametrului la alegere. Pentru a face acest lucru, în consola, este suficient să se înregistreze firewall-cmd-cmd - set-implicit-zona \u003d numele, unde nume. - Numele zonei necesare.

Succesul echipei va evacua inscripția "SUCCES" Într-o linie separată. După aceasta, toate interfețele curente se vor naște în zona specificată, dacă cealaltă nu este specificată în fișierele de configurare.

Crearea de reguli pentru programe și utilități

La începutul articolului, am vorbit despre acțiunea fiecărei zone. Definirea serviciilor, utilităților și programelor în astfel de sucursale vor permite aplicarea parametrilor individuali pentru fiecare dintre ele pentru fiecare solicitare de utilizator. Pentru a începe, vă sfătuim să vă familiarizați cu lista completă a serviciilor disponibile în acest moment: Firewall-CMD --GET-SERVICES.

Rezultatul va fi afișat direct în consola. Fiecare server este împărțit la un spațiu și puteți găsi cu ușurință instrumentul care vă interesează. Dacă serviciul necesar lipsește, acesta trebuie instalat suplimentar. În regulile de instalare, citiți în documentația software oficială.

Comanda de mai sus demonstrează numai numele serviciilor. Informații detaliate pentru fiecare dintre ele sunt obținute prin fișierul individual pe calea / USR / LIB / Firewalld / Servicii. Astfel de documente au un format XML, calea, de exemplu, la SSH arată astfel: /usr/lib/firewalld/services/ssh.xml, iar documentul are următorul cuprins:

Ssh.
Secure Shell (SSH) este un protocol pentru conectarea și executarea comenzilor pe mașini de la distanță. Acesta oferă comunicații criptate securizate. Dacă intenționați să accesați telecomanda mașinii prin SSH pe o interfață Firewalled, activați această opțiune. Aveți nevoie de pachetul OpenSSH-Server instalat pentru această opțiune pentru a fi utilă.

Suportul de service este activat manual într-o anumită zonă. ÎN "Terminal" Ar trebui să setați firewall-cmd-cmd --zone \u003d public --DD-service \u003d http comandă, unde --Zone \u003d public. - zona de activare și --Add-service \u003d http - Numele serviciului. Rețineți că o astfel de modificare va fi valabilă numai în cadrul unei sesiuni.

Adăugarea permanentă este efectuată prin Sudo Firewall-cmd --Zone \u003d Public --Pentru --DDD-Service \u003d HTTP și rezultatul "SUCCES" Specifică finalizarea cu succes a operațiunii.

Vedere lista plina Reguli permanente pentru o anumită zonă pot, afișând o listă într-o linie separată a consolei: Sudo Firewall-cmd --Zone \u003d Public - List - lista de servicii.

Problema deciziei cu lipsa accesului la serviciu

Regulile standard de firewall sunt indicate de cele mai populare și mai sigure servicii ca fiind permise, dar unele aplicații standard sau terțe blochează. În acest caz, utilizatorul trebuie să schimbe manual setările pentru a rezolva problema cu accesul. Puteți face acest lucru în două metode diferite.

Portul portului

După cum știți, toate serviciile de rețea utilizează un anumit port. Este ușor detectat de un firewall, iar blocurile pot fi efectuate. Pentru a evita astfel de acțiuni de la firewall, trebuie să deschideți portul dorit al firewall-CMD-CMD --Zone \u003d Public - Portd-Port \u003d 0000 / TCP, unde --Zone \u003d public. - Zona pentru port, - Port \u003d 0000 / TCP - numărul portului și protocolul. Opțiunea Firewall-CMD-PORTS va afișa o listă de porturi deschise.

Dacă aveți nevoie să deschideți porturile incluse în interval, utilizați firewall-cmd --Zone \u003d public - PORD-PORT \u003d 0000-9999 / UDP rând, unde --Dd-port \u003d 0000-9999 / UDP - Gama de porturi și protocolul acestora.

Comenzile de mai sus vă permit să testați utilizarea unor parametri similari. Dacă ar fi trecut cu succes, ar trebui să adăugați aceleași porturi la setări constante și acest lucru se face prin introducerea firewall-cmd -Zone Sudo \u003d Public --Permanent --Add-port \u003d 0000 / TCP sau sudo firewall-cmd - Zona \u003d Public --Permanent - Port \u003d 0000-9999 / UDP. Lista porturilor permanente deschise este vizualizată după cum urmează: Sudo Firewall-CMD --Zone \u003d Porturi publice --Permanente - Porturi.

Definiția serviciului

După cum puteți vedea, adăugarea de porturi nu provoacă dificultăți, dar procedura este complicată când aplicațiile utilizează o cantitate mare. Pentru a urmări toate porturile utilizate devine dificil, având în vedere determinarea serviciului va fi o opțiune mai corectă:


Trebuie doar să alegeți cea mai potrivită soluție la problema de serviciu cu accesul la serviciu și să executați instrucțiunile furnizate. După cum puteți vedea, toate acțiunile sunt efectuate destul de ușor și nu ar trebui să existe dificultăți.

Creând zone personalizate

Știți deja că în inițial un număr mare de zone diverse cu reguli definite au fost create în Firewalld. Cu toate acestea, situațiile apar atunci când administratorul de sistem trebuie să creeze o zonă de utilizator, cum ar fi, de exemplu, "Publicweb" Pentru serverul web instalat sau pentru "Priviți" - Pentru serverul DNS. Pe aceste două exemple, vom analiza adăugarea ramurilor:


Din acest articol ați învățat cum să creați zonele personalizate Și adăugați servicii pentru ei. Le-am spus deja ca implicite și atribuirea interfețelor de mai sus, puteți specifica doar numele corect. Nu uitați să reporniți firewall-ul după ce ați efectuat orice schimbare permanentă.

După cum puteți vedea, Firewalld Firewall este un instrument destul de volumetric care vă permite să faceți cea mai flexibilă configurație a firewall-ului. Rămâne numai pentru a vă asigura că utilitatea lansează cu sistemul și regulile specificate încep imediat de munca lor. Faceți-o cu Sudo SystemCTL Activați comanda firewalld.

Pe protecția serverului de amenințările externe, în primul rând, firewall-ul, care filtrează traficul de intrare și de ieșire. Setarea iptabs - un caz privat de firewall pe CentOS, vreau să fac în acest articol, precum și să spun despre instalarea și deconectarea acestuia. Conducerea mea nu va fi exhaustivă, voi lua în considerare numai acele aspecte pe care le consider cel mai important și eu însumi folosesc în munca ta.

Acest articol face parte din ciclul unificat al articolului despre server.

Introducere

Iptables este în prezent un standard de facto în distribuțiile Linux Contemporane. Nici măcar nu pot veni să-mi amintesc ce altceva este folosit ca un paravan de protecție. Deci, orice administrator Linux trebuie întâlnit în lucrarea sa cu configurația acestui firewall.

Există diferite curele la acest firewall care sunt utilizate pentru mai multe setări "convenabile". În Ubuntu este uFW.în CentOS - firewalld., cu alții nu sunt familiarizați. Personal, nu văd nici o comoditate în utilizarea acestor instrumente. Obișnuiam să reglementez firewall-ul Linux în vechiul mod, așa cum am învățat la începutul muncii. Mi se pare că acesta este cel mai simplu și mai convenabil mod pe care îl voi împărtăși cu dvs. Esența sa se referă la faptul că scenariul este creat cu regulile firewall-ului. Acest script poate fi ușor editat sub nevoile dvs. și transferul de pe server pe server.

Dezactivați Firewalld.

Întrebarea de deconectare a firewalld M-am referit deja în subiectul software-ului. Primul lucru va dezactiva Firewalld, care este prezent în CentOS 7 în mod implicit imediat după instalare:

# SystemCt Stop Firewalld

Acum o vom elimina de la pornire, astfel încât să nu pornească din nou după repornire:

# Systemctl Dezactivați Firewalld

După aceasta, pe server, setările ecranului de rețea devin complet deschise. Pot vedea regulile iptablelor prin comandă:

Instalarea iptables.

De fapt, firewall-ul de pe server este deja în picioare și funcționează, pur și simplu nu are reguli, totul este deschis. Va trebui să stabilim utilități suplimentare de control, fără de care este imposibil să se configureze iptables. De exemplu, este imposibil să reporniți firewall-ul:

# Systemctl Restart Iptables.service nu a reușit să emită metoda Apel: Unitate Iptables.service nu a reușit să se încarce: Nu există un astfel de fișier sau director.

Sau adăugați la Autorun nu va funcționa:

# Systemctl Activează iptables.service nu a reușit să emită un apel de metodă: Nu există un astfel de fișier sau director

Pentru a nu avea astfel de erori, instalați pachetul necesar cu utilități:

# Yum-de instalare iptables-servicii

Acum puteți adăuga iptables la autoload și rulează:

# Systemctl Activează iptables.service # Systemctl Start Iptables.service

Configurarea firewall.

Pentru a gestiona regulile firewall, folosesc scenariul. Creaza-l:

# Mcedit /etc/iptables.sh.

Apoi, o vom umple cu regulile necesare. Voi dezasambla toate părțile semnificative ale scenariului și voi da pe deplin sub forma unui fișier text la sfârșitul articolului. Regulile sunt făcute sub formă de imagini pentru a interzice copierea și introducerea. Acest lucru poate duce la erori în activitatea regulilor, cu care mă întâlnesc în timpul pregătirii articolului.

Vom lua în considerare situația când serverul este Gateway Internet pentru rețeaua locală.

În primul rând, setați toate variabilele care vor folosi în script. Nu este necesar să faceți, dar este recomandat deoarece este convenabil să transportați setările de pe server pe server. Va fi suficient pentru a relua pur și simplu variabilele.

Înainte de a aplica noi reguli, curățăm toate lanțurile:

Blochează tot traficul care nu corespunde niciuneia dintre reguli:

Lăsați tot traficul de blocare și LANS:

Permiteți-mi să fac ping:

Dacă nu aveți nevoie, nu adăugați reguli pentru ICMP.

Deschideți accesul la Internet la serverul însuși:

Dacă doriți să deschideți toate conexiunile serverului primite, adăugați o regulă suplimentară:

Acum adăugați protecție împotriva atacurilor de rețea cele mai comune. În primul rând, vom arunca toate pachetele care nu au statut:

Block Zero Pachete:

Închideți de atacurile de inundații Syn:

Dacă nu puneți restricții la accesul din rețeaua locală, permiteți accesul la Internet:

Apoi, interzice accesul din Ineta la rețeaua locală:

Pentru ca rețeaua noastră locală să utilizeze Internetul, activați NAT:

Pentru a nu pierde accesul la server, după aplicarea regulilor, permiteți conexiunile SSH:

Și, la final, scrieți regulile pentru a aplica după repornirea:

Am constituit cea mai simplă configurație care blochează toate conexiunile primite, cu excepția ssh și permit accesul din rețeaua locală la Internet. Pe parcurs, au fost protejați de unele atacuri de rețea.

Salvăm scriptul, face executabil și lansare:

# Chmod 0740 /etc/iptables.sh # /etc/iptables.sh

Vom revizui regulile și vom verifica dacă toate regulile la fața locului:

# iptables -l -v -n

Vă atrag atenția - aplicați regulile numai dacă aveți acces la consola de servere. Dacă eroare în setări, puteți pierde accesul. Asigurați-vă că într-o situație anormală puteți dezactiva firewall-ul și ajustați setările.

Porturi de deschidere

Acum vom extinde configurația și porturile deschise în iptables pentru unele servicii. Să presupunem că avem un server web și trebuie să deschideți accesul de pe Internet. Adăugăm reguli pentru traficul web:

Permisiunea a fost adăugată la compușii primiți din porturile anii 80 și 443, care utilizează serverul web în activitatea sa.

Dacă ați instalat mail Server.Trebuie să rezolvați conexiunile primite pe acesta pentru toate porturile utilizate:

Pentru funcționarea corectă a serverului DNS, trebuie să deschideți portul UDP 53

Port port.

Luați în considerare situația când trebuie să executați porturi de la interfața externă la un computer din rețeaua locală. Să presupunem că trebuie să obțineți accesul la RDP la un computer 10.1.3.50 de pe Internet. Efectuarea portului TCP 3389:

Dacă nu doriți să străluciți în afara portului cunoscut, puteți face redirecționarea de la un port non-standard la portul PDR al computerului final:

Dacă faceți portul în afara interiorului rețelei locale, trebuie să respectați regula care blochează accesul din rețeaua externă în interiorul. În exemplul meu, această regulă: $ IPT -A înainte - $ Wan -o $ LAN1 -J Respingere

Fie înainte de această regulă, creați o regulă de rezoluție pentru accesul exterior la serviciul intern, de exemplu, astfel:

$ IPT -A FORWARD -I $ WAN -D 10.1.3.50 -P TCP -M TCP --Port 3389 -J Acceptați

Pornirea jurnalelor

În timpul configurației, este util să activați jurnalele pentru a monitoriza pachetele blocate și pentru a afla de ce nu există acces la serviciile necesare pe care le păstrăm deja. Eu trimit toate pachetele blocate în lanțuri separate (bloc_in, bloc_out, block_fw), care corespund direcției de trafic și etichetare în jurnale în fiecare direcție. Este mai convenabil să faceți analize de zbor. Adăugăm următoarele reguli la cel mai simplu dintre scripturi înainte de a salva setările:

Toate pachetele blocate pe care le puteți urmări în fișierul / var / jurnal / mesaj.

După ce terminați setarea, comentați aceste șiruri de caractere prin dezactivarea înregistrării. Asigurați-vă că faceți acest lucru, deoarece jurnalele sunt foarte rapid. Nu văd semnificație practică în păstrarea unor astfel de informații personale.

Cum să dezactivați iptables

Dacă decideți brusc că firewall-ul nu mai aveți nevoie de tine, atunci îl puteți opri după cum urmează:

# Systemctl Stop Iptables.vice

Această echipă oprește firewall-ul. Iar următoarea elimină de la pornire:

# Systemctl Dezactivează Iptables.service

Deconectarea ecranului de rețea, am permis tuturor conexiunilor.

Concluzie

Așa cum am promis, am postat scenariul gata cu setul principal de reguli pe care le-am revizuit

Vreau să fiu atențit încă o dată că atunci când se instalează iptables trebuie să fii extrem de atent. Nu începeți acest caz dacă nu aveți acces la consola de servere. Chiar și în timp ce scriu acest articol, am pierdut accesul la server datorită unei erori ridicole în reguli. Această eroare a apărut din cauza copierii și pierderii dublei Dash - a fost înlocuită cu unic.

curs online "Administrator Linux" din Otus. Cursul nu este pentru începători, pentru admitere aveți nevoie de cunoștințe de bază privind rețelele și instalare Linux. pe un virtual Formarea durează 5 luni, după care absolvenții de succes ai cursului vor putea să treacă interviuri de la parteneri. Ce vă va oferi acest curs:

  • Cunoașterea arhitecturii Linux.
  • Mastering Metode moderne și analize de date și instrumente de prelucrare a datelor.
  • Abilitatea de a selecta configurația pentru sarcinile necesare, gestionarea proceselor și asigurarea securității sistemului.
  • Deținerea principalelor instrumente de lucru ale administratorului de sistem.
  • Înțelegerea caracteristicilor desfășurării, setărilor și întreținerii rețelelor construite pe baza Linux.
  • Abilitatea de a rezolva rapid problemele emergente și de a asigura o operație stabilă și neîntreruptă.
Verificați-vă pe testul introductiv și vedeți mai mult din programul software.

Zonele

Demon Firewalld gestionează grupuri de reguli folosind așa-numitele zone.

Zonele sunt, de fapt, seturile de reguli care controlează traficul pe baza nivelului de încredere în această rețea. Zonele sunt atribuite interfețelor de rețea și controlează comportamentul firewall-ului.

Computerele care sunt adesea conectate la diferite rețele (de exemplu, laptop-uri) pot utiliza zone pentru a schimba seturile de reguli în funcție de mediu. De exemplu, când este conectat la public rețele Wi-Fi. Firewall-ul poate aplica reguli mai stricte și în rețeaua de domiciliu pentru a slăbi restricțiile.

Următoarele zone există în Firewalld:

  • scădere: cel mai scăzut nivel de încredere în rețea. Toate traficul de intrare sunt evacuate fără un răspuns, sunt acceptate doar compușii de ieșire.
  • bloc: Această zonă este similară cu cea precedentă, dar cererile de intrare sunt resetate cu ICMP-Host-interzis sau ICMP6-ADM interzise.
  • public: Această zonă reprezintă o rețea publică care nu poate fi de încredere în totuși, ea susține compușii primiți individual.
  • externe: Zona de rețea externă. Sprijină mascarea NAT, astfel încât rețeaua internă rămâne închisă, dar cu capacitatea de a avea acces.
  • intern: Partea inversă a zonei externe, rețelele interne. Computerele din această zonă pot fi de încredere. Sunt disponibile servicii suplimentare.
  • dMZ: utilizat pentru computere situate în DMZ (computere izolate care nu vor avea acces la restul rețelei); Suportă numai câteva conexiuni primite.
  • lucrări: zona de rețea de lucru. Cele mai multe mașini din rețea pot fi de încredere. Sunt disponibile servicii suplimentare.
  • acasă: zona de rețea de domiciliu. Înconjurarea poate fi de încredere, dar sunt acceptate numai conexiunile de intrare definite de utilizator.
  • trusted: Toate mașinile din rețea pot fi de încredere.

Salvarea regulilor

Regulile Firewalld sunt permanente și temporare. Dacă setul apare sau modifică orice regulă, comportamentul curent al firewall-ului variază imediat. Cu toate acestea, după repornire, toate modificările vor fi pierdute dacă nu sunt salvate.

Cele mai multe comenzi de firewall-cmd pot folosi steagul -permanent, care va salva regula, după care va fi folosit în mod continuu.

Activarea firewall-ului Firewalld.

Mai întâi trebuie să porniți demonul. Fișierul unitar sistem este numit Firewalld.Service. Pentru a porni daemonul, introduceți.

sudo Systemctl începe Firewalld.Service

Asigurați-vă că serviciul funcționează:

firewall-cmd-state
Alergare

Acum, firewall-ul rulează și funcționează în funcție de configurația implicită.

În prezent, serviciul este activat, dar nu va porni automat împreună cu serverul. Pentru a vă bloca accidental pe propriul server, creați mai întâi un set de reguli, apoi configurați Autorunul.

Reguli implicite de firewall.

Vizualizați regulile implicite

Pentru a afla care zonă este utilizată în mod implicit, introduceți:

firewall-cmd - Obiectivul implicit
Public

În prezent, Firewalld nu a primit instrucțiuni privind alte zone, în plus, nici o interfață nu este legată de alte zone, deci acum zona publică este zona implicită, precum și singura zonă activă.

Pentru a obține o listă de zone active, introduceți:


Public
Interfețe: Eth0 Eth1

Două interfețe de rețea sunt legate de zona publică: eth0 și eth1. Interfețele atașate zonei funcționează în conformitate cu regulile acestei zone.

Pentru a afla care reguli utilizați zona implicită, introduceți:

firewall-cmd --list-all
Public (implicit, activ)
Interfețe: Eth0 Eth1
Surse:
Servicii: DHCPV6-Client SSH
Porturi:
Masquerade: Nu.
Porturi înainte:
Blocuri ICMP:
Reguli bogate:

Deci, acum știi că:

  • publicul este zona implicită și singura zonă activă.
  • Interfețele eth0 și eth1 sunt legate de acesta.
  • Acesta suportă traficul DHCP (atribuirea adreselor IP) și SSH (Administrare la distanță).

Alte zone de firewall.

Acum ar trebui să vă familiarizați cu alte zone.

Pentru a obține o listă cu toate zonele disponibile, introduceți:

firewall-cmd - geamuri

Pentru a obține parametrii unei anumite zone, adăugați Flag -Zone \u003d comanda.

firewall-cmd --Zone \u003d Home - List-Toate
ACASĂ
Interfețe:
Surse:
Servicii: DHCPV6-Client IPP-client MDNS Samba-client SSH
Porturi:
Masquerade: Nu.
Porturi înainte:
Blocuri ICMP:
Reguli bogate:

Pentru a afișa definiția tuturor zonelor disponibile, adăugați opțiunea-List All-Zone. Pentru o vizualizare mai convenabilă, ieșirea poate fi transferată la pager:

firewall-cmd - lista de zone | Mai puțin

Configurarea zonelor de interfață

Inițial, toate interfețele de rețea sunt legate de zona implicită.

Schimbarea zonei de interfață pe sesiune

Pentru a traduce o interfață la o altă sesiune la o altă sesiune, utilizați -Zone \u003d și -CHANGE-Interface \u003d Opțiuni \u003d.

De exemplu, pentru a traduce Eth0 la zona de origine, trebuie să introduceți:

sudo Firewall-cmd --Zone \u003d Home - Interfață -Cange-interfață \u003d eth0
Succes.

Notă: La traducerea interfeței într-o altă zonă, trebuie să se țină cont de faptul că poate afecta funcționarea unor servicii. De exemplu, zona de origine acceptă SSH, astfel încât conexiunile Acest serviciu nu va fi resetat. Dar unele zone renunță la toate conexiunile, inclusiv ssh, și apoi puteți bloca accidental accesul la propriul dvs. server.

Pentru a vă asigura că interfața este legată de noua zonă, introduceți:

firewall-cmd - Obiective-Active-Zone
ACASĂ
Interfețe: eth0.
Public
Interfețe: Eth1.

După repornirea firewall-ului, interfața va fi din nou legată de zona implicită.

sudo sistemctl repornește Firewalld.service
Firewall-cmd - Obiective-Active-Zone
Public
Interfețe: Eth0 Eth1

Schimbarea zonei de interfață pe o bază continuă

Dacă nu este specificată nicio altă zonă în setările de interfață, după repornirea firewall-ului, interfața va fi din nou legată de zona implicită. În CentOS, astfel de configurații sunt stocate în directorul / etc / sysconfig / rețea-script-uri, în fișiere de interfață IFCFG.

Pentru a determina zona de interfață, deschideți fișierul de configurare a acestei interfețe, de exemplu:

Adăugați o zonă variabilă la sfârșitul fișierului și specificați cealaltă zonă ca valoare, de exemplu, acasă:

. . .
DNS1 \u003d 2001: 4860: 4860 :: 8844
DNS2 \u003d 2001: 4860: 4860 :: 8888
DNS3 \u003d 8.8.8.8.
Zona \u003d casa.

Salvați și închideți fișierul.

Pentru a actualiza setările, reporniți serviciul de rețea și firewall:

sudo Systemctl Restart Network.service
Sudo sistemctl repornește Firewalld.service

După repornire, interfața etică va fi legată de zona de origine.

firewall-cmd - Obiective-Active-Zone
ACASĂ
Interfețe: eth0.
Public
Interfețe: Eth1.

Setarea zonei implicite

De asemenea, puteți alege o altă zonă implicită.

Pentru a face acest lucru, utilizați zona-implicită-implicită \u003d. După aceea, toate interfețele vor fi legate de o altă zonă:

sudo firewall-cmd - set-implicit-zona \u003d acasă
ACASĂ
Interfețe: Eth0 Eth1

Crearea regulilor pentru aplicații

Adăugarea unui serviciu în zona

Cea mai ușoară modalitate de a adăuga un serviciu sau un port în zona pe care o folosește firewall-ul. Consultați serviciile disponibile:

firewall-cmd --get-Servicii
RH-Satellite-6 amanda-client bacula bacula-client dhcp dhnpv6 dhcpv6-client DNS FTP http http http httpps ipp ipp-client iPSec kerberos kpasswd ldap ldps libvirt libvirt-tls MDNS MS-WBT MySQL NFS NTP OPENVPN PMCD PMPROXY PMWEBAPI PMWebapis POP3S Postgresql Proxy-DHCP Radius RPC-Bind Samba Samba client SMTP SSH TELNET TFTP TFTP-Client Transmission-client VNC-server wbem-https

Notă: Mai multe informații despre fiecare serviciu specific pot fi găsite în fișiere.xml în directorul / USR / LIB / Firewalld / Service. De exemplu, informațiile despre serviciul SSH sunt stocate în /usr/lib/firewalld/services/ssh.xml și arată astfel:



Ssh.

Pentru a activa suportul de service într-o anumită zonă, utilizați opțiunea -ADD-SERVICE \u003d. Puteți specifica zona țintă utilizând opțiunea -Zone \u003d. În mod implicit, aceste modificări vor funcționa pentru o sesiune. Pentru a salva modificările și a le utiliza pe o bază în curs de desfășurare, adăugați steagul -permanent.

De exemplu, pentru a începe un server web pentru a menține traficul HTTP, mai întâi trebuie să activați suportul pentru acest trafic în zona publică pentru o sesiune:

sudo Firewall-cmd --Zone \u003d Public --Add-service \u003d http

Dacă serviciul trebuie să adauge în zona implicită, -Zone \u003d Steagul poate fi omis.

Asigurați-vă că operațiunea are succes:

firewall-CMD --Zone \u003d Public - lista de servicii
Dhcpv6-client http ssh

Testați lucrarea serviciului și a firewall-ului. Dacă totul funcționează corect, puteți modifica setul permanent de reguli și puteți adăuga o regulă pentru a sprijini acest serviciu.

sudo Firewall-CMD --Zone \u003d Public --Permanent --DD-Service \u003d http

Pentru a vizualiza o listă de reguli permanente, introduceți:

sudo Firewall-CMD --Zone \u003d Public - List SERVICII
Dhcpv6-client http ssh

Acum, zona publică acceptă http și portul 80 pe o bază în curs de desfășurare. Dacă serverul web poate servi trafic SSL / TLS, puteți adăuga, de asemenea, serviciul HTTPS (pentru o sesiune sau într-un set de reguli permanente):

sudo Firewall-CMD --Zone \u003d Public --DD-Service \u003d HTTPS
Sudo Firewall-cmd --Zone \u003d Public --Perment --Add-service \u003d https

Ce se întâmplă dacă serviciul necesar nu este disponibil?

Firewall-ul Firewalld în mod implicit include multe dintre cele mai comune servicii. Cu toate acestea, unele aplicații necesită servicii care nu sunt acceptate în Firewalld. În acest caz, puteți face în două moduri.

Metoda 1: Configurarea porturilor

Cea mai ușoară modalitate de a deschide un port de aplicare în zona de firewall necesară este cea mai ușoară. Trebuie doar să specificați gama de port sau port și protocolul.

De exemplu, o aplicație care utilizează protocolul Port 5000 și TCP trebuie adăugată în zona publică. Pentru a permite suportul aplicației pentru sesiunea de jos, utilizați parametrul -DD-port \u003d și specificați protocolul TCP sau UDP.

sudo Firewall-CMD --Zone \u003d Public --Add-Port \u003d 5000 / TCP

Asigurați-vă că operația a trecut cu succes:

firewall-cmd - lista de uzuri
5000 / TCP.

De asemenea, puteți specifica gama de seriali de porturi, separarea primului și ultimul port al intervalului de dash. De exemplu, dacă o aplicație utilizează porturile UDP 4990-4999 pentru a le adăuga în zona publică, trebuie să introduceți:

sudo Firewall-cmd --Zone \u003d Public --DD-port \u003d 4990-4999 / UDP

După testare, puteți adăuga aceste reguli în setările permanente ale firewall-ului.

sudo Firewall-CMD --Zone \u003d Public --Perment --Add-port \u003d 5000 / TCP
Sudo Firewall-cmd --Zone \u003d Public --Permanent --Add-port \u003d 4990-4999 / UDP
Sudo Firewall-CMD --Zone \u003d Public - Porturi
Succes.
Succes.
4990-4999 / UDP 5000 / TCP

Metoda 2: Definiția serviciului

Adăugați porturi în zona pur și simplu, dar dacă aveți multe astfel de aplicații, ca rezultat va fi dificil de urmărit, pentru care unul sau alt port este destinat. Pentru a evita o astfel de situație, puteți determina serviciile în loc de porturi.

Serviciile sunt pur și simplu seturi de port cu un nume și o descriere specifică. Cu ajutorul serviciilor este mai ușor să controlați setările, dar ele însele sunt mai dificile decât porturile.

Mai întâi trebuie să copiați scriptul existent din directorul / USR / LIB / Firewalld / Service din directorul / etc / Firewalld / Service (AICI Firewall-ul caută setări non-standard).

De exemplu, puteți copia definiția serviciului ssh și utilizați-o pentru a determina serviciul de exemplu condiționat. Numele scriptului trebuie să se potrivească cu numele serviciului și să aibă extensie .XML.

sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xml

Corectați fișierul copiat.

sudo nano /etc/firewalld/services/example.xml.

Fișierul este definiția ssh:



Ssh.
Secure Shell (SSH) este un protocol pentru conectarea și executarea comenzilor pe mașini de la distanță. Acesta oferă comunicații criptate securizate. Dacă intenționați să accesați telecomanda mașinii prin SSH pe o interfață Firewalled, activați această opțiune. Aveți nevoie de pachetul OpenSSH-Server instalat pentru această opțiune pentru a fi utilă.

Cea mai mare parte a definiției serviciului este metadatele. Modificați numele scurt al serviciului în etichete . Acesta este un nume de serviciu pentru clienți. De asemenea, trebuie să adăugați o descriere a serviciului. Singura modificare care va afecta serviciul serviciului este de a schimba numărul portului și protocolul.

Să revenim la serviciul de exemplu; Să presupunem că este nevoie de portul TCP deschis 7777 și portul UDP 8888. Definiția va arăta astfel:



Exemplu de serviciu
Acesta este doar un exemplu de serviciu. Probabil nu ar trebui să fie folosit pe un sistem real.

Salvați și închideți fișierul.

Reporniți firewall-ul:

sudo Firewall-CMD - Încărcare

Acum, serviciul va apărea în lista de servicii disponibile:

firewall-cmd --get-Servicii
RH-satellite-6 amanda-client bacula bacula-client dhcp DHCPV6 DHCPV6-client DNS Exemplu FTP http http http httpps ipp ipp-client IPSec kerberos kpasswd ldap ldaps libvirt libvirt-tls MDN MS-WBT MySQL NFS NTP OpenVPN PMCD PMPROXY Pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius RPC-Bind Samba Samba-client SMTP SSH TELNET TFTP TFTP-Client Transmission-client VNC-server WBEM-HTTPS

Crearea de zone

Firewall-ul oferă multe zone predefinite, care în majoritatea cazurilor suficient de a lucra. Dar, în anumite situații, este nevoie să creați o zonă personalizată.

De exemplu, pentru un server Web, puteți crea o zonă publicăWeb și pentru serviciul DNS - Privatedns Zone.

Crearea unei zone, trebuie să o adăugați la setările constante ale firewall-ului.

Încercați să creați zonele PublicWeb și Privonds:

sudo Firewall-cmd --Permanent - nou-zone \u003d PublicWeb
Sudo Firewall-CMD --Permanent --New-Zone \u003d Priviți

Asigurați-vă că există zone:

sudo Firewall-cmd --Permanent - Obiective-Zone

În sesiunea curentă, zonele noi nu vor fi disponibile:

firewall-cmd - geamuri
Blocul DMZ Drop Home externă Publicul intern de încredere

Pentru a accesa zonele noi, trebuie să reporniți firewall-ul:

sudo Firewall-CMD - Încărcare
Firewall-cmd - geamuri
Blocul DMZ Drop Home Externe Priviți public Public Publicweb de încredere

Acum puteți atribui serviciile și porturile necesare în zonele noi. De exemplu, în zona Publicweb, puteți adăuga ssh, http și https.

sudo firewall-cmd --zone \u003d publicweb-add-service \u003d ssh
Sudo Firewall-cmd --Zone \u003d publicweb --add-service \u003d http
Sudo Firewall-CMD --Zone \u003d PublicWeb --Add-Service \u003d Https
Firewall-cmd --zone \u003d publicweb --list-all
Publicweb.
Interfețe:
Surse:
Servicii: http https ssh
Porturi:
Masquerade: Nu.
Porturi înainte:
Blocuri ICMP:
Reguli bogate:

Puteți adăuga DNS în zona privată:

sudo Firewall-CMD --Zone \u003d Privonds --Add-Service \u003d DNS
Firewall-cmd --Zone \u003d Priviți - lista-toate
Priviți.
Interfețe:
Surse:
Servicii: DNS.
Porturi:
Masquerade: Nu.
Porturi înainte:
Blocuri ICMP:
Reguli bogate:

Apoi puteți lega interfețele de rețea în zonele noi:

sudo Firewall-cmd --Zone \u003d PublicWeb - Interfață -Change \u003d Eth0
Sudo Firewall-cmd --Zone \u003d Priviți - interfață -Change-interfață \u003d eth1

Acum puteți testa setarea. Dacă totul funcționează corect, puteți adăuga aceste reguli la setările constante.

sudo Firewall-CMD --Zone \u003d PublicWeb --Permanent --Add-Service \u003d SSH
Sudo Firewall-CMD --Zone \u003d PublicWeb --Permanent --Add-service \u003d http
Sudo Firewall-cmd --Zone \u003d Publicweb --Permanent --DD-Service \u003d HTTPS
Sudo Firewall-cmd --Zone \u003d Priviți --Permanent --Add-service \u003d DNS

După aceasta, puteți configura interfețele de rețea pentru conectare automată În zona dreaptă.

De exemplu, eth0 va fi legată de publicweb:

sudo nano / etc / sysconfig / script-uri de rețea / IFCfg-eth0
. . .
Ipv6_autoconf \u003d Nr.
DNS1 \u003d 2001: 4860: 4860 :: 8844
DNS2 \u003d 2001: 4860: 4860 :: 8888
DNS3 \u003d 8.8.8.8.
Zona \u003d publicweb.

Și interfața etică va fi legată de privaturi:

sudo nano / etc / sysconfig / script-uri de rețea / IFCFG-ETH1
. . .
Netmask \u003d 255.255.0.0.
Defroute \u003d "Nu"
Nm_controlled \u003d "da"
Zona \u003d privat.

Reporniți serviciile de rețea și firewall:

sUDO SYSTEMCTL RESTART REȚELE
Sudo Systemctl Repornește Firewalld

Verificați zonele:

firewall-cmd - Obiective-Active-Zone
Priviți.
Interfețe: Eth1.
Publicweb.
Interfețe: eth0.

Asigurați-vă că nevoile următoarelor servicii lucrează în zone:

firewall-cmd --Zone \u003d PublicWeb - lista de servicii
http http ssh.
Firewall-cmd --Zone \u003d Priviți - lista de servicii
DNS.

Zonele personalizate sunt complet pregătite pentru muncă. Puteți face oricare dintre ele zona implicită. De exemplu:

sudo firewall-cmd - set-implicit-zona \u003d publicweb

Lansarea automată a firewall-ului

Acum că ați verificat toate setările și ați asigurat că toate regulile funcționează corect, puteți personaliza Autorunul firewall.

Pentru a face acest lucru, introduceți:

sudo Systemctl permite Firewalld

Acum, firewall-ul va alerga împreună cu serverul.

Concluzie

Firewall Firewalld este un instrument foarte flexibil. Zonele vă permit să schimbați rapid politica firewall-ului.

Acum știți cum funcționează Firewalld, familiarizați cu conceptele de bază ale firewall-ului, știți cum să creați zone personalizate și să adăugați servicii.

Etichete:

Astăzi vă voi prezenta viziunea dvs. asupra configurației inițiale a serverului universal pe sistemul de operare popular. Voi vorbi despre modul de a face setarea de bază a serverului CentOS imediat după instalare pentru ao folosi în orice calitate la discreția dvs. Prezentat sfaturi practice Îmbunătățiți securitatea și confortul de a lucra cu serverul. Articolul va fi relevant pentru ultimele două emisiuni din CentOS - 7 și 8.

  1. Listează setările inițiale ale CentOS pe care le interpretez pe cel mai proaspăt server.
  2. Afișați exemple de configurații pe care le folosesc într-o setare tipică.
  3. Oferiți sfaturi despre setarea CentOS pe baza experienței dvs. de lucru.
  4. Creați o listă de programe și utilități tipice care ajută la administrarea serverului.

Acest articol face parte din ciclul unificat al articolului despre server.

Introducere

După eliberarea noului CentOS 8, a devenit greu într-un singur articol pentru a descrie setare initiala Ambele servere, dar nu am vrut să împărtășesc un articol, deoarece există multe legături primite din diferite locuri. Este mai convenabil să se mențină materialele globale pe ambele versiuni decât mine. În același timp, diferențele dintre două versiuni vor fi vizibile, care timp de câțiva ani după ce CentOS de ieșire 8 vor fi relevante, cât și o altă versiune va fi utilizată, în funcție de situație.

CentOS 7 utilizează un manager de batch yum., iar în CentOS 8 - dNF.. În același timp, a lăsat o legătură simbolică cu Yum pe DNF, astfel încât să puteți scrie atât numele, cât și cel de-al doilea. Pentru uniformitate, voi folosi Yum peste tot și vă voi avertiza, doar pentru a înțelege de ce fac asta. Într-adevăr, CentOS 8 utilizează DNF, acesta este altul, mai modern manager de batch care vă permite să lucrați cu diferite versiuni același software. Aceasta utilizează depozite separate care au apărut pentru CentOS 8.

Centoșul inițial de configurare.

Personal, sunt orice setare de sistem, fie ea un centos sau altul, după instalare, încep cu faptul că actualizez complet sistemul. Dacă imaginea de instalare a fost proaspătă sau instalarea a fost efectuată în rețea, atunci nu va fi mai probabil actualizări. Cel mai adesea sunt, deoarece imaginile de instalare nu sunt întotdeauna actualizate în mod regulat.

Actualizăm sistemul

# Actualizare yum.

Pentru ușurința de administrare, instalez întotdeauna comandantul de la miezul nopții sau doar MC:

# yum instalați mc

Și imediat pentru el, am activitatea de evidențiere a sintaxei tuturor fișierelor care nu sunt explicit în fișier USR / Share / MC / Sintaxă / Sintaxă Sintaxă pentru SH și scripturi de bash. Această sintaxă universală este potrivită în mod normal pentru fișierele de configurare care, cel mai adesea, trebuie să funcționeze pe server. Suprascrieți dosarul necunoscut.Syntax.. Este acest model care va fi aplicat la fișierele c.conf i.cf, deoarece nici o sintaxă nu este în mod clar legată de ele.

# cp /usr/share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.Syntax

Mai mult, vom folosi utilitare de rețea. În funcție de setul pachetelor inițiale pe care le alegeți la instalarea sistemului, veți avea unul sau un set de utilități de rețea. Iată o listă a celor care sunt obișnuiți cu personal - ifconfig, netstat, nslookup și alții. Dacă aveți nevoie de ea, la fel ca mine, atunci vă propun să le instalați separat dacă nu sunt încă. Dacă nu aveți nevoie în mod deosebit și nu le folosiți, puteți sări peste instalarea lor. Verificați dacă avem în sistem în acest moment

# ifconfig.

Dacă vedeți răspunsul:

Bash: ifconfig: comanda nU A FOST GASIT.

Astfel încât utilitarul nu este instalat. În loc de ifconfig în CentOS acum utilitate ip.. Acest lucru se aplică nu numai centrului. O astfel de imagine este aproape toate distribuțiile moderne moderne Linux. Sunt obișnuit cu ifconfig pentru o lungă perioadă de timp, deși În ultima vreme Practic, nu folosim. Întotdeauna mi-a plăcut că în diferite distribuții Linux, totul este aproximativ același. Folosind iFconfig, puteți configura rețeaua nu numai în Linux, dar și în FreeBSD. E confortabil. Și când în fiecare distribuție, acest instrument nu este convenabil. Deși acum nu este foarte relevant, deoarece nu lucrez cu FreeBSD, iar utilitatea IP este în toate distribuțiile Linux. Cu toate acestea, dacă aveți nevoie de iFconfig, puteți instala pachetul net-instrumente.în care vine în:

# Yum instalați net-tools

Astfel încât avem comenzile lui Nslookup sau, de exemplu, gazda trebuie să instaleze pachetul legatele.. Dacă acest lucru nu este făcut, atunci pe comandă:

# Nslookup.

Va fi o concluzie:

Bash: Nslookup: comanda nu a fost găsită

Deci, instalați legile:

# Yum instalați legat-utili

Dezactivați selinux.

Opriți selinuxul. Utilizarea și configurarea unei conversații separate. Acum nu voi face asta. Așa că am oprit:

# Mcedit / etc / sysconfig / selinux

schimbați valoarea

Selinux \u003d dezactivat.

Pentru a schimba modificările, puteți reporni:

# Reporniți

Și dacă doriți să reporniți, aplicați oprirea SELINUX, apoi executați comanda:

# Stence 0.

În mod constant, primesc o mulțime de critici pe tema Selinux Dezactivare. Știu cum funcționează, îl pot personaliza. Nu este foarte dificil și nu este greu de stăpânit. Aceasta este alegerea mea conștientă, deși uneori am pus-o. Formatul meu de lucru cu sistemul este de așa natură încât selinuxul este cel mai adesea necesar pentru mine, așa că nu petrec timpul la el și în setarea de bază a centrale se oprește. Securitatea sistemului este o lucrare cuprinzătoare, în special în lumea modernă a dezvoltării web, în \u200b\u200bcare regula Microservice și Containere. SELINUX Nishey Instrumente care nu sunt întotdeauna necesare și nu peste tot. Prin urmare, în acest articol, el nu este un loc. Cine are nevoie, va include separat Selinux și configurează.

Indicați parametrii rețelei

Continuăm setarea de bază a centosului după instalare. Acum vom produce dacă din anumite motive nu au făcut-o în timpul instalării sau dacă trebuie să le schimbați. În general, rețeaua din CentOS este configurată de Manager de rețea. și utilitatea consolei sale nmtui.. Se duce în sistemul de bază Oralovka. Există o interfață grafică simplă și ușor de înțeles, deci nu este nimic de spus. Sunt mai folosit pentru a regla rețeaua prin fișiere de configurare Scripturi de rețea. În centrul celei de-a 7-a versiuni sunt din cutie, în a 8-a versiune au fost eliminate. Pentru a le folosi pentru configurarea rețelei, trebuie să instalați separat pachetul. scripturi de rețea..

# Yum instalați script-uri de rețea

Acum puteți configura rețeaua. Pentru a face acest lucru, deschideți fișierul / etc / SysConfig / Script-uri de rețea / IFCFG-ETH0

# Mcedit / etc / Sysconfig / Script-uri de rețea / IFCFG-ETH0

Daca primesti setari de retea Prin DHCP, setul minim de setări din fișierul de configurare va fi așa.

Type \u003d "Ethernet" BootProto \u003d "DHCP" Defroute \u003d "Da" IPv4_failure_fatal \u003d "Nu" Nume \u003d "Eth0" Dispozitiv \u003d "Eth0" Onboot \u003d "Da"

Pentru a configura adresa IP statică, setările vor fi următoarele.

Tip \u003d "Ethernet" BootProto \u003d "None" Defroute \u003d "Da" IPv4_failure_fatal \u003d "Nu" Nume \u003d "Eth0" Dispozitiv \u003d "Eth0" Onboot \u003d "Da" iPaddr \u003d 192.168.167.117 DNS1 \u003d 192.168.167.113 Prefix \u003d 28 Gateway \u003d 192.168.167.113.

În câmpul iPaddr, introduceți adresa dvs., în masca de rețea Prefix, în gateway-ul Gateway, Adresa DNS. Serverul DNS. Salvați fișierul și reporniți rețeaua pentru a aplica setările:

# Rețeaua de repornire SystemCTL

Personalizați firewall-ul

Adăugarea de depozite

La configurarea CentOS, aveți nevoie de multe ori de software care nu este în repesa standard. Pentru instalare pachete suplimentare necesar. Cel mai popular este EPEL. Era a fost RPMForge, dar deja închiriată câțiva ani. Despre el toți uitați. Conectați depozitul Epel. Cu el totul este simplu, acesta este adăugat din standardul standard:

# Yum instalați eliberarea Epel

De asemenea, depozitul REMI este extrem de util pentru CENTOS 7, care vă permite să stabiliți o versiune mare a PHP, spre deosebire de cele din depozitul standard. Permiteți-mi să vă reamintesc că aceasta este versiunea PHP 5.4, care nu mai este adecvată și eliminată din suport.

# rpm -uhv http://rpms.remirepo.net/enterprise/remi-lelelease-7.rpm

Pentru CentOS 8 REMI nu este încă relevantă, dar cred că este temporară. În principiu, aceste două depozit în CentOS, de obicei, apucă în general. Altele sunt conectate în anumite nevoi specifice pentru a instala diverse software.

Configurarea stocării istoriei în bash_history

Mergând pe pentru a configura sistemul CentOS de pe server. Utile vor face unele modificări ale mecanismului standard pentru salvarea istoriei echipelor. Adesea vă ajută când trebuie să vă amintiți una dintre comenzile introduse anterior. Setările standard au anumite restricții care sunt incomode. Iată lista lor:

  1. Implicit, numai ultimele 1000 comenzi sunt salvate. Dacă sunt mai multe dintre ele, atunci mai în vârstă vor fi șterse și înlocuite cu cele noi.
  2. Datele de execuție a comenzilor nu sunt specificate, numai lista lor în ordinea executării.
  3. Fișierul cu lista de mesaje este actualizat după terminarea sesiunii. Cu sesiuni paralele, o parte din comenzi poate fi pierdută.
  4. Absolut toate comenzile sunt salvate, deși nu există niciun sens în depozitare.

Lista ultimei comenzi executate este stocată în directorul de domiciliu din fișierul din fișier .bash_history. (la începutul punctului). Poate fi deschis de către orice editor și vedeți. Pentru o ieșire mai convenabilă a listei, puteți introduce comanda în consola:

# Istorie.

Și vedeți lista numerotată. Găsiți rapid o comandă specifică, puteți utiliza filtrarea numai rândurile dorite, de exemplu, astfel:

# Istoric | Grep yum.

Deci, vom vedea toate opțiunile pentru rularea comenzii yum, care sunt stocate în istorie. Vom corecta dezavantajele enumerate ale setărilor standard de stocare a comenzii din CentOS. Pentru a face acest lucru, editați fișierul .bashrc.care este situat în același director ca un fișier cu istoria. Adăugați următoarele linii la acesta:

Export HISTIZE \u003d 10000 Export HistTimeformat \u003d "% H% D% H:% M:% s" Prompt_command \u003d "Istoric" Export Histignore \u003d "LL: Istoric: W: HTOP"

Primul parametru mărește dimensiunea fișierului la 10.000 de linii. Puteți face mai mult, deși de obicei apucă o astfel de dimensiune. Al doilea parametru indică faptul că trebuie să economisiți data și ora comenzii. A treia forțe de linie imediat după executarea comenzii pentru ao menține în istorie. În ultima linie, creăm o listă de excepții pentru acele comenzi a căror înregistrare nu este necesară în istorie. Am adus un exemplu de listă cea mai simplă. Puteți să-l adăugați la discreția dvs.

Pentru a aplica modificări, este necesar să se alinieze și să se conecteze din nou sau să execute comanda:

# Sursă ~ / .bashrc

Prin configurarea stocării istoricului comenzilor, totul. În fișierul .bashrc, puteți configura multe lucruri interesante. La un moment dat am fost îndrăgostit de experimentat, dar totul a aruncat-o, pentru că nu are sens. Lucrul cu serverele clienților, mai adesea văd bashul implicit, deci este mai bine să vă obișnuiți și să lucrați în ea. Și setările individuale și decorațiile sunt numeroase computere și servere personale. Nici un muncitor. Deci, mai mult nu configurez nimic în conformitate cu standardul din serverul CentOS în această privință.

Actualizarea automată a sistemului.

Pentru a menține securitatea serverului la nivel adecvat, este necesar să se actualizeze cel puțin în timp util - atât kernelul în sine cu utilități de sistem, cât și alte pachete. Puteți să o faceți manual, dar pentru o muncă mai eficientă, este mai bine să configurați execuția automată. Nu este necesar să instalați automat actualizări, dar cel puțin pentru a verifica aspectul acestora. De obicei, aderă la o astfel de strategie.

Yum-cron.

Utilitatea vă va ajuta să verificați automat actualizările din CentOS 7 yum-cron.. Se face în mod tradițional prin Yum de la depozitul standard.

# Yum instalați yum-cron

După instalarea Yum-Cron este creată sarcina automată cu privire la execuția utilității în /etc/cron.Daily. și /etc/cron.hourly.. În mod implicit, utilitarul descărcați actualizările găsite, dar nu le aplică. În schimb, o notificare a actualizărilor este trimisă administratorului la rădăcina casei poștale locale. Mai departe, sunteți deja în mod manual Vino și decideți dacă instalați actualizări sau nu într-un timp convenabil pentru dvs. Văd acest mod de lucru cel mai convenabil, așa că nu modificăm aceste setări.

Puteți configura Yum-Cron prin fișierele de configurare situate la /etc/yum/yum-cron.conf. și yum-cron-oră.conf. Nu sunt comentate rău, așa că în explicațiile detaliate nu au nevoie. Am atras atenția asupra secțiunii unde puteți specifica parametrii de trimitere a mesajelor. Implicit, trimiterea de e-mail prin intermediul gazdei locale. Puteți modifica parametrii și puteți trimite mesaje printr-un server de e-mail terță parte. Dar, în schimb, prefer personal la nivel global pentru întregul server pentru a ajusta redirecționarea corespondenței locale a rădăcinii într-o cutie poștală externă prin autorizare pe un alt server SMTP.

DNF-automatic.

Așa cum am spus mai devreme, un alt manager de lot este utilizat în CentOS 8 - DNF. Setarea actualizării pachetului se efectuează prin utilitate dNF-automatic.. Puneți-o și configurați-o.

# Yum instalați DNF-automatic

Gestionarea start-up-ului la program nu mai este cron, dar sistemul este construit programul său încorporat. Urmăriți cronometrele de lansare automată pot fi echipa:

# Listă SystemCTL-Timeri * DNF- *

Dacă nu există o singură sarcină, atunci puteți adăuga un temporizator manual:

# Systemctl Activare - Acum DNF-Automatic.TIMER

Timerul implicit este configurat pentru a porni ora DNF-automată după ce serverul este încărcat și repetarea zilnică. Timerul config locuiește aici - /etc/systemd/system/multi-user.target.want/dnf-automatic.timer..

Configurați pentru viața DNF-automată în /etc/dnf/automatic.conf.. În mod implicit, numai descărcă actualizările, dar nu le aplicați. Config este bine comentat, astfel încât să puteți seta așa cum doriți. Nu sunt necesare explicații separate. Configurați actualizarea pachetelor de sistem la discreția dvs. Așa cum am spus, în mod automat le leagă. Instalarea păstrează întotdeauna controlul cu controlul manual.

Opriți posturile de inundații din / var / jurnal / mesaje

Continuând setarea CentOS, corectați un mic inconvenient. În instalarea implicită a sistemului de versiune 7, toate jurnalul de sistem / Var / jurnal / mesaje După ceva timp, serverul va fi înfundat cu următoarele înregistrări.

Oct 16 14:01:01 XS-Files Systemd: Creat User Slice-0.slice. Oct 16:01:01 XS-Files Systemd: Pornirea utilizator-0.slice. Oct 16:01:01 XS-Files Systemd: a început sesiunea 14440 a rădăcinii utilizatorului. Oct 16:01:01 XS-Files Systemd: începerea sesiunii 14440 a rădăcinii utilizatorului. Oct 16:01:01 XS-Files Systemd: User Slice îndepărtate-0.slice. Oct 16:01:01 XS-Files Systemd: Oprirea utilizatorului-7.slice. Oct 16:01:01 XS-Files Systemd: Creat User Slice-0.slice. Oct 16:01:01 XS-Files Systemd: Pornirea utilizator-0.slice. Oct 16:01:01 XS-Files Systemd: a început sesiunea 14441 a rădăcinii utilizatorului. Oct 16:01:01 XS-Files Systemd: începerea sesiunii 14441 a rădăcinii utilizatorului. Oct 16:01:01 XS-Files Systemd: a început sesiunea 14442 a rădăcinii utilizatorului. Oct 16:01:01 XS-Files Systemd: începerea sesiunii 14442 a rădăcinii utilizatorului. Oct 16:01:01 XS-Files Systemd: User Slice îndepărtate-0.slice. Oct 16:01:01 XS-Files Systemd: Oprirea utilizatorului-7.slice. Oct 16:01:01 XS-Files Systemd: Creat User Slice-0.slice. Oct 16:01:01 XS-Files Systemd: Pornirea utilizator-0.slice. Oct 16:01:01 XS-Files Systemd: a început sesiunea 14443 a rădăcinii utilizatorului. Oct 16:01:01 XS-Files Systemd: începerea sesiunii 14443 a rădăcinii utilizatorului. Oct 16:01:01 XS-Files Systemd: User Slice îndepărtate-0.slice.

În CentOS 8 nu le-am observat, deci nu este necesar să fac nimic acolo. Nu există o utilizare practică a comunicării, așa că le vom dezactiva. Pentru a face acest lucru, creați o regulă separată pentru RSYSLOG, unde enumerăm toate șabloanele de mesaje care vor fi tăiate. Postați această regulă într-un fișier separat /etc/rsyslog.d/ignore-systemd-session-slice.conf..

# CD /etc/rsyslog.d && Mcedit Ignore-Systemd-Slice.Conf dacă $ Programname \u003d\u003d "Systemd" și ($ MSG conține "sesiune de plecare" sau $ MSG conține "Session început" sau $ MSG conține "Slice create" Sau $ MSG conține "Pornirea utilizatorului -" sau $ MSG conține "Socie de utilizator de pornire" sau $ MSG conține "Sesiune eliminată" sau $ MSG conține "Slice de utilizator eliminate" sau $ MSG conține "Oprirea felie de utilizator de") Stop.

Salvați fișierul și reporniți RSYSLOG pentru a aplica setările.

# Systemctl Repornește RSYSLOG

Trebuie să se înțeleagă că, în acest caz, dezactivăm inundațiile din fișierul jurnal numai pe serverul local. Dacă stocați jurnalele, atunci această regulă Va fi necesar să se ajusteze exact pe ea.

Instalarea IFTOP, ATOP, HTOP, LSOF pe CentOS

Și, în final, la sfârșitul setării, adăugați mai multe utilități utile care pot fi utile în timpul funcționării serverului.

iFTOP arată în timp real Încărcarea interfeței de rețea, pot începe cu diverse taste, nu mă voi opri în detaliu, există informații despre acest subiect pe Internet. A pune:

# Yum instalați iftop

Și două sarcini interesante dispecer, eu folosesc cel mai adesea HTOP, dar uneori este utilă. Am pus ambele, uita-te la tine, vei împărtăși ceea ce îți place mai mult, potrivit:

# Yum install htop # yum instalați atop

Pentru a afișa informații despre fișierele utilizate de cele sau alte procese, vă sfătuiesc să puneți utilitatea lSOF.. Este cel mai probabil să fie utilă mai devreme sau mai târziu când diagnosticați funcționarea serverului.

# Yum install wget Bzip2 traceroute gdisk

Am totul pe asta. Setarea de bază CentOS este finalizat, puteți începe instalarea și configurarea funcției principale.

Configurarea mesajelor de sistem

În cele din urmă configurați servers CentOS Să facem ca e-mailul adresat rădăcinii locale să fie trimise printr-un server poștal extern la căsuța poștală selectată. Dacă acest lucru nu este făcut, atunci va fi local pentru a plia în fișier / Var / spool / mail / root. Și pot exista informații importante și utile. Configurați-l pentru a trimite la o casetă de administrator de sistem.

Am spus detalii despre acest lucru într-un articol separat -. Aici numai comenzi și setare rapidă. Am stabilit pachetele necesare:

# Yum instalați mailx cyrus-sasl cyrus-sasl-lib Cyrus-sasl-simplu postfix

Desăvârșiți un astfel de config pentru postfix.

Cat /etc/postfix/main.cf ## Implicit config BEGE ###################### Queue_directory \u003d / VAR / SPOOL / POSTFIX COMAND_DIRECTORY \u003d / USR / SBIN Daemon_directory \u003d / USR / Libexec / Postfix Data_directory \u003d / vA / LIB / Postfix mail_owner \u003d postfix inet_interfaces \u003d localhost_local_recipient_reject_code \u003d 550 alias_maps \u003d hash: / etc / Alias \u200b\u200bALIAS_DATABASE \u003d Hash: / etc / Alias \u200b\u200bDebug_Per_level \u003d 2 Debugger_command \u003d Calea \u003d / bin: / bin: / bin: / usr / bin ddd $ daemon_directory / $ proces_name $ proces_id & $ 5 Sendmail_path \u003d /usr/sbin/sendmail.postfix Newaliases_Path \u003d / usr / bin / Newaliases.postfix mailq_path \u003d / usr / bin / mailq.postfix setgid_group \u003d Postdrop html_directory \u003d No Manpage_directory \u003d / USR / Share / MAN Sample_directory \u003d / MAN Sample / Doc / Postfix-2.10.1 / Probele README_DIRECTORY \u003d / USR / DOC / Postfix-2.10.1 / Readme_files ## Implicit CONFF END ###################### # Numele serverului, care afișează comanda Hostname MyHostname \u003d Centos-Test. XS.Local # Aici n Trebuie să lăsați doar un domeniu despre logică, dar în acest caz este mai bine să lăsați numele complet al serverului, astfel încât în \u200b\u200bcâmpul Sender # a apărut numele complet al serverului, este mai convenabil să dezasamblați mesajele de service Mydomain \u003d Centos-test.xs.xs.local MyDestination \u003d $ myhosname myorigin \u003d $ mydomain # server adresa care va trimite mail relayhost \u003d mailsrv.mymail.ru:25 smtp_use_tls \u003d da smtp_sasl_auth_enable \u003d da smtp_sasl_password_maps \u003d hash: / etc / postfix / sasl_passwd smtp_sasl_security_optionsWD \u003d Noanonymous smtp_tls_security_level \u003d mai

Creați un fișier cu informații despre numele de utilizator și parola pentru autorizare.

# Mcedit / etc / postfix / sasl_passwd mailsrv.mymail.ru:25 [E-mail protejat]: Parola.

Creați un fișier db.

# Postmap / etc / postfix / sasl_passwd

Acum puteți reporni postfixul și verificați lucrarea.

# Systemctl reporniți postfix

La alias standard pentru rădăcină în / etc / Alias, Adăugați o adresă externă în care e-mailul adresat rădăcinii va fi duplicat. Pentru a face acest lucru, editați fișierul specificat schimbând ultimul șir.

#Root: marc.

Rădăcină: rădăcină, [E-mail protejat]

Actualizăm baza de date a certificatelor:

# Newaliases.

Vom trimite o scrisoare prin consola LAN:

# DF -H | Mail -s "Utilizare disc" rădăcină

Scrisoarea ar trebui să meargă la caseta în aer liber. Dacă utilizați o casetă de la Yandex, veți primi cel mai probabil o eroare în jurnalul serverului de poștă electronică, iar litera nu va fi trimisă.

Releu \u003d smtp.yandex.ru: 25, întârziere \u003d 0,25, întârziere \u003d 0/0 / 0,24 / 0,01, DSN \u003d 5.7.1, Stare \u003d Bounced (gazdă smtp.yandex.ru a spus: 553 5.7.1 Adresa expeditorului respins: Nu deținută de utilizatorul autor (ca răspuns la poștă de la comandă))

Această eroare înseamnă că nu aveți aceeași casetă ca expeditor pe care o utilizați pentru autorizare. Cum să o rezolvați, spun într-un articol separat -. Cu alte sisteme poștale în care nu există astfel de verificări, totul ar trebui să fie bine și așa.

În acest sens, setarea corespondenței locale este finalizată. Acum, toate literele adresate rădăcinii locale, de exemplu, rapoartele CRON vor fi duplicate la o căsuță poștală externă și prin trimiterea printr-un server de poștă electronică cu drepturi depline. Astfel, literele vor fi livrate fin, fără a cădea în spam (deși nu este necesar, există și filtre euristice).

Concluzie

Am interpretat unele pașii primari Prin configurarea serverului CentOS, pe care o fac de obicei la pregătirea serverului imediat după instalare. Nu mă prefac la adevărul absolut, poate că mi-e dor sau nu am dreptate. Voi fi bucuroasă la comentarii rezonabile și semnificative și comentarii cu sugestii.

..
  • Înțelegerea caracteristicilor desfășurării, setărilor și întreținerii rețelelor construite pe baza Linux.
  • Abilitatea de a rezolva rapid problemele emergente și de a asigura o operație stabilă și neîntreruptă.
  • Verificați-vă pe testul introductiv și vedeți mai mult din programul software.

    Dar echipa iptables este complexă, iar mulți utilizatori sunt greu de reținut toate opțiunile și cazurile în care acestea trebuie utilizate. Prin urmare, dezvoltatorii distributivi își creează propriile suprastructuri față de iptables care ajută la simplificarea controlului firewall. CENTOS ADD-IN IPTABABABLES se numește Firewalld.

    Firewalld are câteva diferențe importante în comparație cu iptables. Aici, controlul accesului la rețea se efectuează la nivelul zonelor și serviciilor, și nu lanțuri și reguli. Iar regulile sunt actualizate dinamic fără întreruperea sesiunilor de funcționare. Acest articol va lua în considerare configurația CENTO-urilor de firewall 7 pe Exemplul Firewalld.

    După cum am spus mai sus, Firewalld funcționează cu lanțuri de reguli, ci cu zone. O anumită zonă poate fi atribuită fiecărei interfețe de rețea. Zona este un set de reguli, restricții și permisiuni care se aplică acestei interfețe de rețea. Pentru o interfață, poate fi selectată o singură zonă. Dezvoltatorii au creat mai multe zone presetate:

    • cădere brusca. - blocați toate pachetele primite, permiteți numai ieșirea
    • bloc - Spre deosebire de versiunea anterioară, expeditorul pachetului va fi trimis la blocarea pachetului său;
    • public - suporturile sunt acceptate numai pentru SSH și DHCLINT;
    • extern - sprijină NAT pentru a ascunde rețeaua internă;
    • intern - sunt permise servicii SSH, Samba, MDN și DHCP;
    • dMZ. - Utilizat pentru servere izolate, care nu au acces la rețea. Este permisă numai conexiunea SSH;
    • muncă - a permis serviciile SSH și DHCP;
    • aCASĂ - similar cu cel intern;
    • Încredere. - Totul este permis.

    Astfel, pentru a permite sau interzice orice serviciu, îl puteți adăuga sau scoate din zona curentă sau puteți schimba zona de interfață la cea în care este permisă. Puteți face o analogie cu politicile de acțiuni implicite pentru pachetele din iptables. Zona de încredere are o politică acceptă și permite toate conexiunile, blocul blocului are o politică neagă care interzice toate conexiunile și toate celelalte zone pot fi considerate moștenitori din zona blocului, plus că sunt deja predeterminate de regulile de rezolvare a regulilor conexiuni de rețea pentru unele servicii.

    De asemenea, Firewalld are două tipuri de configurare:

    • runtime. - Valabil numai înainte de repornirea, toate modificările în care altfel nu sunt specificate sunt aplicate acestei configurații;
    • permanent. - Setări permanente care vor funcționa și după repornire.

    Acum știi tot ce ai nevoie, așa că să ne întoarcem la utilitatea Firewalld-cmd.

    Sintaxă și opțiuni Firewall-cmd

    Puteți controla setările Firewalld ca utilizând utilitarul consolei Firewall-CMD și în interfață grafică. CentOS este cel mai adesea folosit pe servere, deci trebuie să lucrați în terminal. Să ne uităm la utilitatea de sintaxă:

    opțiuni de firewall-cmd

    Pentru a gestiona zonele, se utilizează această sintaxă:

    firewall-cmd - configurare --Zone \u003d zona de opțiuni

    Ca o configurație, trebuie să specificați opțiunea -permanentă pentru a salva modificările după repornirea sau specificarea nimic, atunci modificările vor fi valabile numai înainte de repornire. Ca zonă, utilizați numele zonei dorite. Să ne uităm la utilitățile de opțiuni:

    • --Stat - retrage starea de firewall;
    • - Încărcați. - reîncărcați regulile din configurația constantă;
    • - Reîncărcare-reîncărcare. - reguli de repornire greu cu o ruptură a tuturor conexiunilor;
    • --Runtime-la-permanent - transferați setările de configurare de execuție la o configurație constantă;
    • --permanent. - utilizați o configurație constantă;
    • - Obiectivul implicit - afișați zona implicită;
    • - set-implicit-zonă - Setați zona implicită;
    • - Zone active - afișați zone active;
    • - Obiectivele - afișați toate zonele disponibile;
    • --Get-Servicii. - retrage servicii predefinite;
    • - Lista-toate-zonele - retrage configurația tuturor zonelor;
    • - Noua zonă - Creați o nouă zonă;
    • - Zone - Scoateți zona;
    • - lista tuturor. - ieșirea tot ceea ce se adaugă, din zona selectată;
    • - lista de servicii. - retrage toate serviciile adăugate în zonă;
    • - Adăugați-un serviciu. - Adăugați servicii în zona;
    • --Remove-serviciu. - Ștergeți serviciul din zonă;
    • - porturi de uzură. - Porturile de afișare adăugate în zonă;
    • - Port. - adăugați portul în zona;
    • --Remove-portul. - Scoateți portul din zonă;
    • - Port. - arată dacă portul este adăugat în zonă;
    • - List protocoale - retrage protocoalele adăugate în zonă;
    • - Protocolul - adăugați protocol în zona;
    • --Remove-protocol. - eliminați protocolul din zonă;
    • - Porturi din surse - Scoateți porturile sursă adăugate în zonă;
    • - Source-portul - Adăugați o sursă de port în zonă;
    • --Remove-sursă-port - Scoateți sursa de port din zonă;
    • - List-blocuri ICMP - afișați blocările ICMP;
    • - bloc-bloc-bloc - Adăugați blocarea ICMP;
    • - bloc-bloc-bloc - Scoateți blocarea ICMP;
    • - Port înainte - Adăugați un port pentru redirecționarea către NAT;
    • --Remove-portul înainte - eliminați portul pentru redirecționarea către NAT;
    • --Add-masquerade. - includ NAT;
    • --Remove-masque. - Eliminați NAT.

    Aceasta nu este utilitatea opțiunilor, dar pentru acest articol vom fi suficienți pentru noi.

    Configurați firewall-ul în CentOS 7

    1. Statutul firewall.

    În primul rând, este necesar să vedeți starea firewall-ului. Pentru a face acest lucru, urmați:

    sudo System System Staty Firewalld

    Dacă serviciul Firewalld este dezactivat, atunci este necesar să îl includeți:

    sudo Systemsctl începe Firewalld
    Sudo Systemctl permite Firewalld

    Acum trebuie să vedeți dacă Firewalld rulează, folosind comanda firewall-cmd:

    sudo Firewall-cmd --State

    Dacă programul funcționează și totul este bine, veți primi un mesaj "Rularea".

    2. Managementul zonei

    După cum ați înțeles deja, zonele sunt instrumentul principal pentru gestionarea conexiunilor de rețea. Pentru a vedea zona implicită, urmați:

    sudo Firewall-CMD - Obiectivul implicit

    În cazul meu, aceasta este o zonă publică. Puteți modifica zona curentă utilizând opțiunea - set-implicită-zonă:

    sudo firewall-cmd - set-implicit-zona \u003d public

    Pentru a vedea care zone sunt utilizate pentru toate interfețele de rețea, efectuați:

    sudo Firewall-Cmd - Zone Active

    Lista va conține zone și interfețe pentru care sunt atribuite. O astfel de comandă poate fi vizualizată o configurație pentru o anumită zonă. De exemplu, pentru zona publică:

    3. Configurarea serviciilor

    Puteți vedea toate serviciile predefinite cu o echipă:

    sudo Firewall-CMD - Gover-Servicii

    Comanda va afișa toate serviciile disponibile, puteți adăuga oricare dintre ele în zonă pentru a le permite. De exemplu, activați conectarea la http:

    sudo firewall-cmd --zone \u003d public --Add-service \u003d http --permanent

    Și pentru a elimina acest serviciu, efectuați:

    sudo Firewall-CMD --Zone \u003d Public --Remove-Service \u003d HTTP --Permanent

    În ambele cazuri, am folosit opțiunea -permanentă, astfel încât configurația să fie salvată după repornire. După modificările de care aveți nevoie pentru a actualiza regulile:

    sudo Firewall-CMD - Încărcare

    Apoi, dacă vă uitați la configurația zonei, serviciul adăugat va apărea acolo:

    sudo Firewall-cmd --Zone \u003d lista publică -

    4. Cum să deschideți portul în Firewalld

    Dacă nu există niciun serviciu pentru programul de care aveți nevoie, îl puteți deschide manual. Pentru aceasta, adăugați pur și simplu portul dorit zonei. De exemplu, portul 8083:

    sudo Firewall-cmd --Zone \u003d Public --Add-Port \u003d 8083 / TCP --Permanent

    Pentru a elimina acest port din zonă, efectuați:

    sudo Firewall-CMD --Zone \u003d Public --Remove-Port \u003d 8083 / TCP --Permanent

    Similar cu serviciile de deschidere a portului firewall Centos. 7 Trebuie să reporniți firewall-ul.

    sudo Firewall-CMD - Încărcare

    5. Porturile Firewalld.

    Porturile porturilor din Firewalld sunt configurate mult mai ușor decât în \u200b\u200biptables. Dacă aveți nevoie, de exemplu, redirecționați traficul de la portul 2223 la portul 22, este suficient să adăugați redirecționarea zonei:

    sudo Firewall-CMD --Zone \u003d Port public --dd-forward-port \u003d Port \u003d 2223: Proto \u003d TCP: TOPORT \u003d 22

    Aici redirecționarea se efectuează numai pe mașina curentă. Dacă doriți să configurați rețeaua NAT și să faceți portul pe o altă mașină, atunci trebuie să activați mai întâi suportul Masquerade:

    sudo firewall-cmd --zone \u003d public --dd-masquerade

    Apoi puteți adăuga portul:

    sudo Firewall-CMD --Zone \u003d Publix - Port-Port \u003d Port \u003d 2223: Proto \u003d TCP: TOPORT \u003d 22: TOADDR \u003d 192.168.56.4

    6. Reguli extinse

    Dacă funcționalitatea zonelor nu este suficientă pentru dvs., puteți utiliza reguli extinse. Sintaxa generală a regulilor extinse este:

    rEGULE FAMILIA \u003d "FAMILIA" Valoare sursă Valoare de destinație Valoare Audit Jurnal Acțiune

    Iată valoarea parametrilor de bază:

    • La fel de Protocoalele familiale Puteți specifica IPv4 sau IPv6 sau nu specificați nimic, atunci regula va fi aplicată ambelor protocoale;
    • sursă și destinaţie - Acesta este expeditorul și destinatarul pachetului. Adresa IP (adresa), serviciul (denumirea serviciului), portul, protocolul (protocolul), pot fi utilizate ca acești parametri;
    • buturuga. - Vă permite să vă furnizați trecerea pachetelor, de exemplu în Syslog. În această setare, puteți specifica linia prefixului din jurnal și nivelul detaliilor de înregistrare;
    • audit. - aceasta este mod alternativ Logarea când mesajele sunt trimise la serviciul audit.
    • act - Aceasta este o acțiune care trebuie executată cu pachetul coincis. Disponibil: Acceptați, Drop, Respingeți, Mark.

    Să ne uităm la câteva exemple. Trebuie să blocăm accesul la server pentru utilizator cu IP 135.152.53.5:

    sudo Firewall-CMD --Zone \u003d public-bogat-bogat-bogat "de regulă de regulă \u003d" ipv4 "adresa sursă \u003d 135.152.53.5 respinge"

    Sau trebuie să interzică același utilizator numai accesul la portul 22:

    sudo Firewall-cmd --Zone \u003d public-bogat-bogat-bogat "Jurnal Family \u003d" IPv4 "Adresa sursă \u003d 135.152.53.5 Port Port \u003d 22 Protocol \u003d TCP Respingere"

    Vedeți toate regulile extinse ale echipei:

    sudo Firewall-CMD-List-List-Reguli

    Concluzii

    În acest articol am dezasamblat cum se face configurarea firewall. În CentOS 7 și ce sarcini puteți efectua cu ea. Programul este mult mai ușor de utilizat decât iptables, dar, în opinia mea, add-in-ul lui Faervolu din Ubuntu este chiar mai ușor de utilizat.



    Ți-a plăcut articolul? Împărtășește-l