Maximalizujte zabezpečení na GNU / Linux

Ahoj přátelé z DesdeLinux, co bylo slíbeno je dluh a zde je příspěvek o jak maximalizovat ochranu systémů Linux a zůstaňte tak bezpečný před vetřelci, stejně jako ochrana informací na vašich serverech, PC nebo laptopech !!!!

Spuštění

Fail2ban: je aplikace napsaná v Pythonu, která má zabránit vniknutí do systému, který působí penalizací nebo blokováním vzdálených připojení, která se pokoušejí o přístup hrubou silou.

Instalace:

Fedora, RHEL, CentOS:

yum install fail2ban

Debian, Ubuntu:

apt-get install fail2ban

Nastavení:

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

V části s názvem [VÝCHOZÍ] odkomentujeme a upravíme #bantime = 3600 a ponecháme to takto:

#bantime = 3600 bantime = 604800

V části [sshd] představíme enabled = true a ponecháme to takto:

#enabled = true enabled = true

Ukládáme pomocí CTRL + O a zavíráme pomocí CTRL + X

Spouštíme službu:

Fedora, RHEL, CentOS:

systemctl povolit fail2ban.service systemctl spustit fail2ban.service

Debian, Ubuntu:

služba fail2ban start

Odepřít přístup root pomocí ssh:

Abychom ochránili náš stroj, popřeme ssh prostřednictvím uživatele root. Za tímto účelem upravíme soubor / etc / ssh / sshd_config následujícím způsobem:

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

Odkomentujeme a změníme se

# Protokol 2 Protokol 2

Odkomentujeme a změníme se

#PermitRootLogin ano PermitRootLogin ne

Ukládáme pomocí CTRL + O a zavíráme pomocí CTRL + X

Spouštíme službu:

Fedora, RHEL, CentOS:

systemctl povolit sshd.service systemctl spustit sshd.service

Debian, Ubuntu:

služba sshd start

Odepřít přístup k serveru ssh pomocí hesla a povolit ssh pouze pomocí klíčů RSA

Pokud se chceme spojit s PC1 na Server1, první věcí, kterou musíme udělat, je vygenerovat náš klíč na PC1. S naším uživatelem a bez root na PC1 provádíme:

ssh-keygen -t rsa -b 8192 (generuje více než bezpečný klíč, protože se běžně používají klíče od 1024 do 2048)

Jakmile máme heslo, nahrajeme ho na Server1:

ssh-copy-id uživatel @ server_ip

Jakmile to uděláme, připojíme se k našemu Server1 a upravíme soubor nano / etc / ssh / sshd_config s oprávněními root:

ssh uživatel @ Server1 nano / etc / ssh / sshd_config

Změníme řádek, který říká #PasswordAuthentication ano, na toto:

#PasswordAuthentication ano
HesloAuthentication no

Ukládáme pomocí CTRL + O a zavíráme pomocí CTRL + X

Restartujeme službu ssh:

Fedora, RHEL, CentOS:

systemctl restart sshd.service

Debian, Ubuntu:

restartování služby sshd

Změňte ssh poslechový port

Opět upravíme / etc / ssh / sshd_config a v části odkazující na port to necháme takto:

# Port 22 Port 2000 (nebo jakékoli jiné číslo větší než 2000. V našich příkladech to použijeme.)

Ukládáme pomocí CTRL + O a zavíráme pomocí CTRL + X

Restartujeme službu ssh:

Fedora, RHEL, CentOS:

systemctl restart sshd.service

Debian, Ubuntu:

restartování služby sshd

Pokud používají fail2ban, je nutné změnit konfiguraci týkající se sshd úpravy portu.

nano /etc/fail2ban/jail.local

[sshd]
port    = ssh, 2000

[sshd-ddos]
port    = ssh, 2000

[dropbear]
port    = ssh, 2000

[selinux-ssh]
port    = ssh, 2000

Ukládáme pomocí CTRL + O a zavíráme pomocí CTRL + X

Službu obnovujeme:

Fedora, RHEL, CentOS:

systemctl restart fail2ban.service

