Cześć przyjaciele z DesdeLinux, obiecano dług i tutaj jest post na ten temat jak zmaksymalizować ochronę systemów Linux i tak pozostań bezpieczny przed intruzami, a także ochrona informacji na serwerach, komputerach stacjonarnych lub laptopach !!!!
Comenzando
Faul2ban: to aplikacja napisana w Pythonie w celu zapobiegania włamaniom do systemu, która działa poprzez karanie lub blokowanie połączeń zdalnych próbujących uzyskać dostęp siłowy.
Instalacja:
Fedora, RHEL, CentOS:
yum install fail2ban
Debian, Ubuntu:
apt-get install fail2ban
Oprawa:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local nano /etc/fail2ban/jail.local
W części o nazwie [DOMYŚLNE] odkomentowujemy i modyfikujemy #bantime = 3600, pozostawiając to tak:
#bantime = 3600 bantime = 604800
W części [sshd] wprowadzamy enabled = true pozostawiając to w ten sposób:
#enabled = true enabled = true
Zapisujemy CTRL + O i zamykamy CTRL + X
Rozpoczynamy usługę:
Fedora, RHEL, CentOS:
systemctl włącz fail2ban.service systemctl start fail2ban.service
Debian, Ubuntu:
usługa fail2ban start
Odmów dostępu root za pomocą ssh:
Aby chronić naszą maszynę, odmówimy ssh przez użytkownika root. Aby to zrobić, edytujemy plik / etc / ssh / sshd_config w następujący sposób:
cp sshd_config sshd_config.bck nano / etc / ssh / sshd_config
Odkomentowujemy i zmieniamy
#Protocol 2 Protokół 2
Odkomentowujemy i zmieniamy
#PermitRootLogin tak PermitRootLogin nie
Zapisujemy CTRL + O i zamykamy CTRL + X
Rozpoczynamy usługę:
Fedora, RHEL, CentOS:
systemctl włącz sshd.service systemctl uruchom sshd.service
Debian, Ubuntu:
usługa sshd start
Odmów dostępu do serwera ssh przy użyciu klucza i zezwalaj na ssh tylko z kluczami RSA
Jeśli chcemy połączyć się z PC1 z serwerem1, pierwszą rzeczą, którą musimy zrobić, jest wygenerowanie naszego klucza na PC1. Z naszym użytkownikiem i bez roota na PC1 wykonujemy:
ssh-keygen -t rsa -b 8192 (generuje to więcej niż bezpieczny klucz, ponieważ zwykle używane są klucze od 1024 do 2048)
Gdy już mamy hasło, przesyłamy je na Serwer1:
ssh-copy-id użytkownik @ server_ip
Gdy to zrobisz, połączymy się z naszym serwerem 1 i zmodyfikujemy plik nano / etc / ssh / sshd_config z uprawnieniami roota:
ssh użytkownik @ Server1 nano / etc / ssh / sshd_config
Zmieniamy wiersz z napisem #PasswordAuthentication tak na:
#PasswordAuthentication tak
Hasło Nr uwierzytelnienia
Zapisujemy CTRL + O i zamykamy CTRL + X
Ponownie uruchamiamy usługę ssh:
Fedora, RHEL, CentOS:
systemctl zrestartuj sshd.service
Debian, Ubuntu:
restart usługi sshd
Zmień port nasłuchiwania ssh
Ponownie edytujemy / etc / ssh / sshd_config iw części dotyczącej portu zostawiamy to tak:
# Port 22 Port 2000 (lub inny numer większy niż 2000. W naszych przykładach użyjemy tego).
Zapisujemy CTRL + O i zamykamy CTRL + X
Ponownie uruchamiamy usługę ssh:
Fedora, RHEL, CentOS:
systemctl zrestartuj sshd.service
Debian, Ubuntu:
restart usługi sshd
Jeśli używają fail2ban, konieczna jest zmiana konfiguracji dotyczącej dostosowania portu przez sshd.
nano /etc/fail2ban/jail.local [sshd] port = ssh, 2000 [sshd-ddos] port = ssh, 2000 [dropbear] port = ssh, 2000 [selinux-ssh] port = ssh, 2000
Zapisujemy CTRL + O i zamykamy CTRL + X
Odnawiamy usługę:
Fedora, RHEL, CentOS:
systemctl restart fail2ban.service
Debian, Ubuntu:
usługa fail2ban restart
zapora
Fedora, RHEL, CentOS:
Selinux i Iptables są domyślnie aktywowane w tych systemach i zalecam kontynuowanie w ten sposób. Jak otworzyć port za pomocą iptables? Zobaczmy, jak otworzyć nowy port 2000 portu ssh, który zmieniliśmy wcześniej:
Otwarty:
nano / etc / sysconfig / iptables
i modyfikujemy wiersz odnoszący się do domyślnego portu ssh 22 i zostawiamy go tak:
# -A WEJŚCIE -m stan - stan NOWY -m tcp -p tcp --dport 22 -j AKCEPTUJ -A WEJŚCIE -p tcp -m stan - stan NOWY -m tcp --dport 2000 -j AKCEPTUJ
Zapisujemy CTRL + O i zamykamy CTRL + X
Ponownie uruchamiamy usługę:
systemctl zrestartuj iptables
Debian, Ubuntu:
W Debianie, Ubuntu i pochodnych mamy firewall UFW, który ułatwi nam życie, ponieważ zarządza Netfiltrem bardzo łatwo.
Instalacja:
apt-get install ufw ufw enable
Aby zobaczyć stan otwartych portów, wykonujemy:
status ufw
Aby otworzyć port (w naszym przykładzie będzie to nowy port ssh 2000):
ufw zezwalaj na 2000
Aby odmówić portowi (w naszym przypadku będzie to domyślny port 22 ssh):
ufw deny 22 ufw delete deny 22
I gotowi przyjaciele. W ten sposób zapewnią bezpieczeństwo Twoim maszynom. Nie zapomnij skomentować i do następnego razu: D.
oraz system szyfrowania, taki jak: https://www.dyne.org/software/tomb/
A także użytkowników klatki w domu, jeśli łączą się przez tty:
http://olivier.sessink.nl/jailkit/index.html#intro
https://operativoslinux.wordpress.com/2015/02/21/enjaular-usuarios-en-linux/ (łatwa droga)
O wiele lepsze i bezpieczniejsze jest szyfrowanie całego systemu plików.
W poniższym samouczku dotyczącym bezpieczeństwa w Linuksie wezmę to pod uwagę: D.
Dobrze byłoby również porozmawiać o hartowaniu jądra za pomocą sysctl, aktywowaniu losowej sterty i Exec-Shield w jądrze, które ją obsługuje, umożliwieniu dostępu do dmesg i systemu plików / proc, uruchomieniu demona audytu, włączeniu ochrony TCP SYN , ogranicz dostęp do / dev / mem, wyłącz opcje stosu TCP / IP, które mogą być niebezpieczne lub niebezpieczne dla systemu (przekierowanie, echo, routing źródłowy), użyj pam_cracklib dla użytkowników do generowania silnych haseł, znaczenie korzystania z systemu MAC, takiego jak Tomoyo , AppArmor i SELinux.
bardzo przydatne!!!! właśnie tego szukałem dzięki 🙂
Zapraszamy przyjacielu :).
Jeśli używasz apache, dodawanie reguł za pomocą mod_rewrite nie zaszkodzi, aby uniknąć botów. Bardzo przydatne
http://perishablepress.com/eight-ways-to-blacklist-with-apaches-mod_rewrite/
a dla nginx czy jest jakaś sztuczka lub konfiguracja?
W Debianie 8 plik / etc / ssh / sshd_config ma już aktywny protokół 2, a funkcja PermitRootLogin jest z opcją bez hasła (możesz wprowadzić root tylko z kluczem uwierzytelniającym i z komputera, który ma klucz prywatny)
pd w debianie 8 pojawił się firewalld, który pozostawia go za mały dla ufw
Widziałeś Ferm? Podoba mi się sposób definiowania zasad.
http://ferm.foo-projects.org/download/examples/webserver.ferm
Cóż, cieszę się, że Debian 8 używa firewalld, ponieważ jest bardzo, bardzo dobry ...
Uważaj na fail2ban, ponieważ osoba atakująca produkuje pakiety z adresem IP lokalnego komputera i sprawia, że DOS jest bardzo łatwy.
Man, lokalny adres IP komputera i adres IP pętli zwrotnej są wykluczone z listy Fail2ban.
Jeśli nie, moglibyśmy mieć fałszywe alarmy.
Dobre i bardzo skuteczne Rekomendacje… Oczywiście w środowisku serwerowym i jeśli prowadzimy serwis WWW to wymaga dodatkowych kroków…. Obecnie utrzymujemy projekt o nazwie JackTheStripper, który jest niczym innym jak skryptem bash, który przygotowuje i zabezpiecza serwer z systemem GNU / Linux zgodnie z najlepszymi praktykami bezpieczeństwa, dla aplikacji internetowych ... możesz poznać ten projekt pod adresem http://www.jsitech.com/jackthestripper ....
Ładny skrypt, chociaż lubię zachować wartość kernel.randomize_va_space = 2
Dobrą rzeczą jest to, że przed uruchomieniem możesz go trochę zmodyfikować do swoich potrzeb ..... Witam ...
Witam, oczywiście mój post dotyczy bazy ubezpieczonej i każdy musi zabezpieczyć się mniej więcej w zależności od usług, które zainstalował w swoich systemach, takich jak LAMP lub FTP, SFTP, BIND i długa itp.:)…
W następnym poście dotyczącym bezpieczeństwa zajmę się tymi kwestiami.
Dziękuję za pozytywny odzew :).
@petercheco, twoje przewodniki są doskonałe, byłby dobry przewodnik po szyfrowaniu dla systemu FreeeBSD, nie wiem, kiedy zamierzasz zrobić drugą część o FreeBSD, o konfiguracji i dostosowywaniu pulpitów, o Firewallu, o tworzeniu i konfigurowanie sieci bezprzewodowej.
Witaj przyjacielu,
Jestem trochę zajęty, ponieważ pojawiają się rzadkie publikacje, ale będę o tym pamiętać w następnym poście na temat FreeBSD.
Pozdrowienie :).
To zrównane w komentarzach, nie mam pojęcia, o czym mówisz, nikt xD
Świetny artykuł!
To działanie w zakresie bezpieczeństwa oznacza jakiekolwiek ograniczenie sprzętu?
Nie ... Normalne użytkowanie systemu nie jest wcale ograniczone.
A zabawne (tragiczne) jest to, że, jak właśnie widzieliśmy w przypadku komputerów Lenovo, jeśli oprogramowanie układowe bios jest modyfikowane przez złośliwe oprogramowanie, nic nie ma znaczenia.
O ile używasz systemu Windows preinstalowanego przez producenta ...
błąd: pamiętaj, że zainstalowali go w oprogramowaniu bios, czyli uruchamia się z systemem przy każdym restarcie, przed systemem operacyjnym, przede wszystkim przed demonami i nie pozwala nic z nim zrobić. atakuje niewiele można to zrobić, dlatego idea uefi jest w zasadzie dobra.
Ciekawy artykuł, przeczytam go dokładniej dziś po południu. Dziękuję Ci.
Nie ma za co :). Cieszę się.
Świetny artykuł, przez całe popołudnie bawiłem się czytaniem. Czas poświęcony na dokładne wyjaśnienie wszystkiego jest mile widziany,
Pozdrowienia z Chile
Carlos
Cześć Carlos,
Dziękuję Ci bardzo :).
Maszyny Lenovo, jeśli oprogramowanie bios wydaje się być zakłócane przez złośliwe oprogramowanie, maszyny (laptop PC-komputer stacjonarny) są zawsze dostarczane z systemem Windows przez producenta, biorąc pod uwagę powyższe… czy post… .petercheco?
Nawet bez tego wszystkiego działa, ponieważ złośliwe oprogramowanie jest stworzone dla systemu Windows, a nie Linux.
Wiele rzeczy i sztuczek brakuje w iptables, takich jak zawrotny nmap, więc ze wszystkich otwartych portów, kłamstwo, że jest to komputer z systemem Windows korzystający z ttl i rozmiaru okna, scanlogd, zabezpieczenia modów apache, grsec, selinux lub coś w tym rodzaju. Zamień ftp na sftp, ogranicz liczbę połączeń na IP do każdej usługi w porcie X, aby uniknąć tego, że przed atakiem DDoS zostawiają nas bez usług, a także blokują adresy IP, które wysyłają więcej niż tyle UDP na tak wiele sekund.
Przy przedstawionych przez Ciebie przykładach nowy użytkownik zwariowałby podczas czytania… Nie możesz umieścić wszystkiego w jednym poście. Zrobię kilka wpisów :).
W tym momencie wyskakuje mi błąd w archlinux podczas oddawania usługi start, podaję status i tak wychodzi:
stan sudo systemctl fail2ban
● fail2ban.service - Usługa Fail2Ban
Załadowano: załadowano (/usr/lib/systemd/system/fail2ban.service; włączone; ustawienie dostawcy: wyłączone)
Aktywny: nieudany (wynik: limit startu) od pt. 2015 03:20:01 CLST; 10 s temu
Dokumenty: man: fail2ban (1)
Proces: 1695 ExecStart = / usr / bin / fail2ban-client -x start (kod = zakończony, stan = 255)
20 marca 01:10:01 Gundam systemd [1]: Nie udało się uruchomić usługi Fail2Ban.
20 marca 01:10:01 Gundam systemd [1]: Jednostka fail2ban.service przeszła w stan awarii.
20 marca 01:10:01 Gundam systemd [1]: fail2ban.service failed.
20 marca 01:10:01 Gundam systemd [1]: żądanie uruchomienia zostało powtórzone zbyt szybko dla fail2ban… ice
20 marca 01:10:01 Gundam systemd [1]: Nie udało się uruchomić usługi Fail2Ban.
20 marca 01:10:01 Gundam systemd [1]: Jednostka fail2ban.service przeszła w stan awarii.
20 marca 01:10:01 Gundam systemd [1]: fail2ban.service failed.
Podpowiedź: niektóre linie były elipsy, użyj -l, aby pokazać w całości.
trochę pomocy? RE:
Cześć, jeśli włączyłeś fail2ban z włączoną usługą systemctl fail2ban.service i systemctl uruchom fail2ban.service, problem będzie dotyczył konfiguracji więzień, którą wykonałeś. Sprawdź swoje więzienie i sprawdź, czy wszystko jest w porządku.
pozdrowienia
PeterCzeski
Przede wszystkim dobry tutorial. Brakuje wielu rzeczy, ale skupiłeś się na podstawach.
shini-kire, sprawdź swój /var/log/fail2ban.log
Pozdrowienia.
Dziękuję @Maykel Franco :).
dobra,
fail2ban powinien zainstalować go na komputerze domowym, czy to bardziej dla serwerów ???
Dziękuję.
Raczej dla serwerów, ale jeśli korzystasz z Wi-Fi dostępnego dla większej liczby osób niż ty, jest dobrze ...
Witaj przyjacielu, wydaje mi się, że to dobry post bezpieczeństwa w części krótkiego pożaru w dystrybucjach Gnu / Linux.Piszę ten komentarz, ponieważ robię to w dystrybucji Ubuntu 14.04 wiedząc, że jest już w 15.04 co się dzieje jest następujący problem wpisuję nano /etc/fail2ban/jail.local jako root i nie mam wizualizacji w części sshd i zapisuję W części o nazwie [DEFAULT] odkomentowujemy i modyfikujemy #bantime = 3600 i
W części [sshd] wprowadzamy enabled = true pozostawiając to w ten sposób:
#włączone = prawda
włączone = prawda
Nie wygląda na to, że sshd może być spowodowane tym, że pracuję z poprzednią wersją, dzięki