iptables detaliate de configurare

Documentația privind rețeaua iptables nu este proiectat pentru incepatori. Acest articol va descrie pe scurt echipa si rapid, apoi, pot fi realizate modificări și completări la explicațiile extinse. Deci, va fi minimă de instalare ne-am extins și întărite prin intermediul unor reguli.

Doar să aibă în vedere faptul că conexiunea PPPoE și 2.6.x kernel-ul este utilizat. Pentru a configura placa de rețea va trebui să fie înlocuit în eth0 ppp0 (sau un adecvat în sensul interfeței de rețea în căutarea on-line)

Înainte de a trece mai departe - asigurați-vă că.

  • 1.Vso hardware-ul este operațional. Adică, sunteți conectat, modulele sunt încărcate, dispozitivul poate fi văzut în sistem. Este util să se verifice în primul rând că conexiunea la Internet este posibilă fără a exista iptables. Nu este nimic mai rău decât să te pui cu un program de încăpățânată pentru mai multe ore, berating ei cât de mult în zadar, și apoi dau seama că placa de rețea nu funcționează sau nu este configurat corect de modem.
  • 2. Ai citit pe MANA. Se presupune că, atâta timp cât studiați acest ghid, iptables om este întotdeauna deschis în terminalul vecin pentru o înțelegere corectă și de a clarifica ceea ce înseamnă că acest lucru sau echipa de fapt.
  • 3. Ai o idee despre tehnologia de rețea și sunteți familiarizați cu administrarea Linux și Gentoo Linux în special. Aceasta este aptitudinile necesare astfel de lucruri de bază precum ifconfig. rc-update. /etc/conf.d/ifplugd. și așa mai departe. Dacă pentru tine este încă sunete goale, atunci vă rugăm să pre-studiu Networking Elementele de bază Manualul Gentoo Linux și ajutorul lui 101

Configurarea kernel-ului

Tot ce ai nevoie - este de a include suport pentru iptables.

Linux Kernel Configuration: Activați IPTables

Linux Kernel Configurarea: Activează iptables (kernel 2.6.35)

Am inclus toate opțiunile ca module (cu calculele pe care doresc să încerc alte opțiuni de mai târziu) și ip_tables adăugate în modules.autoload. Acest lucru se va încărca mai multe module ca dependențe. ip_conntrack modul este necesar pentru „statefull“ de filtrare, adică pentru urmărirea conexiunilor. Pentru a rula script-ul, rulați comanda:

instrumentele necesare

În continuare, trebuie să instalați pachetul iptables:

Interfețele de configurare

Rețineți că nu a fost dat nici un gateway-uri.

Gateway pentru clienții instalat pe interfața serverului de rețea IP internă și logică. Acum, adăugați toate interfețele în nivelul implicit de încărcare și a reporni conexiunea:

# Rc-update add default net.eth1 rc-update add default net.eth2 rc-update add default net.ppp0

# /etc/init.d/net.eth1 începe Start /etc/init.d/net.eth2 Start /etc/init.d/net.ppp0

Verificați setările

Acum, asigurați-vă că serverul este conectat la Internet, precum și toate interfețele pot ping reciproc. Pentru server:

Asigurați-vă că clienții sunt specificate corect -Server DNS în /etc/resolv.conf

Atenție: Dacă ești paranoic, nu e secret, care se poate face. ne deschidem la o rețea de protecție sărăcăcioasă. Cu toate acestea, presupunem că rețeaua este configurată pentru acasă sau pentru o clasă de jocuri de noroc.

Operațiunea de verificare

Și de backup configurația de lucru pentru o posibilă recuperare „ca“:

# Cp / var / lib / iptables / reguli-save /var/lib/iptables/rules.working

Verificăm iptables script start-up înainte de a adăuga iptables la nivelul de execuție default:

Cod: Verificarea script

  1. /etc/init.d/iptables începe
  2. /etc/init.d/iptables opri
  3. /etc/init.d/iptables începe

Înțeles în start-stop-start-up pe care nu avem un scenariu iptables. astfel încât aveți nevoie pentru a „inițializa“ starea înainte de oprire. Stop, resetează, în esență, configurația și a reveni toate la original. Repornirea ne va arăta dacă rețeaua noastră funcționează după repornirea sistemului. Dacă totul merge bine, apoi se adaugă iptables la nivelul de execuție default:

rc-update add default iptables

Nu uitați să setați, de asemenea, în /etc/sysctl.conf:

Partea II examinează politica normele și stabilirea de apărare a routerului.

PARTEA III - Firewall Apărare

