Säkerhetstips för GNU / Linux-system

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 ...

Detta är en sammanställning av grundläggande säkerhetsregler för systemadministratörer, i det här fallet, för de som som jag hanterar nätverk / system baserat på GNU / Linux ... Det kan finnas fler och faktiskt fler, det här är bara ett urval av mina vandringar runt Linux-världen ...

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 😀


26 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   koratsuki sade

    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 😀

    1.    yukiteru sade

      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.

      1.    koratsuki sade

        Uhmmm, utsökt ... Bra kommentar, lägg till killar ... 😀

    2.    William Moreno-Reyes sade

      Tillämpa en obligatorisk åtkomstkontroll med SElinux?

  2.   ArmandoF sade

    mycket bra artikel

    1.    koratsuki sade

      Tack vän 😀

  3.   joaco sade

    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.

    1.    koratsuki sade

      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 ...

      1.    joaco sade

        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.

    2.    andrew sade

      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?

      1.    koratsuki sade

        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 ...

      2.    yukiteru sade

        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

      3.    clown sade

        och chownburarna för att köra okända binärer?

    3.    yukiteru sade

      Att använda sudo hela tiden är mycket bättre.

    4.    livlig sade

      Eller så kan du använda sudo, men begränsa tiden lösenordet kommer ihåg.

  4.   Kevin Rodriguez sade

    Liknande verktyg använder jag för att övervaka datorn, «iotop» som ersättning för «iostat», «htop» utmärkt «uppgiftshanterare», «iftop» bandbreddsövervakning.

  5.   monitolinux sade

    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.

  6.   clown sade

    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.

  7.   jäkel sade

    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.

  8.   Claudio J. Concepcion Säkerhet sade

    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.

  9.   GnuLinux ?? sade

    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?

    1.    yukiteru sade

      Hur visar du att du vet vad du pratar om?

  10.   NauTiluS sade

    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.

  11.   Toños sade

    Den bästa och mest bekväma säkerhetspolitiken är att inte vara paranoid.
    Prova, det är ofelbart.

  12.   ängelbeniter sade

    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