Zdravo prijatelji iz DesdeLinux, ono što je obećano je dug i evo posta o tome kako maksimizirati zaštitu Linux sistema i ostanite takvi sigurno od uljeza, kao i zaštitu podataka na vašim serverima, PC-ima ili laptopima !!!!
Comenzando
Fail2ban: je aplikacija napisana na Pythonu kako bi se spriječio upad u sistem koji djeluje kažnjavanjem ili blokiranjem udaljenih veza koje pokušavaju pristup grubom silom.
Instalacija:
Fedora, RHEL, CentOS:
yum install fail2ban
Debian, Ubuntu:
apt-get install fail2ban
Postavljanje:
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 i 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 naš stroj, uskratit ćemo ssh preko 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 i 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 serveru pomoću lozinke i omogućite 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. Sa 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
Jednom kada se to učini, povezati ćemo se s našim Server1 i izmijeniti nano / etc / ssh / sshd_config datoteku s root dopuštenjima:
ssh korisnik @ Server1 nano / etc / ssh / sshd_config
Mijenjamo liniju koja kaže #PasswordAuthentication da na ovo:
#PasswordAuthentication da
PasswordAuthentication br
Štedimo CTRL + O i zatvaramo CTRL + X
Ponovo pokrećemo ssh uslugu:
Fedora, RHEL, CentOS:
systemctl ponovno pokrenite sshd.service
Debian, Ubuntu:
ponovno pokretanje sshd usluge
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 primjerima koristit ćemo ovo.)
Štedimo CTRL + O i zatvaramo CTRL + X
Ponovo pokrećemo ssh uslugu:
Fedora, RHEL, CentOS:
systemctl ponovno pokrenite sshd.service
Debian, Ubuntu:
ponovno pokretanje sshd usluge
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 i zatvaramo CTRL + X
Obnavljamo uslugu:
Fedora, RHEL, CentOS:
systemctl ponovno pokrenite fail2ban.service
Debian, Ubuntu:
usluga fail2ban ponovno pokretanje
firewall
Fedora, RHEL, CentOS:
Selinux i Iptables su podrazumevano aktivirani na ovim sistemima i preporučujem da nastavite tim putem. Kako otvoriti port pomoću iptables-a? Pogledajmo kako otvoriti novi port 2000 ssh porta koji smo prethodno promijenili:
Otvoreno:
nano / etc / sysconfig / iptables
i mi modificiramo liniju koja se odnosi na zadani ssh port 22 i ostavimo je 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 i zatvaramo CTRL + X
Ponovo pokrećemo uslugu:
systemctl restart iptables
Debian, Ubuntu:
U Debianu ili Ubuntuu i izvedenicama imamo UFW zaštitni zid koji će nam olakšati život jer vrlo lako upravlja Netfilterom.
Instalacija:
apt-get install ufw ufw omogući
Da bismo vidjeli status otvorenih portova koje izvršavamo:
status ufw
Da biste otvorili port (u našem primjeru to će biti novi ssh port 2000):
ufw dopustiti 2000
Da odbijete port (u našem slučaju to će biti zadani port 22 od ssh):
ufw deny 22 ufw delete deny 22
I spremni prijatelji. Na ovaj način će zaštititi vaše mašine. Ne zaboravite komentirati i do sljedećeg puta: D.
i sistem šifriranja kao što su: https://www.dyne.org/software/tomb/
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)
Mnogo je bolje i sigurnije šifrirati čitav sistem datoteka.
Za sljedeći vodič o sigurnosti u Linuxu uzet ću ga u obzir: D.
Također bi bilo dobro razgovarati o učvršćivanju jezgre sysctl-om, aktiviranju slučajne hrpe i Exec-Shield-a u jezgru koji je podržavaju, omogućavanju pristupa dmesg-u i / proc datotečnom sistemu, pokretanju demona revizije, omogućavanju TCP zaštite SYN, ograničiti pristup / dev / mem, onemogućiti TCP / IP stek opcije koje mogu biti opasne ili nesigurne u sistemu (preusmjeravanje, eho, usmjeravanje izvora), koristiti pam_cracklib za korisnike da generiraju jake lozinke, važnost upotreba MAC sistema poput Tomoyo, AppArmor i SELinux.
veoma korisno!!!! upravo ono što sam tražio hvala 🙂
Dobrodošao si prijatelju :).
Ako koristite apache, ne škodi dodavanje pravila s mod_rewrite kako biste izbjegli botove. Veoma korisno
http://perishablepress.com/eight-ways-to-blacklist-with-apaches-mod_rewrite/
a za nginx postoji neki trik ili konfiguracija?
U debianu 8 datoteka / etc / ssh / sshd_config već ima aktivni Protokol 2, 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 firewall koji ga ostavlja malim ufw-om
Jeste li vidjeli Ferm? Sviđa mi se kako su pravila definirana.
http://ferm.foo-projects.org/download/examples/webserver.ferm
Pa, drago mi je što Debian 8 koristi zaštitni zid jer je vrlo jako dobar ...
Pazite se fail2ban-a koji napadač proizvodi pakete pomoću ip-a lokalnog računara i čini DOS vrlo jednostavnim.
Čovjek, lokalni IP računara i povratni IP isključeni su s liste Fail2ban.
Ako ne, mogli bismo imati lažne pozitivne rezultate.
Dobre i vrlo efikasne preporuke ... Naravno, u okruženju servera 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 server s GNU / Linuxom slijedeći najbolje sigurnosne prakse, za web aplikacije ... projekt možete znati na http://www.jsitech.com/jackthestripper ....
Lijepa skripta iako volim zadržati vrijednost kernel.randomize_va_space = 2
Dobra stvar je što ga prije pokretanja možete malo prilagoditi svojim potrebama ..... A Hello ...
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 sisteme kao što su LAMP ili FTP, SFTP, BIND i duga itd.:)
U sljedećem postu o sigurnosti pozabaviću se ovim pitanjima.
Hvala na pozitivnim povratnim informacijama :).
@petercheco, vaši vodiči su izvrsni, bilo bi dobro vodič za šifriranje za sistem FreeeBSD, ne znam kada ćete raditi drugi dio o FreeBSD-u, o konfiguraciji i prilagodbi radne površine, o zaštitnom zidu, o stvaranju i konfiguriranju bežične mreže.
Zdravo prijatelju,
Pomalo sam zauzet kako pokazuju rijetka objavljivanja, ali to ću imati na umu za sljedeći FreeBSD post.
Pozdrav :).
To se poravnalo u komentarima, nemam pojma o čemu pričate, niko xD
Odličan članak!
Ova sigurnosna radnja podrazumijeva ograničavanje opreme na neki način?
Ne ... Uobičajena upotreba sistema uopće nije ograničena.
Smiješno (tragično) je to što, kao što smo upravo vidjeli kod Lenovo mašina, ako se bios firmver miješa sa zlonamjernim softverom, ništa što radite nije važno.
Sve dok koristite Windows koji je unaprijed instalirao proizvođač ...
greška: sjetite se da su ga instalirali u bios firmware, to jest, započinje sistemom pri svakom ponovnom pokretanju, prije operativnog sistema, prije demona, prije svega, i ne dopušta vam da učinite ništa protiv njega. napada malo može se učiniti, zbog čega je ideja uefi u principu dobra.
Zanimljiv članak, pažljivije ću ga pročitati danas popodne. Hvala ti.
Nema na čemu :). Drago mi je.
Odličan članak, zabavljao sam se čitavo popodne čitajući ga. Cijenimo vrijeme koje vam treba da sve pažljivo objasnite,
Pozdrav iz Čilea
Carlos
Zdravo Carlos,
Hvala puno :).
Lenovo mašine, ako se čini da je bios firmver intervenisan sa zlonamernim softverom, uređaji (prenosni računar-stoni računar) proizvođač uvek instaliraju sa Windowsom, s obzirom na gore navedeno ... da li post ... .petercheco?
Čak i bez činjenja svega ovoga, to funkcionira, budući da je malver napravljen za Windows, a ne za Linux.
Mnogo stvari i trikova nedostaje u iptables-ima, 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 na toliko sekundi.
Uz primjere koje ste predstavili, novi korisnik bi poludio čitajući ga ... Ne možete sve staviti u jedan post. Upisat ću nekoliko unosa :).
U ovom trenutku dobivam greš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: neuspjelo (Rezultat: start-limit) od petka 2015-03-20 01:10:01 CLST; Pre 1s
Dokumenti: man: fail2ban (1)
Proces: 1695 ExecStart = / usr / bin / fail2ban-client -x start (kod = izašao, status = 255)
20. mar. 01:10:01 Gundam systemd [1]: Nije uspjelo pokretanje usluge Fail2Ban.
20. mar. 01:10:01 Gundam systemd [1]: Jedinica fail2ban.service ušla je u neuspješno stanje.
20. mar. 01:10:01 Gundam systemd [1]: fail2ban.service nije uspio.
20. mar. 01:10:01 Gundam systemd [1]: zahtjev za pokretanje prebrzo ponovljen za fail2ban… ice
20. mar. 01:10:01 Gundam systemd [1]: Nije uspjelo pokretanje usluge Fail2Ban.
20. mar. 01:10:01 Gundam systemd [1]: Jedinica fail2ban.service ušla je u neuspješno stanje.
20. mar. 01:10:01 Gundam systemd [1]: fail2ban.service nije uspio.
Savjet: Neke linije su elipsirane, koristite -l za prikaz u cijelosti.
neka pomoć? D:
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.
Hvala!
PeterCzech
Prije svega dobar vodič. Mnogo stvari nedostaje, ali usredotočili ste se na osnove.
shini-kire, provjeri svoj /var/log/fail2ban.log
Pozdrav.
Hvala vam @Maykel Franco :).
Dobro,
fail2ban trebaju li ga instalirati na kućni računar ili je to više za servere ???
Hvala.
Prije za servere, ali ako ste na wifiju koji pristupa više ljudi od vas, dobro je ...
Pozdrav prijatelju, mislim da je to dobar sigurnosni post 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 Unosim 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 = istina
omogućeno = tačno
Ne čini se da bi sshd mogao biti zato što radim na prethodnoj verziji, hvala