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.
i sustav š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)
Puno je bolje i sigurnije šifrirati cijeli datotečni sustav.
Za sljedeći vodič o sigurnosti u Linuxu uzet ću ga u obzir: D.
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.
jako korisno!!!! upravo ono što sam tražio hvala 🙂
Dobrodošao si prijatelju :).
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/
a za nginx postoji neki trik ili konfiguracija?
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
Jeste li vidjeli ferm? Sviđa mi se kako su definirana pravila.
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č izrađuje pakete pomoću ip-a lokalnog računala i čini DOS vrlo jednostavnim.
Čovjek, lokalni PC i IP povratne veze izuzeti su s popisa Fail2ban.
Ako ne, mogli bismo imati lažne pozitivne rezultate.
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 ....
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 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 :).
@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.
Bok prijatelju,
Pomalo sam zauzet kako pokazuje rijetko objavljivanje, ali to ću imati na umu za sljedeći post na FreeBSD-u.
Pozdrav :).
To se poravnalo u komentarima, nemam pojma o čemu govorite, nitko xD
Odličan članak!
Ova sigurnosna radnja podrazumijeva ograničavanje opreme na bilo koji način?
Ne ... Uobičajena uporaba sustava uopće nije ograničena.
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.
Sve dok koristite Windows koji je unaprijed instalirao proizvođač ...
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.
Zanimljiv članak, pažljivije ću ga pročitati danas popodne. Hvala vam.
Molim :). Drago mi je.
Izvrstan članak, zabavljao sam se čitavo popodne čitajući ga. Cijenimo vrijeme koje vam treba da sve pažljivo objasnite,
Pozdrav iz Čilea
Carlos
Bok Carlos,
Hvala puno :).
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?
Čak i bez činjenja svega ovoga, to funkcionira, budući da je zlonamjerni softver napravljen za Windows, a ne za Linux.
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.
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 :).
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:
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
Prije svega dobar tutorial. Mnogo stvari nedostaje, ali usredotočili ste se na osnove.
shini-kire, provjeri svoj /var/log/fail2ban.log
Pozdrav.
Hvala ti @Maykel Franco :).
dobar,
fail2ban trebaju li ga instalirati na kućno računalo ili je to više za poslužitelje ???
Hvala Vam.
Prije za poslužitelje, ali ako ste na wifiju koji pristupa više ljudi od vas, dobro je ...
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