Jag hade förberett det här inlägget för min blogg under en tid föreslog de mig det i DesdeLinuxoch på grund av brist på tid hade han inte kunnat eller vilja. Om jag är lite lat ????. Men nu strejkar de, som vi säger på Kuba ...
0- Håll våra system uppdaterade med de senaste säkerhetsuppdateringarna.
0.1- Kritiska uppdateringar Postlistor [Slackware säkerhetsrådgivare, Debians säkerhetsrådgivare, i mitt fall]
1- Noll fysisk åtkomst till servrarna av obehörig personal.
1.1- Tillämpa lösenord på BIOS av våra servrar
1.2- Ingen start från CD / DVD
1.3- Lösenord i GRUB / Lilo
2- Bra lösenordspolicy, alfanumeriska tecken och andra.
2.1- Åldrande av lösenord [Lösenordsåldring] med kommandot "chage" samt antal dagar mellan lösenordsbyte och senaste ändringsdatum.
2.2- Undvik att använda tidigare lösenord:
i /etc/pam.d/common-password
password sufficient pam_unix.so use_auth ok md5 shadow remember 10
Så du ändrar lösenordet och det påminner dig om de senaste 10 lösenorden som användaren hade.
3- God hantering / segmenteringspolicy för vårt nätverk [routrar, switchar, vlans] och brandvägg, samt filtreringsregler INPUT, OUTPUT, FORWARD [NAT, SNAT, DNAT]
4- Aktivera användning av skal [/ etc / shell]. Användare som inte behöver logga in i systemet får / bin / false eller / bin / nologin.
5- Blockera användare när inloggningen misslyckas [faillog], samt kontrollera systemanvändarkontot.
passwd -l pepe -> blockera användare pepe passwd -v pepe -> avblockera användare pepe
6- Aktivera användningen av "sudo", logga ALDRIG in som root av ssh, "ALDRIG". Du måste faktiskt redigera ssh-konfigurationen för att uppnå detta syfte. Använd offentliga / privata nycklar på dina servrar med sudo.
7- Tillämpa i våra systemPrincipen om minst privilegium".
8- Kontrollera våra tjänster då och då [netstat -lptun], för var och en av våra servrar. Lägg till övervakningsverktyg som kan hjälpa oss i denna uppgift [Nagios, Cacti, Munin, Monit, Ntop, Zabbix].
9- Installera IDS, Snort / AcidBase, Snotby, Barnyard, OSSEC.
10- Nmap är din vän, använd den för att kontrollera ditt undernät / undernät.
11- God säkerhetspraxis i OpenSSH, Apache2, Nginx, MySQL, PostgreSQL, Postfix, Squid, Samba, LDAP [de som använder mest] och någon annan tjänst som du behöver i ditt nätverk.
12- Kryptera all kommunikation när det är möjligt i våra system, SSL, gnuTLS, StarTTLS, digest, etc ... Och om du hanterar känslig information, kryptera din hårddisk !!!
13- Uppdatera våra e-postservrar med de senaste reglerna för säkerhet, svartlista och skräppost.
14- Aktivitetsloggning i våra system med loggklocka och logcheck.
15- Kunskap och användning av verktyg som topp, sar, vmstat, gratis, bland andra.
sar -> systemaktivitetsrapport vmstat -> processer, minne, system, i / o, cpu-aktivitet, etc iostat -> cpu i / o-status mpstat -> multiprocessorstatus och användning pmap -> minnesanvändning genom fria processer -> iptraf-minne -> trafik i realtid för vårt nätverk etstatus -> konsolbaserad Ethernet-statistik övervaka eterape -> grafisk nätverksmonitor ss -> sockelstatus [tcp-sockelinfo, udp, raw-sockets, DCCP-sockets] tcpdump -> Detaljerad analys av trafik vnstat -> nätverkstrafikövervakare av utvalda gränssnitt mtr -> diagnostiskt verktyg och analys av överbelastning i nätverksverktyg -> statistik om nätverkskort
För nu är allt. Jag vet att det finns tusen ytterligare ett säkerhetsförslag i denna typ av miljö, men det är de som har slagit mig närmast, eller att jag någon gång har varit tvungen att applicera / träna i en miljö som jag har administrerat .
En kram och jag hoppas att den tjänar dig 😀
Jag inbjuder dig i kommentarerna att berätta om några andra regler som har implementerats förutom de som redan nämnts, för att öka kunskapen för våra läsare 😀
Tja, jag skulle tillägga:
1.- Använd sysctl-regler för att förhindra åtkomst dmesg, / proc, SysRQ, tilldela PID1 till kärnan, aktivera skydd för hårda och mjuka symlänkar, skydd för TCP / IP-stackar för både IPv4 och IPv6, aktivera fullständig VDSO för maximala randomiseringspekare och minnesutrymmeallokeringar och förbättra styrkan mot buffertöverflöden.
2. - Skapa eldväggar av typen SPI (Stateful Package Inspect) för att förhindra att anslutningar som inte skapats eller tidigare har tillåtits har åtkomst till systemet.
3.- Om du inte har tjänster som garanterar anslutningar med förhöjda behörigheter från en avlägsen plats, helt enkelt återkalla åtkomst till dem med access.conf, eller, om så inte är fallet, aktivera endast åtkomst till en viss användare eller grupp.
4.- Använd hårda gränser för att förhindra åtkomst till vissa grupper eller användare från att destabilisera ditt system. Mycket användbart i miljöer där det finns en riktig fleranvändare aktiv hela tiden.
5.- TCPWrappers är din vän, om du är på ett system med stöd för det skulle det inte skada att använda det, så du kan neka åtkomst från alla värden om det inte tidigare har konfigurerats i systemet.
6. - Skapa SSH RSA-nycklar på minst 2048 bitar eller bättre på 4096 bitar med alfanumeriska nycklar på mer än 16 tecken.
7. - Hur världsskrivbar är du? Att kontrollera läs-skrivbehörigheterna i dina kataloger är inte alls dåligt och det bästa sättet att undvika obehörig åtkomst i flera användarmiljöer, för att inte tala om att det gör det svårare för vissa obehöriga åtkomst att få tillgång till information som du gör inte vill att de ska. ingen annan ser.
8.- Montera alla externa partitioner som inte förtjänar det, med alternativen noexec, nosuid, nodev.
9.- Använd verktyg som rkhunter och chkrootkit för att regelbundet kontrollera att systemet inte har en rootkit eller skadlig kod installerad. Ett klokt mått om du är en av dem som installerar saker från osäkra arkiv, från PPA eller helt enkelt samlar in kod från opålitliga webbplatser.
Uhmmm, utsökt ... Bra kommentar, lägg till killar ... 😀
Tillämpa en obligatorisk åtkomstkontroll med SElinux?
mycket bra artikel
Tack vän 😀
Hej och om jag är en vanlig användare, ska jag använda su eller sudo?
Jag använder su för att jag inte gillar sudo, för alla som har mitt användarlösenord kan ändra vad de vill på systemet istället med su no.
På din dator bryr det sig inte att använda su, du kan använda det utan problem, på servrar, det rekommenderas starkt att inaktivera användningen av su och använda sudo, många säger att det beror på det faktum att granska vem som utförde vilket kommando och sudo gör den uppgiften ... Jag i synnerhet, på min dator använder jag hans, precis som du ...
Visst, jag vet inte riktigt hur det fungerar på servrarna. Även om det verkar för mig som sudo hade fördelen att du kan ge privilegier till användaren av en annan dator, om jag inte tar fel.
Intressant artikel, jag krypterar vissa filer med gnu-gpg, liksom det som är av minsta privilegium, om du till exempel vill köra en binär av okänt ursprung förlorad i de enorma haven av information på skivan, hur tar jag bort tillgång till vissa funktioner?
Jag är skyldig den delen till dig, även om jag tycker att du bara ska köra som sudo / root, program som är tillförlitliga, det vill säga de kommer från din repo ...
Jag minns att jag läste att det finns ett sätt att aktivera rotfunktioner i någon manual på GNU / Linux och UNIX, om jag hittar det kommer jag att lägga det put
@andrew här är artikeln jag nämnde och lite mer hjälp
http://www.cis.syr.edu/~wedu/seed/Labs/Capability_Exploration/Capability_Exploration.pdf
http://linux.die.net/man/7/capabilities
https://wiki.archlinux.org/index.php/Capabilities
och chownburarna för att köra okända binärer?
Att använda sudo hela tiden är mycket bättre.
Eller så kan du använda sudo, men begränsa tiden lösenordet kommer ihåg.
Liknande verktyg använder jag för att övervaka datorn, «iotop» som ersättning för «iostat», «htop» utmärkt «uppgiftshanterare», «iftop» bandbreddsövervakning.
många kommer att tro att det är överdrivet, men jag har redan sett attacker för att inkludera en server i ett botnet.
https://twitter.com/monitolinux/status/594235592260636672/photo/1
ps: Kinesiska tiggare och deras försök att hacka min server.
något som också är bekvämt är att använda chownburar för tjänsterna, så om de av någon anledning attackeras skulle de inte äventyra systemet.
Att använda kommandot ps är också utmärkt för övervakning och kan vara en del av åtgärderna för att kontrollera säkerhetsfel. körning av ps -ef listar alla processer, det liknar toppen men det visar vissa skillnader. installation av iptraf är ett annat verktyg som kan fungera.
Bra insats.
Jag skulle lägga till: SELinux eller Apparmor, beroende på distro, alltid aktiverad.
Av min egen erfarenhet insåg jag att det är dålig praxis att inaktivera dessa komponenter. Nästan alltid gör vi det när vi ska installera eller konfigurera en tjänst, med ursäkten att den körs utan problem, när egentligen vad vi ska göra är att lära oss att hantera dem för att tillåta den tjänsten.
En hälsning.
1.Hur krypterar du hela filsystemet? värt det??
2. Måste det dekrypteras varje gång systemet ska uppdateras?
3. Är kryptering av maskinens hela filsystem detsamma som kryptering av någon annan fil?
Hur visar du att du vet vad du pratar om?
Du kan också burprogram och till och med flera användare. Även om det här är mer arbete, men om något hände, och du hade en tidigare kopia av den mappen, slår den bara och sjunger.
Den bästa och mest bekväma säkerhetspolitiken är att inte vara paranoid.
Prova, det är ofelbart.
Jag använder csf och när jag låser upp en klient som förplacerade sitt lösenord i viss åtkomst försenar det processen men det gör det. Det är normalt?
Jag letar efter kommandot att avblockera från ssh ... något förslag