În continuare, vom face firewall-ul nostru de lucru deja în condiții de siguranță, și anume, protejarea sistemului nostru de intruziune în afara. De fapt, trebuie să configurați firewall-ul, astfel încât nu numai că ne protejează, ci și să ne protejeze de rețeaua externă. :) protecție de acest tip este obligatorie, este necesar să se asigure că, în cazul în care sistemul nostru încă a fost compromisă, un atacator nu a putut folosi resursele noastre pentru viitoarele atacuri de orice fel. Acest aspect este crucial în rețeaua SOHO de clasă, adică birouri mici. De obicei, virusurile nu au nici o influență asupra rețelei mici și infectarea lor rareori duce la pierderea de date. Pentru noi, oamenii sunt * nix, această problemă este aproape inexistentă. În orice caz, din moment ce rețea mică, de regulă, sunt protejate mai rău de mare, biscuiti încerca să le utilizeze ca o „bază de sprijin“ pentru atacuri DoS, sau altă activitate răutăcioasă. În cele ce urmează, voi descrie întreaga configurație a pieselor, astfel încât să putem verifica în trepte, fiecare fragment. Fiecare pas poate cere să introduceți nimic înainte, după sau în mijlocul script-ul indică. Toate acțiunile sunt efectuate astfel încât (sper), rețeaua este doar o perioadă scurtă de timp, în timpul configurării. Acest lucru am făcut pentru că am presupus că mulți dintre voi (ca mine) este alocat de server firewall. Și, din moment ce eu prefer să configurați serverul dvs. prin SSH, deconectarea de la rețea poate avea posdelstviya foarte neplăcute, cum ar fi crawling sub mese sau mai rău. Dacă ești curajos, aveți posibilitatea să copiați script-ul de la sfârșitul acestui document și rulați-l pe calculatorul dumneavoastră. Acest script trebuie să fie operabile pe toate sute, dar am testat doar pe mașina dvs., astfel încât YMMV.

Setarea Variabile de Mediu

Puteți seta variabilele de mediu necesare în următoarele script:

iptables ACCEPTĂ

Acum trebuie să setați ACCEPTy, astfel încât să ne putem conecta la serverul nostru. De fapt, aceasta este o problemă foarte sensibilă. Reguli pentru routere de încredere trebuie să implicit să interzică decât să permită. Cu toate acestea, dacă faci acest lucru, vei pierde toate conexiunile. Continuați testarea până când sunteți sigur că munca ta ACCEPTy așa cum ar trebui. Cu toate acestea, cred că mai întâi introducem următoarele și va fi regula penultima în script-ul final.

iptables DROP REJECT

Resetarea normelor

Acum, când vom vedea dispozitivul nostru, definit în mod corespunzător, introduceți regulile comenzii de resetare. Cu toate acestea norme, toate au fost atribuite vor fi resetate. Aceste linii vor fi introduse după determinarea utilităților în acest scop linia: ECHO = „/ bin / echo“

Presupunând că totul a funcționat, am închis câteva porturi, acces care ar putea reprezenta o amenințare serioasă pentru noi:

După definirea variabilelor de mediu le putem rula numai ciclu:

Ei bine, fiecare acum și, din nou, atunci când vom rula script-ul, aceste linii sunt pur și simplu adăugate la cele existente. care creează un pic de mizerie. Din acest motiv, vom sări la partea de sus a script-ul. imediat după variabilele de mediu pentru grep și sed, dar înainte de variabilă pentru EXTIP și EXTBC - acolo vom adăuga o buclă care produce curat. Deci, suntem siguri că lucrează într-un mediu curat. Noi nu am avut zaduyvatsya acest lucru înainte, pentru că nu am putut să ottestit script-ul fără deconectare sau închiderea firewall. Acest lucru expune întregul script de prima picătură de politică, și apoi curăță și elimină lanțul nostru. Pentru a se asigura că putem continua să vă conectați prin SSH la serverul nostru după scriptul de repornire, vom adăuga lanțul INPUT pentru ssh. Cu toate acestea, am pus-o la sfârșitul script-ul. Acest lucru se face pentru a evita deschiderea găurii la momentul instalării noilor reguli, ceea ce este o greșeală destul de comună:

Imediat după aceea, vom lansa sysctl'y pentru tcp_syncookies, icmp_echo_ignore_broadcasts, rp_filter și accept_source_route. multe dintre regulile pe care le „verifica“ nu este, de fapt realizată până la acest punct. De fapt, ne-am făcut verifica pentru erori de sintaxă. Acum regulile noastre vor fi pe deplin puse în aplicare:

configurație de bază NAT

Acum ne întoarcem la sfârșitul script-ul, pentru că vom deschide servicii pentru gazde, care se află în spatele unui firewall. Am inclus următoarele servicii: IRC, MSN, ICQ, și NFS, FTP, domeniu, timp si altele. Cel mai important lucru aici este faptul că aceste servicii pot fi utilizate numai pentru fayervolom.Takim fel nimeni nu va putea să le folosească prin intermediul FTP în grila locală:

Acum, să ne facă, astfel că firewall-ul ne-a permis să ping lumea exterioară. Pentru a rezolva acest pasaj ICMP-pachet prin intermediul interfeței externe:

Acum, vom implicit pentru a vă conecta toate celelalte solicitări, dar nu va răspunde la ele. Tot ce a trebuit să ia, am descris la începutul regulile noastre. Deci, ce se termină blocarea toate regulile care nu sunt permise în mod specific:

Deci, totul se face. Sunt Nmap prietenos și Nessus pentru legăturile mele cu setul de reguli de mai sus și nimic nu împiedică utilizarea IRC, MSN, ICQ, și emerge de sincronizare.

Completă script

Și acum, un scenariu cu drepturi depline în toată splendoarea sa (În același timp, am pus expediere ssh într-un loc mai potrivit pentru el):