Debian, Ubuntu:

restart služby fail2ban

Firewall

Fedora, RHEL, CentOS:

Selinux a Iptables jsou na těchto systémech ve výchozím nastavení aktivovány a doporučuji vám pokračovat tímto způsobem. Jak otevřít port s iptables? Podívejme se, jak otevřít nový port 2000 portu ssh, který jsme dříve změnili:

Otevřeno:

nano / etc / sysconfig / iptables

a upravíme řádek odkazující na výchozí ssh port 22 a necháme to takto:

# -A VSTUP -m stát --state NOVÝ -m tcp -p tcp --dport 22 -j PŘIJMOUT -A VSTUP -p tcp -m stát --state NOVÝ -m tcp --dport 2000 -j PŘIJMOUT

Ukládáme pomocí CTRL + O a zavíráme pomocí CTRL + X

Restartujeme službu:

systemctl restart iptables

Debian, Ubuntu:

V Debianu nebo Ubuntu a derivátech máme UFW firewall, který nám usnadní život, protože velmi snadno spravuje Netfilter.

Instalace:

apt-get install ufw ufw povolit

Chcete-li zobrazit stav otevřených portů, provedeme:

stav ufw

Otevření portu (v našem příkladu to bude nový port ssh 2000):

ufw povolit 2000

Chcete-li odmítnout port (v našem případě to bude výchozí port 22 ssh):

ufw odepřít 22 ufw smazat odepřít 22

