Povečajte varnost na GNU / Linux

Pozdravljeni prijatelji iz DesdeLinux, kar je bilo obljubljeno, je dolg in tukaj je objava o kako povečati zaščito sistemov Linux in ostanite takšni varno pred vsiljivci poleg zaščite podatkov na vaših strežnikih, osebnih računalnikih ali prenosnikih !!!!

Comenzando

Fail2ban: je aplikacija, napisana v Pythonu, za preprečevanje vdora v sistem, ki deluje tako, da kaznuje ali blokira oddaljene povezave, ki poskušajo dostopati do surove sile.

Namestitev:

Fedora, RHEL, CentOS:

yum install fail2ban

Debian, Ubuntu:

apt-get install fail2ban

Nastavitev:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local nano /etc/fail2ban/jail.local

V delu, imenovanem [DEFAULT], razkomentiramo in spremenimo #bantime = 3600, tako da ostane tako:

#bantime = 3600 bantime = 604800

V delu [sshd] uvedemo omogočeno = res, tako da ostane tako:

#enabled = true omogočeno = true

Prihranimo s CTRL + O in zapremo s CTRL + X

Storitev začnemo:

Fedora, RHEL, CentOS:

sl Omogoči fail2ban.service

Debian, Ubuntu:

storitev fail2ban start

Zavrni korenski dostop s ssh:

Za zaščito našega računalnika bomo ssh zavrnili prek korenskega uporabnika. Za to uredimo datoteko / etc / ssh / sshd_config, kot sledi:

cp sshd_config sshd_config.bck nano / etc / ssh / sshd_config

Nekomentiramo in se spremenimo

# Protokol 2 Protokol 2

Nekomentiramo in se spremenimo

#PermitRootLogin da PermitRootLogin št

Prihranimo s CTRL + O in zapremo s CTRL + X

Storitev začnemo:

Fedora, RHEL, CentOS:

omogoči sshd.service. zaženi sshd.service

Debian, Ubuntu:

storitev sshd začetek

Zavrnite dostop do strežnika ssh z geslom in dovolite ssh samo s ključi RSA

Če se želimo povezati s PC1 na Server1, najprej naredimo svoj ključ na PC1. Z našim uporabnikom in brez root na PC1 izvedemo:

ssh-keygen -t rsa -b 8192 (ta ustvari več kot varen ključ, saj se običajno uporabljajo ključi od 1024 do 2048)

Ko dobimo geslo, ga naložimo na Server1:

ssh-copy-id uporabnik @ server_ip

Ko bo to storjeno, se bomo povezali z našim Server1 in spremenili datoteko nano / etc / ssh / sshd_config z root dovoljenji:

ssh uporabnik @ Server1 nano / etc / ssh / sshd_config

V to spremenimo vrstico, v kateri piše #PasswordAuthentication:

#PasswordAuthentication da
GesloAuthentication št

Prihranimo s CTRL + O in zapremo s CTRL + X

Ponovno zaženemo storitev ssh:

Fedora, RHEL, CentOS:

systemctl znova zaženite sshd.service

Debian, Ubuntu:

ponovni zagon storitve sshd

Spremenite vrata za poslušanje ssh

Spet uredimo / etc / ssh / sshd_config in v delu, ki se nanaša na vrata, ga pustimo takole:

# Port 22 Port 2000 (ali katero koli drugo število, večje od 2000. V naših primerih bomo to uporabili.)

Prihranimo s CTRL + O in zapremo s CTRL + X

Ponovno zaženemo storitev ssh:

Fedora, RHEL, CentOS:

systemctl znova zaženite sshd.service

Debian, Ubuntu:

ponovni zagon storitve sshd

Če uporabljajo fail2ban, je treba spremeniti konfiguracijo glede sshd prilagajanja vrat.

nano /etc/fail2ban/jail.local

[sshd]
port    = ssh, 2000

[sshd-ddos]
port    = ssh, 2000

[dropbear]
port    = ssh, 2000

[selinux-ssh]
port    = ssh, 2000

Prihranimo s CTRL + O in zapremo s CTRL + X

Storitev obnavljamo:

Fedora, RHEL, CentOS:

