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.
a šifrovací systém, jako například: https://www.dyne.org/software/tomb/
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)
Šifrování celého systému souborů je mnohem lepší a bezpečnější.
U následujícího tutoriálu týkajícího se zabezpečení v Linuxu to vezmu v úvahu: D.
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.
velmi užitečné!!!! právě to, co jsem hledal, děkuji 🙂
Jste vítaným přítelem :).
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/
a pro nginx existuje nějaký trik nebo konfigurace?
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
Viděl jsi ferm? Líbí se mi, jak jsou definována pravidla.
http://ferm.foo-projects.org/download/examples/webserver.ferm
Jsem rád, že Debian 8 používá firewalld, protože je velmi, velmi dobrý ...
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.
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.
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 ....
Pěkný skript, i když rád udržuji hodnotu kernel.randomize_va_space = 2
Dobrá věc je, že před spuštěním jej můžete trochu upravit podle svých potřeb ..... Dobrý den ...
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 :).
@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ě.
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 :).
Díky tomu v komentářích vůbec netuším, o čem to mluvíte, nikdo xD
Skvělý článek!
Tato bezpečnostní akce znamená omezení zařízení jakýmkoli způsobem?
Ne ... Běžné používání systému není nijak omezeno.
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ží.
Pokud používáte Windows předinstalovaný výrobcem ...
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á.
Zajímavý článek, dnes odpoledne si ho přečtu pozorněji. Děkuji.
Nemáš zač :). Jsem rád.
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
Hola Carlos,
Díky moc :).
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?
I bez toho všeho to funguje, protože malware je vytvořen pro Windows, nikoli pro Linux.
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.
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ů :).
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:
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
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.
Děkuji @Maykel Franco :).
dobrý,
fail2ban měli by to nainstalovat na domácí počítač nebo je to více pro servery ???
Děkuju.
Spíše pro servery, ale pokud jste na wifi přístupném více lidem než vy, je dobré ...
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