A připravení přátelé. Díky tomu budou vaše stroje v bezpečí. Nezapomeňte to komentovat a až příště: D.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   sinnerman řekl

    a šifrovací systém, jako například: https://www.dyne.org/software/tomb/

    1.    sinnerman řekl

      A také umístit uživatele do klece ve vaší domácnosti, pokud se připojí pomocí tty:
      http://olivier.sessink.nl/jailkit/index.html#intro
      https://operativoslinux.wordpress.com/2015/02/21/enjaular-usuarios-en-linux/ (snadná cesta)

    2.    yukiteru řekl

      Šifrování celého systému souborů je mnohem lepší a bezpečnější.

    3.    Petr Čech řekl

      U následujícího tutoriálu týkajícího se zabezpečení v Linuxu to vezmu v úvahu: D.

      1.    yukiteru řekl

        Také by bylo dobré hovořit o zpevnění jádra pomocí sysctl, aktivaci náhodné haldy a Exec-Shield v jádře, které to podporují, povolení přístupu k dmesg a souborovému systému / proc, spuštění démona auditu, povolení ochrany TCP SYN, omezit přístup k / dev / mem, zakázat možnosti zásobníku TCP / IP, které mohou být nebezpečné nebo nebezpečné pro systém (přesměrování, echo, směrování zdroje), používat pam_cracklib pro uživatele ke generování silných hesel, důležitost použití systému MAC jako Tomoyo, AppArmor a SELinux.

  2.   Boky řekl

    velmi užitečné!!!! právě to, co jsem hledal, děkuji 🙂

    1.    Petr Čech řekl

      Jste vítaným přítelem :).

  3.   andělská čepel řekl

    Pokud používáte apache, není na škodu přidat pravidla pomocí mod_rewrite, abyste se vyhnuli robotům. Velmi užitečné

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

    1.    Rolo řekl

      a pro nginx existuje nějaký trik nebo konfigurace?

  4.   Rolo řekl

    V debian 8 má soubor / etc / ssh / sshd_config již aktivní protokol 2 a funkce PermitRootLogin je s možností bez hesla (root můžete zadat pouze pomocí ověřovacího klíče a z počítače, který má soukromý klíč)

    pd v debian 8 firewalld dorazil, takže je malý až ufw

    1.    lovec řekl

      Viděl jsi ferm? Líbí se mi, jak jsou definována pravidla.

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

    2.    Petr Čech řekl

      Jsem rád, že Debian 8 používá firewalld, protože je velmi, velmi dobrý ...

  5.   lovec řekl

    Dejte si pozor na fail2ban, že útočník vyrábí pakety s IP místního počítače a velmi usnadňuje DOS.

    1.    Hery řekl

      Muž, IP lokálního PC a IP zpětné smyčky jsou vyloučeny ze seznamu Fail2ban.
      Pokud ne, mohli bychom mít falešně pozitivní výsledky.

  6.   Jason soto řekl

    Dobrá a velmi efektivní doporučení ... Samozřejmě, v prostředí serveru a pokud hostujeme web, vyžaduje to další kroky…. V současné době udržujeme projekt JackTheStripper, který není ničím jiným než skriptem bash, který připravuje a zajišťuje server s GNU / Linux podle nejlepších bezpečnostních postupů pro webové aplikace ... http://www.jsitech.com/jackthestripper ....

    1.    yukiteru řekl

      Pěkný skript, i když rád udržuji hodnotu kernel.randomize_va_space = 2

      1.    Jason soto řekl

        Dobrá věc je, že před spuštěním jej můžete trochu upravit podle svých potřeb ..... Dobrý den ...

    2.    Petr Čech řekl

      Dobrý den, můj příspěvek se samozřejmě zabývá pojištěnou základnou a každý se musí více či méně chránit v závislosti na službách, které má nainstalované ve svých systémech, jako jsou LAMP nebo FTP, SFTP, BIND a dlouhá atd. :)

      V příštím příspěvku o bezpečnosti se budu těmito otázkami zabývat.

      Díky za pozitivní zpětnou vazbu :).

  7.   nex řekl

    @petercheco, vaši průvodci jsou vynikající, byl by to dobrý průvodce šifrováním pro systém FreeeBSD, nevím, kdy budete dělat druhou část o FreeBSD, o konfiguraci a přizpůsobení desktopů, o Firewallu, o vytváření a konfiguraci bezdrátové sítě.

    1.    Petr Čech řekl

      Dobrý den, přítel,
      Jsem trochu zaneprázdněn, jak ukazuje občasné zveřejňování, ale budu si to pamatovat pro další příspěvek FreeBSD.

      Pozdrav :).

  8.   Solrak Rainbow Warrior řekl

    Díky tomu v komentářích vůbec netuším, o čem to mluvíte, nikdo xD
    Skvělý článek!

  9.   xunil řekl

    Tato bezpečnostní akce znamená omezení zařízení jakýmkoli způsobem?

    1.    Petr Čech řekl

      Ne ... Běžné používání systému není nijak omezeno.

  10.   sinnerman řekl

    A vtipné (tragické) je, že jak jsme právě viděli u strojů Lenovo, pokud je firmware biosu pozměněn malwarem, na ničem, na čem nezáleží.

    1.    Petr Čech řekl

      Pokud používáte Windows předinstalovaný výrobcem ...

      1.    sinnerman řekl

        chyba: nezapomeňte, že jej nainstalovali do firmwaru bios, to znamená, že začíná systémem při každém restartu, nejprve před operačním systémem, před démony a nedovolí vám s tím nic dělat. útoky lze provést jen málo, a proto je myšlenka uefi v zásadě dobrá.

  11.   Pablo řekl

    Zajímavý článek, dnes odpoledne si ho přečtu pozorněji. Děkuji.

    1.    Petr Čech řekl

      Nemáš zač :). Jsem rád.

  12.   Carlos Best řekl

    Výborný článek, celé odpoledne jsem se bavil jeho čtením. Oceňujeme čas, který věnujete velmi pečlivému vysvětlení,

    Pozdrav z Chile
    Carlos

    1.    Petr Čech řekl

      Hola Carlos,
      Díky moc :).

  13.   brion řekl

    Na počítačích Lenovo, pokud se zdá, že do firmwaru BIOSu zasahoval malware, jsou tyto počítače (notebooky a stolní počítače) od výrobce vždy nainstalovány s Windows, vzhledem k výše uvedenému ... dělá příspěvek ... .petercheco?

    1.    yukiteru řekl

      I bez toho všeho to funguje, protože malware je vytvořen pro Windows, nikoli pro Linux.

  14.   SynFlag řekl

    U iptable chybí mnoho věcí a triků, například závratná nmap, takže u všech otevřených portů lže, že se jedná o Windows PC využívající TTL a velikost okna, Scanlogd, zabezpečení Apache Mod, GRSEC, Selinux nebo něco takového. Nahraďte ftp za sftp, omezte počet připojení na IP pro každou službu v X portu, abyste se vyhnuli tomu, že před DDoS nás nechají bez služeb, a také zablokujte IP, které posílají více než tolik UDP na tolik sekund.

    1.    Petr Čech řekl

      S příklady, které jste představili, by se nový uživatel zbláznil při čtení ... Nemůžete dát vše do jednoho příspěvku. Udělám několik záznamů :).

  15.   shini kire řekl

    V tomto okamžiku se mi při spuštění služby zobrazuje chyba v archlinuxu, dávám jí stav a vychází:
    stav sudo systemctl fail2ban
    ● fail2ban.service - služba Fail2Ban
    Načteno: načteno (/usr/lib/systemd/system/fail2ban.service; povoleno; předvolba dodavatele: zakázáno)
    Aktivní: selhalo (Výsledek: počáteční limit) od Pá 2015-03-20 01:10:01 CLST; Před 1 s
    Dokumenty: man: fail2ban (1)
    Proces: 1695 ExecStart = / usr / bin / fail2ban-client -x start (kód = ukončen, stav = 255)

    20. března 01:10:01 Gundam systemd [1]: Nepodařilo se spustit službu Fail2Ban.
    20. března 01:10:01 Gundam systemd [1]: Jednotka fail2ban.service vstoupila do stavu selhání.
    20. března 01:10:01 Gundam systemd [1]: fail2ban.service se nezdařil.
    20. března 01:10:01 Gundam systemd [1]: požadavek na spuštění se opakuje příliš rychle na fail2ban… led
    20. března 01:10:01 Gundam systemd [1]: Nepodařilo se spustit službu Fail2Ban.
    20. března 01:10:01 Gundam systemd [1]: Jednotka fail2ban.service vstoupila do stavu selhání.
    20. března 01:10:01 Gundam systemd [1]: fail2ban.service se nezdařil.
    Tip: Některé čáry byly elipsovité, použijte -l, aby se zobrazila v plném rozsahu.
    nějaká pomoc? D:

    1.    Petr Čech řekl

      Ahoj, pokud jste povolili fail2ban pomocí systemctl enable fail2ban.service a systemctl start fail2ban.service, problém bude v konfiguraci vězení, kterou jste vytvořili. Zkontrolujte prosím vězení a ověřte, zda je vše v pořádku.

      pozdravy
      Petr Čech

      1.    maykel franco řekl

        Nejprve dobrý návod. Mnoho věcí chybí, ale vy jste se zaměřili na základy.

        shini-kire, zkontrolujte svůj /var/log/fail2ban.log

        Zdravím.

      2.    Petr Čech řekl

        Děkuji @Maykel Franco :).

  16.   jony127 řekl

    dobrý,

    fail2ban měli by to nainstalovat na domácí počítač nebo je to více pro servery ???

    Děkuju.

    1.    Petr Čech řekl

      Spíše pro servery, ale pokud jste na wifi přístupném více lidem než vy, je dobré ...

  17.   Rodrigo řekl

    Ahoj příteli, myslím, že je to dobrý bezpečnostní příspěvek v části krátkého požáru v distribucích Gnu / Linux, píšu tento komentář, protože to dělám v distribuci Ubuntu 14.04 s vědomím, že je již v 15.04, co se stane, je následující problém Zadám nano /etc/fail2ban/jail.local jako root a nemám žádnou vizualizaci v části sshd a uložím V části s názvem [VÝCHOZÍ] odkomentujeme a upravíme #bantime = 3600 a
    V části [sshd] představíme enabled = true a ponecháme to takto:
    # povoleno = pravda
    enabled = true
    Nezdá se, že by to mohl být sshd, protože pracuji na předchozí verzi díky