systemctl znova zaženite fail2ban.service

Debian, Ubuntu:

vnovični zagon storitve

požarni zid

Fedora, RHEL, CentOS:

Selinux in Iptables sta privzeto aktivirana v teh sistemih in priporočam, da nadaljujete po tej poti. Kako odpreti vrata z iptables? Poglejmo, kako odpreti novo vrata 2000 vrat ssh, ki smo jih že spremenili:

Odprto:

nano / etc / sysconfig / iptables

in spremenimo vrstico, ki se nanaša na privzeta vrata ssh 22, in jo pustimo tako:

# -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 2000 -j ACCEPT

Prihranimo s CTRL + O in zapremo s CTRL + X

Storitev znova zaženemo:

znova zaženite iptables

Debian, Ubuntu:

V Debianu ali Ubuntuju in njegovih izvedenkah imamo požarni zid UFW, ki nam bo olajšal življenje, saj zelo enostavno upravlja Netfilter.

Namestitev:

apt-get namesti ufw ufw omogoči

Če si želite ogledati stanje odprtih vrat, ki jih izvajamo:

status ufw

Če želite odpreti vrata (v našem primeru bodo to nova vrata ssh 2000):

ufw dopusti 2000

Če želite zavrniti vrata (v našem primeru bodo to privzeta vrata 22 ssh):

ufw zavrne 22 ufw izbriši zavrne 22

