Maksimalno povećajte sigurnost na GNU / Linuxu

Poštovani prijatelji DesdeLinux, lo prometido es deuda y aquí va un post de kako maksimizirati zaštitu Linux sustava i ostati takav sef od uljeza, kao i zaštitu podataka na vašim poslužiteljima, osobnim računalima ili prijenosnim računalima !!!!

pokretanje

Fail2ban: je aplikacija napisana na Pythonu kako bi se spriječio upad u sustav koji djeluje kažnjavanjem ili blokiranjem udaljenih veza koje pokušavaju pristup grubom silom.

Montaža:

Fedora, RHEL, CentOS:

yum install fail2ban

Debian, Ubuntu:

apt-get install fail2ban

Postavka:

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

U dijelu nazvanom [DEFAULT] mi komentiramo i mijenjamo #bantime = 3600 ostavljajući ga ovako:

#bantime = 3600 bantime = 604800

U [sshd] dio uvodimo enabled = true ostavljajući ga ovako:

#enabled = true omogućeno = true

Štedimo CTRL + O, a zatvaramo CTRL + X

Uslugu započinjemo:

Fedora, RHEL, CentOS:

systemctl omogući fail2ban.service systemctl start fail2ban.service

Debian, Ubuntu:

usluga fail2ban start

Zabraniti root pristup pomoću ssh:

Da bismo zaštitili svoj stroj, uskratit ćemo ssh putem root korisnika. Da bismo to učinili, uređujemo datoteku / etc / ssh / sshd_config na sljedeći način:

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

Komentiramo i mijenjamo se

# Protokol 2 protokol 2

Komentiramo i mijenjamo se

#PermitRootLogin da PermitRootLogin ne

Štedimo CTRL + O, a zatvaramo CTRL + X

Uslugu započinjemo:

Fedora, RHEL, CentOS:

systemctl omogući sshd.service systemctl pokreni sshd.service

Debian, Ubuntu:

servis sshd start

Zabranite pristup ssh poslužitelju pomoću lozinke i dopustite ssh samo s RSA ključevima

Ako se želimo povezati s PC1 na Server1, prvo što treba učiniti je generirati naš ključ na PC1. S našim korisnikom i bez root-a na PC1 izvršavamo:

ssh-keygen -t rsa -b 8192 (ovo generira više nego siguran ključ jer se obično koriste ključevi od 1024 do 2048)

Nakon što imamo lozinku, prenosimo je na Server1:

ssh-copy-id korisnik @ server_ip

Nakon što se to učini, povezat ćemo se s našim Server1 i izmijeniti datoteku nano / etc / ssh / sshd_config s root dopuštenjima:

ssh korisnik @ Server1 nano / etc / ssh / sshd_config

Mijenjamo redak koji kaže #PasswordAuthentication da:

#PasswordAuthentication da
PasswordAuthentication br

Štedimo CTRL + O, a zatvaramo CTRL + X

Ponovno pokrećemo ssh uslugu:

Fedora, RHEL, CentOS:

systemctl ponovno pokrenite sshd.service

Debian, Ubuntu:

ponovno pokretanje usluge sshd

Promijenite ssh port za slušanje

Opet uređujemo / etc / ssh / sshd_config i u dijelu koji se odnosi na port ostavljamo ga ovako:

# Port 22 Port 2000 (ili bilo koji drugi broj veći od 2000. U našim ćemo primjerima ovo koristiti.)

Štedimo CTRL + O, a zatvaramo CTRL + X

Ponovno pokrećemo ssh uslugu:

Fedora, RHEL, CentOS:

systemctl ponovno pokrenite sshd.service

Debian, Ubuntu:

ponovno pokretanje usluge sshd

Ako koriste fail2ban, potrebno je promijeniti konfiguraciju u vezi sshd podešavanja porta.

nano /etc/fail2ban/jail.local

[sshd]
port    = ssh, 2000

[sshd-ddos]
port    = ssh, 2000

[dropbear]
port    = ssh, 2000

[selinux-ssh]
port    = ssh, 2000

Štedimo CTRL + O, a zatvaramo CTRL + X

Obnavljamo uslugu:

Fedora, RHEL, CentOS:

systemctl ponovno pokrenite fail2ban.service

Debian, Ubuntu:

usluga fail2ban ponovno pokretanje

vatrozid

Fedora, RHEL, CentOS:

Selinux i Iptables po zadanim su postavkama aktivirani na tim sustavima i preporučujem da nastavite tim putem. Kako otvoriti port pomoću iptables? Pogledajmo kako otvoriti novi port 2000 ssh porta koji smo prethodno promijenili:

Otvoren:

nano / etc / sysconfig / iptables

i mijenjamo redak koji se odnosi na zadani ssh port 22 i ostavljamo ga ovako:

# -A ULAZ -m stanje - stanje NOVO -m tcp -p tcp --dport 22 -j PRIHVATI -A ULAZ -p tcp -m stanje - stanje NOVO -m tcp --dport 2000 -j PRIHVATI

Štedimo CTRL + O, a zatvaramo CTRL + X

Ponovo pokrećemo uslugu:

systemctl ponovno pokretanje iptables

Debian, Ubuntu:

U Debianu ili Ubuntuu i izvedenicama imamo UFW vatrozid koji će nam olakšati život jer vrlo lako upravlja Netfilterom.

Montaža:

apt-get instalirati ufw ufw omogućiti

Da bismo vidjeli status otvorenih portova koje izvršavamo:

status ufw

Da biste otvorili priključak (u našem primjeru to će biti novi ssh port 2000):

ufw dopustiti 2000

Da odbijete priključak (u našem slučaju to će biti zadani port 22 od ssh):

ufw odbiti 22 ufw izbrisati odbiti 22