In pripravljeni prijatelji. Tako bodo varovali vaše stroje. Ne pozabite komentirati in do naslednjega: D.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   grešnik je dejal

    in šifrirni sistem, kot so: https://www.dyne.org/software/tomb/

    1.    grešnik je dejal

      In tudi uporabnike kletk v vašem domu, če se povežejo s tty:
      http://olivier.sessink.nl/jailkit/index.html#intro
      https://operativoslinux.wordpress.com/2015/02/21/enjaular-usuarios-en-linux/ (enostaven način)

    2.    yukiteru je dejal

      Veliko bolje in varneje je šifrirati celoten datotečni sistem.

    3.    peterški je dejal

      Pri naslednji vadnici o varnosti v Linuxu jo bom upošteval: D.

      1.    yukiteru je dejal

        Dobro bi bilo tudi govoriti o utrjevanju jedra s sysctl, aktivirati naključno kopico in Exec-Shield v jedru, ki ga podpira, omogočiti dostop do dmesg in datotečnega sistema / proc, zagnati revizijski demon, omogočiti zaščito TCP SYN, omeji dostop do / dev / mem, onemogoči možnosti sklada TCP / IP, ki so lahko nevarne ali nevarne za sistem (preusmeritev, odmev, usmerjanje vira), uporabimo pam_cracklib za uporabnike, da ustvarijo močna gesla, pomembnost uporaba sistema MAC, kot so Tomoyo, AppArmor in SELinux.

  2.   Kolk je dejal

    zelo uporabno!!!! le tisto, kar sem iskal, hvala 🙂

    1.    peterški je dejal

      Dobrodošli, prijatelj :).

  3.   angelsko rezilo je dejal

    Če uporabljate apache, ne škodi dodajanja pravil z mod_rewrite, da se izognete botom. Zelo uporabno

    http://perishablepress.com/eight-ways-to-blacklist-with-apaches-mod_rewrite/

    1.    rolo je dejal

      in za nginx obstaja kakšen trik ali konfiguracija?

  4.   rolo je dejal

    V debian 8 je datoteka / etc / ssh / sshd_config že aktivna s protokolom 2, funkcija PermitRootLogin pa ima možnost brez gesla (root lahko vnesete samo s ključem za preverjanje pristnosti in iz računalnika, ki ima zasebni ključ)

    pd v požarnem zidu debian 8 je že prispel, zaradi česar je ufw majhen

    1.    dhunter je dejal

      Ste že videli Ferm? Všeč mi je, kako so pravila definirana.

      http://ferm.foo-projects.org/download/examples/webserver.ferm

    2.    peterški je dejal

      No, vesel sem, da Debian 8 uporablja požarni zid, ker je zelo zelo dober ...

  5.   dhunter je dejal

    Pazite se fail2ban, da napadalec izdeluje pakete z ip lokalnega računalnika in zelo olajša DOS.

    1.    Hery je dejal

      Človek, lokalni računalniški IP in povratni IP so izključeni s seznama Fail2ban.
      V nasprotnem primeru bi lahko imeli lažne pozitivne učinke.

  6.   Jason soto je dejal

    Dobra in zelo učinkovita priporočila ... Seveda v strežniškem okolju in če gostujemo na spletnem mestu, to vključuje dodatne korake…. Trenutno vzdržujemo projekt JackTheStripper, ki ni nič drugega kot bash Script, ki pripravlja in varuje strežnik z GNU / Linuxom po najboljših varnostnih praksah za spletne aplikacije ... projekt lahko poznate na http://www.jsitech.com/jackthestripper ....

    1.    yukiteru je dejal

      Lep skript, čeprav rad obdržim vrednost kernel.randomize_va_space = 2

      1.    Jason soto je dejal

        Dobra stvar je, da ga lahko pred zagonom nekoliko prilagodite svojim potrebam ..... A Hello ...

    2.    peterški je dejal

      Pozdravljeni, moj prispevek se seveda ukvarja z zavarovano bazo in vsak se mora zaščititi bolj ali manj, odvisno od storitev, ki jih je namestil v svoje sisteme, kot so LAMP ali FTP, SFTP, BIND in dolga itd.

      V naslednjem prispevku o varnosti bom obravnaval ta vprašanja.

      Hvala za pozitivne povratne informacije :).

  7.   naslednji je dejal

    @petercheco, vaši vodniki so odlični, dobro bi bilo voditi enkripcijski sistem za sistem FreeeBSD, ne vem, kdaj boš naredil drugi del o FreeBSD, o konfiguraciji in prilagajanju namizja, o požarnem zidu, o ustvarjanju in konfiguriranju brezžičnega omrežja.

    1.    peterški je dejal

      Zdravo prijatelj,
      Sem nekoliko zaposlen, kot kaže redko objavljanje, vendar bom to imel v mislih za naslednjo objavo na FreeBSD.

      Pozdrav :).

  8.   Solrak Mavrični bojevnik je dejal

    To se je izravnalo v komentarjih, nimam pojma, o čem govoriš, nihče xD
    Odličen članek!

  9.   ksunil je dejal

    Ta varnostni ukrep pomeni kakršno koli omejitev opreme?

    1.    peterški je dejal

      Ne ... Običajna uporaba sistema sploh ni omejena.

  10.   grešnik je dejal

    In smešno (tragično) je, da kot smo pravkar videli pri strojih Lenovo, če je vdelana programska oprema biosa posežena z zlonamerno programsko opremo, ničesar, kar počnete, ni pomembno.

    1.    peterški je dejal

      Dokler uporabljate Windows, ki ga je vnaprej namestil proizvajalec ...

      1.    grešnik je dejal

        napaka: ne pozabite, da so ga namestili v programsko opremo bios, to pomeni, da se začne s sistemom ob vsakem ponovnem zagonu, pred operacijskim sistemom, pred demoni, najprej in vam ne dovoli ničesar storiti proti njemu. napadov je malo mogoče storiti, zato je ideja uefi načeloma dobra.

  11.   Paul je dejal

    Zanimiv članek, natančneje ga bom prebral danes popoldne. Hvala vam.

    1.    peterški je dejal

      Ni za kaj :). Vesel sem.

  12.   Carlos Best je dejal

    Odličen članek, vse popoldne sem se zabaval ob branju. Čas, ki si ga vzamete, da zelo natančno razložite vse, je cenjen

    Lep pozdrav iz Čila
    Carlos

    1.    peterški je dejal

      Živjo Carlos,
      Najlepša hvala :).

  13.   brion je dejal

    Če se zdi, da so stroji Lenovo, če je vdelana programska oprema biosa posredovana z zlonamerno programsko opremo, stroji (prenosni računalnik-namizni računalnik) proizvajalec vedno namesti z operacijskim sistemom Windows, glede na zgoraj navedeno ... ali post… .petercheco?

    1.    yukiteru je dejal

      Tudi če vsega tega ne storimo, deluje, saj je zlonamerna programska oprema narejena za Windows in ne za Linux.

  14.   SynFlag je dejal

    V iptables manjka veliko stvari in trikov, na primer vrtoglavica nmap, tako da od vseh odprtih vrat, ki laže, da gre za računalnik z operacijskim sistemom ttl in velikostjo okna, scanlogd, apache mod security, grsec, selinux ali kaj podobnega. Zamenjajte ftp s sftp, omejite število povezav na IP na vsako storitev v vratih X, da se izognete temu, da nas pred DDoS pustijo brez storitev, pa tudi blokirajte IP-je, ki pošljejo več toliko UDP toliko sekund.

    1.    peterški je dejal

      S primeri, ki ste jih predstavili, bi nov uporabnik ob branju ponorel ... Ne morete vsega postaviti v eno objavo. Naredil bom več zapisov :).

  15.   shini kire je dejal

    Na tej točki dobim napako v archlinuxu, ko dajem zagonsko storitev, dam ji status in to izide:
    sudo systemctl status fail2ban
    ● fail2ban.service - storitev Fail2Ban
    Naloženo: naloženo (/usr/lib/systemd/system/fail2ban.service; omogočeno; prednastavitev prodajalca: onemogočeno)
    Aktivno: neuspešno (rezultat: omejitev zagona) od petka 2015-03-20 01:10:01 CLST; Pred 1 s
    Dokumenti: man: fail2ban (1)
    Proces: 1695 ExecStart = / usr / bin / fail2ban-client -x start (koda = izhod, status = 255)

    20. marec 01:10:01 Gundam systemd [1]: Storitve Fail2Ban ni uspelo zagnati.
    20. marec 01:10:01 Gundam systemd [1]: enota fail2ban.service je vstopila v neuspešno stanje.
    20. marec 01:10:01 Gundam systemd [1]: fail2ban.service ni uspel.
    20. marec 01:10:01 Gundam systemd [1]: zahteva za zagon se ponovi prehitro za fail2ban… ice
    20. marec 01:10:01 Gundam systemd [1]: Storitve Fail2Ban ni uspelo zagnati.
    20. marec 01:10:01 Gundam systemd [1]: enota fail2ban.service je vstopila v neuspešno stanje.
    20. marec 01:10:01 Gundam systemd [1]: fail2ban.service ni uspel.
    Namig: nekatere vrstice so bile elipsirane, uporabite -l, da se prikazujejo v celoti.
    nekaj pomoči? D:

    1.    peterški je dejal

      Živjo, če ste omogočili fail2ban s systemctl enable fail2ban.service in systemctl start fail2ban.service, bo težava v konfiguraciji zapor, ki ste jo naredili. Preverite zapor in preverite, ali je vse v redu.

      pozdrav
      Peter Češki

      1.    maykel franco je dejal

        Najprej dobra vadnica. Marsikaj manjka, vendar ste se osredotočili na osnove.

        shini-kire, preverite /var/log/fail2ban.log

        Lep pozdrav.

      2.    peterški je dejal

        Hvala @Maykel Franco :).

  16.   jony127 je dejal

    dobro,

    fail2ban naj ga namestijo na domači računalnik ali je to bolj za strežnike ???

    Hvala.

    1.    peterški je dejal

      Namesto za strežnike, če pa uporabljate wifi, do katerega dostopa več ljudi kot vas, je dobro ...

  17.   Rodrigo je dejal

    Pozdravljeni, prijatelj, zdi se mi dobra varnostna objava v delu kratkega požara v distribucijah Gnu / Linux.Ta komentar pišem, ker to počnem v distribuciji Ubuntu 14.04, saj vem, da je že v 15.04, kaj se zgodi je naslednja težava, ki jo nano /etc/fail2ban/jail.local vnesem kot root in v delu sshd nimam vizualizacije in shranim. V delu z imenom [DEFAULT] razkomentiramo in spremenimo #bantime = 3600 in
    V delu [sshd] uvedemo omogočeno = res, tako da ostane tako:
    #enabled = res
    omogočeno = res
    Zdi se, da tega sshd ni, ker delam s prejšnjo različico, hvala