I spremni prijatelji. Na taj će način zaštititi vaše strojeve. Ne zaboravite komentirati i do sljedećeg puta: D.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   grešnik dijo

    i sustav šifriranja kao što su: https://www.dyne.org/software/tomb/

    1.    grešnik dijo

      A također i korisnike u kavezu u vašem domu ako se povežu putem tty:
      http://olivier.sessink.nl/jailkit/index.html#intro
      https://operativoslinux.wordpress.com/2015/02/21/enjaular-usuarios-en-linux/ (jednostavan način)

    2.    yukiteru dijo

      Puno je bolje i sigurnije šifrirati cijeli datotečni sustav.

    3.    peterčeški dijo

      Za sljedeći vodič o sigurnosti u Linuxu uzet ću ga u obzir: D.

      1.    yukiteru dijo

        Također bi bilo dobro razgovarati o otvrdnjavanju kernela putem sysctl-a, aktiviranju slučajne hrpe i Exec-Shield-a u jezgri koje ga podržavaju, omogućavanju pristupa dmesg-u i / proc datotečnom sustavu, pokretanju demona revizije, omogućavanju TCP zaštite SYN, limit pristupiti / dev / mem, onemogućiti TCP / IP opcije steka koje mogu biti opasne ili nesigurne u sustavu (preusmjeravanje, odjek, usmjeravanje izvora), koristiti pam_cracklib za korisnike da generiraju jake lozinke, važnost korištenja MAC sustava poput Tomoyo, AppArmor i SELinux.

  2.   kuk dijo

    jako korisno!!!! upravo ono što sam tražio hvala 🙂

    1.    peterčeški dijo

      Dobrodošao si prijatelju :).

  3.   anđeoska oštrica dijo

    Ako se koristi apache, ne škodi dodavanje pravila s mod_rewrite kako bi se izbjegli botovi. Jako korisno

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

    1.    Rolo dijo

      a za nginx postoji neki trik ili konfiguracija?

  4.   Rolo dijo

    U debianu 8 datoteka / etc / ssh / sshd_config već ima protokol 2 aktivan, a funkcija PermitRootLogin ima opciju bez lozinke (root možete unijeti samo s ključem za provjeru autentičnosti i s računala koje ima privatni ključ)

    stigao je pd u debian 8 vatrozid koji ga ostavlja malim do ufw

    1.    dhunter dijo

      Jeste li vidjeli ferm? Sviđa mi se kako su definirana pravila.

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

    2.    peterčeški dijo

      Pa, drago mi je što Debian 8 koristi zaštitni zid jer je vrlo jako dobar ...

  5.   dhunter dijo

    Pazite se fail2ban-a koji napadač izrađuje pakete pomoću ip-a lokalnog računala i čini DOS vrlo jednostavnim.

    1.    Hery dijo

      Čovjek, lokalni PC i IP povratne veze izuzeti su s popisa Fail2ban.
      Ako ne, mogli bismo imati lažne pozitivne rezultate.

  6.   Jason soto dijo

    Dobre i vrlo učinkovite preporuke ... Naravno, u okruženju poslužitelja i ako hostiramo web stranicu, to uključuje dodatne korake .... Trenutno održavamo projekt nazvan JackTheStripper koji nije ništa drugo do bash skripta koja priprema i osigurava poslužitelj s GNU / Linuxom slijedeći najbolje sigurnosne prakse, za web aplikacije ... projekt možete znati na http://www.jsitech.com/jackthestripper ....

    1.    yukiteru dijo

      Lijepa skripta iako volim zadržati vrijednost kernel.randomize_va_space = 2

      1.    Jason soto dijo

        Dobra stvar je što ga prije pokretanja možete malo prilagoditi svojim potrebama ..... A Hello ...

    2.    peterčeški dijo

      Pozdrav, naravno da se moj post bavi osiguranom bazom i svaka se mora zaštititi više ili manje, ovisno o uslugama koje je instalirala u svoje sustave kao što su LAMP ili FTP, SFTP, BIND i duga itd. ...

      U sljedećem postu o sigurnosti pozabavit ću se tim pitanjima.

      Hvala na pozitivnim povratnim informacijama :).

  7.   nex dijo

    @petercheco, vaši su vodiči izvrsni, bilo bi dobro vodič za šifriranje za sustav FreeeBSD, ne znam kada ćete raditi drugi dio o FreeBSD-u, o konfiguraciji i prilagodbi radne površine, o vatrozidu, o stvaranju i konfiguriranje bežične mreže.

    1.    peterčeški dijo

      Bok prijatelju,
      Pomalo sam zauzet kako pokazuje rijetko objavljivanje, ali to ću imati na umu za sljedeći post na FreeBSD-u.

      Pozdrav :).

  8.   Solrak kišni ratnik dijo

    To se poravnalo u komentarima, nemam pojma o čemu govorite, nitko xD
    Odličan članak!

  9.   ksunil dijo

    Ova sigurnosna radnja podrazumijeva ograničavanje opreme na bilo koji način?

    1.    peterčeški dijo

      Ne ... Uobičajena uporaba sustava uopće nije ograničena.

  10.   grešnik dijo

    Smiješno (tragično) je to što, kao što smo upravo vidjeli kod Lenovo uređaja, ako se firmware biosa miješa sa zlonamjernim softverom, ništa što radite nije važno.

    1.    peterčeški dijo

      Sve dok koristite Windows koji je unaprijed instalirao proizvođač ...

      1.    grešnik dijo

        pogreška: sjetite se da su ga instalirali u bios firmware, odnosno započinje sustavom pri svakom ponovnom pokretanju, prije operativnog sustava, prije demona, prije svega, i ne dopušta vam da učinite bilo što protiv njega. napada malo može se učiniti, zbog čega je ideja uefi u principu dobra.

  11.   Pavle dijo

    Zanimljiv članak, pažljivije ću ga pročitati danas popodne. Hvala vam.

    1.    peterčeški dijo

      Molim :). Drago mi je.

  12.   Carlos Best dijo

    Izvrstan članak, zabavljao sam se čitavo popodne čitajući ga. Cijenimo vrijeme koje vam treba da sve pažljivo objasnite,

    Pozdrav iz Čilea
    Carlos

    1.    peterčeški dijo

      Bok Carlos,
      Hvala puno :).

  13.   brion dijo

    Lenovo strojevi, ako se čini da je bios firmware intervenirao sa zlonamjernim softverom, strojevi (prijenosno računalo-stolno računalo) proizvođač uvijek instaliraju s Windowsom, s obzirom na gore navedeno ... postavlja li post ... .petercheco?

    1.    yukiteru dijo

      Čak i bez činjenja svega ovoga, to funkcionira, budući da je zlonamjerni softver napravljen za Windows, a ne za Linux.

  14.   SynFlag dijo

    Mnogo stvari i trikova nedostaje iptablesima, poput vrtoglave nmap-e, tako da od svih otvorenih portova laže da se radi o Windows računalu koji koristi ttl i veličinu prozora, scanlogd, apache mod security, grsec, selinux ili nešto slično . Zamijenite ftp sftf, ograničite broj veza po IP-u na svaku uslugu u X portu kako biste izbjegli da nas prije DDoS-a ostave bez usluga, kao i blokirajte IP-ove koji šalju više od toliko UDP-a toliko sekundi.

    1.    peterčeški dijo

      Uz primjere koje ste predstavili, novi korisnik bi poludio kad ga pročita ... Ne možete sve staviti u jedan post. Upisat ću nekoliko unosa :).

  15.   shini kire dijo

    U ovom trenutku dobivam pogrešku u archlinuxu prilikom davanja usluge pokretanja, dajem joj status i ovo izlazi:
    sudo systemctl status fail2ban
    ● fail2ban.service - usluga Fail2Ban
    Učitana: učitana (/usr/lib/systemd/system/fail2ban.service; omogućeno; unaprijed postavljeno dobavljače: onemogućeno)
    Aktivan: nije uspio (Rezultat: start-limit) od petka 2015-03-20 01:10:01 CLST; Prije 1s
    Dokumenti: man: fail2ban (1)
    Proces: 1695 ExecStart = / usr / bin / fail2ban-client -x start (kod = izašao, status = 255)

    20. ožujka 01:10:01 Gundam systemd [1]: Nije uspjelo pokretanje usluge Fail2Ban.
    20. ožujka 01:10:01 Gundam systemd [1]: Jedinica fail2ban.service ušla je u neuspješno stanje.
    20. ožujka 01:10:01 Gundam systemd [1]: fail2ban.service nije uspio.
    20. ožujka 01:10:01 Gundam systemd [1]: zahtjev za pokretanje prebrzo ponovljen za fail2ban ... led
    20. ožujka 01:10:01 Gundam systemd [1]: Nije uspjelo pokretanje usluge Fail2Ban.
    20. ožujka 01:10:01 Gundam systemd [1]: Jedinica fail2ban.service ušla je u neuspješno stanje.
    20. ožujka 01:10:01 Gundam systemd [1]: fail2ban.service nije uspio.
    Savjet: Neki su redovi elipsirani, koristite -l za prikaz u cijelosti.
    malo pomoći? D:

    1.    peterčeški dijo

      Zdravo, ako ste omogućili fail2ban sa systemctl enable fail2ban.service i systemctl start fail2ban.service, problem će biti u konfiguraciji zatvora koju ste napravili. Molimo provjerite svoj zatvor i provjerite je li sve u redu.

      pozdravi
      PeterCzech

      1.    maykel franco dijo

        Prije svega dobar tutorial. Mnogo stvari nedostaje, ali usredotočili ste se na osnove.

        shini-kire, provjeri svoj /var/log/fail2ban.log

        Pozdrav.

      2.    peterčeški dijo

        Hvala ti @Maykel Franco :).

  16.   jony127 dijo

    dobar,

    fail2ban trebaju li ga instalirati na kućno računalo ili je to više za poslužitelje ???

    Hvala Vam.

    1.    peterčeški dijo

      Prije za poslužitelje, ali ako ste na wifiju koji pristupa više ljudi od vas, dobro je ...

  17.   Rodrigo dijo

    Pozdrav prijatelju, čini mi se dobrim sigurnosnim postom u dijelu kratkog požara u distribucijama Gnu / Linux.Pišem ovaj komentar jer to radim u distribuciji Ubuntu 14.04 znajući da je to već u 15.04 što se događa je sljedeći problem. Unos nano /etc/fail2ban/jail.local kao root i nemam vizualizaciju u sshd dijelu i spremam. U dijelu zvanom [DEFAULT] mi komentiramo i mijenjamo #bantime = 3600 i
    U [sshd] dio uvodimo enabled = true ostavljajući ga ovako:
    #enabled = točno
    omogućeno = istinito
    Ne čini se da bi sshd mogao biti zato što radim na prethodnoj verziji, hvala