Beveiligingstips op GNU / Linux-systemen

Nou, ik had deze post voorbereid mijn blog ze stelden het me al een tijdje voor DesdeLinux, en wegens tijdgebrek had hij niet kunnen of willen. Als ik wat lui ben ????. Maar nu staken ze, zoals we in Cuba zeggen ...

Dit is een compilatie van basisbeveiligingsregels voor systeembeheerders, in dit geval voor degenen die zoals ik netwerken / systemen beheren op basis van GNU / Linux ... Er kunnen er meer zijn en in feite zijn er meer, dit is slechts een voorbeeld van mijn omzwervingen door de Linux-wereld ...

0- Houd onze systemen up-to-date met de laatste beveiligingsupdates.

0.1- Kritieke updates Mailinglijsten [Slackware-beveiligingsadviseur, Debian Beveiligingsadviseur, in mijn geval]

1- Geen fysieke toegang tot de servers door onbevoegd personeel.

1.1- Pas wachtwoord toe op BIOS van onze servers

1.2- Geen opstart door cd / dvd

1.3- Wachtwoord in GRUB / Lilo

2- Goed wachtwoordbeleid, alfanumerieke tekens en andere.

2.1- Veroudering van wachtwoorden [Wachtwoordveroudering] met het "chage" -commando, evenals het aantal dagen tussen wachtwoordwijziging en laatste wijzigingsdatum.

2.2- Gebruik geen eerdere wachtwoorden:

in /etc/pam.d/common-password

password sufficient pam_unix.so use_auth ok md5 shadow remember 10

Dus je verandert het wachtwoord en het herinnert je aan de laatste 10 wachtwoorden die de gebruiker had.

3- Goed beheer / segmentatiebeleid van ons netwerk [routers, switches, vlans] en firewall, evenals filterregels INPUT, OUTPUT, FORWARD [NAT, SNAT, DNAT]

4- Schakel het gebruik van shells [/ etc / shells] in. Gebruikers die niet hoeven in te loggen op het systeem krijgen / bin / false of / bin / nologin.

5- Blokkeer gebruikers wanneer het inloggen mislukt [faillog], en beheer ook het gebruikersaccount van het systeem.

passwd -l pepe -> blokkeer gebruiker pepe passwd -v pepe -> deblokkeer gebruiker pepe

6- Schakel het gebruik van "sudo" in, log NOOIT in als root met ssh, "NOOIT". In feite moet u de ssh-configuratie bewerken om dit doel te bereiken. Gebruik openbare / privésleutels op uw servers met sudo.

7- Pas in onze systemen de “Principe van het minste voorrecht'.

8- Controleer onze services van tijd tot tijd [netstat -lptun], voor elk van onze servers. Voeg monitoringtools toe die ons bij deze taak kunnen helpen [Nagios, Cacti, Munin, Monit, Ntop, Zabbix].

9- Installeer IDS'en, Snort / AcidBase, Snotby, Barnyard, OSSEC.

10- Nmap is je vriend, gebruik het om je subnet / subnetten te controleren.

11- Goede beveiligingspraktijken in OpenSSH, Apache2, Nginx, MySQL, PostgreSQL, Postfix, Squid, Samba, LDAP [degene die het meest worden gebruikt] en een andere service die je nodig hebt in je netwerk.

12- Versleutel alle communicatie terwijl dit mogelijk is in onze systemen, SSL, gnuTLS, StarTTLS, digest, enz ... En als u gevoelige informatie verwerkt, versleutelt u uw harde schijf !!!

13- Werk onze mailservers bij met de nieuwste beveiligings-, zwarte lijst- en antispamregels.

14- Activiteiten loggen in onze systemen met logwatch en logcheck.

15- Kennis en gebruik van tools zoals onder andere top, sar, vmstat, free.

sar -> systeemactiviteitsrapport vmstat -> processen, geheugen, systeem, i / o, cpu-activiteit, enz. iostat -> cpu i / o-status mpstat -> multiprocessorstatus en gebruik pmap -> geheugengebruik door gratis processen -> iptraf-geheugen -> verkeer in realtime van onze netwerk ethstatus -> console-gebaseerde ethernet statistieken monitor etherape -> grafische netwerk monitor ss -> socket status [tcp socket info, udp, raw sockets, DCCP sockets] tcpdump -> Gedetailleerde analyse van het verkeer vnstat -> netwerkverkeermonitor van geselecteerde interfaces mtr -> diagnosetool en analyse van overbelasting in netwerken ethtool -> statistieken over netwerkkaarten

Voorlopig is het alles. Ik weet dat er nog duizend-en-een veiligheidssuggesties zijn in dit soort omgevingen, maar dit zijn degene die me het dichtst hebben getroffen, of dat ik op een gegeven moment heb moeten toepassen / oefenen in een omgeving die ik heb toegediend .

Een knuffel en hopelijk zal het je van dienst zijn 😀


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   koratsuki zei

    Ik nodig je uit in de reacties om ons te vertellen over enkele andere regels die zijn geïmplementeerd, afgezien van de reeds genoemde, om de kennis van onze lezers te vergroten 😀

    1.    yukitero zei

      Nou, ik zou toevoegen:

      1.- Pas sysctl-regels toe om toegang tot dmesg, / proc, SysRQ te voorkomen, wijs PID1 toe aan de kern, schakel beveiligingen in voor harde en zachte symlinks, beveiligingen voor TCP / IP-stacks voor zowel IPv4 als IPv6, activeer volledige VDSO voor maximale randomisatie-pointers en toewijzing van geheugenruimte en verbetering van de sterkte tegen bufferoverflows.

      2.- Creëer brandmuren van het type SPI (Stateful Package Inspect) om te voorkomen dat verbindingen die niet zijn gemaakt of eerder zijn toegestaan ​​toegang hebben tot het systeem.

      3.- Als u geen services hebt die verbindingen met verhoogde privileges vanaf een externe locatie rechtvaardigen, trekt u de toegang ertoe in met access.conf, of, als dat niet lukt, schakelt u alleen de toegang in voor een specifieke gebruiker of groep.

      4.- Gebruik harde limieten om te voorkomen dat toegang tot bepaalde groepen of gebruikers uw systeem destabiliseert. Erg handig in omgevingen waar altijd een echte multi-user actief is.

      5.- TCPWrappers is je vriend, als je op een systeem zit met ondersteuning ervoor, zou het gebruik ervan geen kwaad doen, dus je kunt de toegang van elke host weigeren tenzij het eerder in het systeem is geconfigureerd.

      6.- Creëer SSH RSA-sleutels van ten minste 2048 bits of beter van 4096 bits met alfanumerieke sleutels van meer dan 16 tekens.

      7.- Hoe wereldbeschrijfbaar ben jij? Het controleren van de lees- en schrijfrechten van uw mappen is helemaal niet slecht en is de beste manier om ongeautoriseerde toegang in omgevingen met meerdere gebruikers te voorkomen, om nog maar te zwijgen over het feit dat het het voor bepaalde ongeautoriseerde toegangen moeilijker maakt om toegang te krijgen tot informatie die u doet niet willen dat niemand anders het ziet.

      8.- Monteer elke externe partitie die het niet verdient, met de opties noexec, nosuid, nodev.

      9.- Gebruik tools zoals rkhunter en chkrootkit om periodiek te controleren of het systeem geen rootkit of malware heeft geïnstalleerd. Een voorzichtige maatregel als u een van degenen bent die dingen installeert vanuit niet-beveiligde opslagplaatsen, vanuit PPA's of gewoon live code compileert van niet-vertrouwde sites.

      1.    koratsuki zei

        Uhmmm, heerlijk ... Goede opmerking, jongens toevoegen ... 😀

    2.    William Moreno-Reyes zei

      Een verplichte toegangscontrole toepassen met SElinux?

  2.   ArmandoF zei

    heel goed artikel

    1.    koratsuki zei

      Bedankt vriend 😀

  3.   joaco zei

    Hallo en als ik een normale gebruiker ben, moet ik dan su of sudo gebruiken?
    Ik gebruik su omdat ik sudo niet leuk vind, omdat iedereen die mijn gebruikerswachtwoord heeft, alles kan wijzigen op het systeem, in plaats daarvan met su no.

    1.    koratsuki zei

      Op uw pc heeft het geen moeite om su te gebruiken, u kunt het zonder problemen gebruiken, op servers wordt het ten zeerste aanbevolen om het gebruik van su uit te schakelen en sudo te gebruiken, velen zeggen dat het komt door het feit dat u controleert wie welk commando heeft uitgevoerd en sudo doet die taak ... ik in het bijzonder, op mijn pc gebruik ik de zijne, net als jij ...

      1.    joaco zei

        Zeker, ik weet niet echt hoe het werkt op de servers. Hoewel het lijkt me dat sudo het voordeel had dat je privileges kunt geven aan de gebruiker van een andere computer, als ik me niet vergis.

    2.    Andrew zei

      Interessant artikel, ik codeer sommige bestanden met gnu-gpg, net als dat van het minimale privilege, voor het geval je bijvoorbeeld een binair bestand van onbekende oorsprong wilt uitvoeren dat verloren is gegaan in de immense zeeën van informatie op de schijf, hoe verwijder ik toegang tot bepaalde functies?

      1.    koratsuki zei

        Ik ben dat deel aan jou verschuldigd, hoewel ik denk dat je alleen als sudo / root moet draaien, programma's die betrouwbaar zijn, dat wil zeggen, ze komen uit je repo ...

      2.    yukitero zei

        Ik herinner me dat ik las dat er een manier is om root-mogelijkheden in een handleiding op GNU / Linux en UNIX in te schakelen, als ik het vind, zal ik het plaatsen put

      3.    clown zei

        en de chown-kooien om onbekende binaire bestanden uit te voeren?

    3.    yukitero zei

      Altijd sudo gebruiken is veel beter.

    4.    levendig zei

      Of u kunt sudo gebruiken, maar de tijd beperken dat het wachtwoord wordt onthouden.

  4.   Kevin Rodriguez zei

    Vergelijkbare tools die ik gebruik om de pc te monitoren, «iotop» als vervanging voor «iostat», «htop» uitstekende «task manager», «iftop» bandbreedtebewaking.

  5.   monolinux zei

    velen zullen denken dat dat overdreven is, maar ik heb al aanvallen gezien waarbij een server aan een botnet werd toegevoegd.

    https://twitter.com/monitolinux/status/594235592260636672/photo/1

    ps: Chinese bedelaars en hun pogingen om mijn server te hacken.

  6.   clown zei

    iets dat ook handig is, is het gebruik van chown-kooien voor de services, dus als ze om de een of andere reden worden aangevallen, zouden ze het systeem niet in gevaar brengen.

  7.   duivel zei

    Het gebruik van de opdracht ps is ook uitstekend geschikt voor monitoring en kan deel uitmaken van acties om te controleren op beveiligingsfouten. het draaien van ps -ef geeft een lijst van alle processen, het is vergelijkbaar met top maar het vertoont enkele verschillen. iptraf installeren is een andere tool die mogelijk werkt.

  8.   Claudio J. Concepcion Zekerheid zei

    Goede bijdrage.

    Ik zou toevoegen: SELinux of Apparmor, afhankelijk van de distro, altijd ingeschakeld.

    Uit eigen ervaring realiseerde ik me dat het een slechte gewoonte is om die componenten uit te schakelen. We doen het bijna altijd als we een service gaan installeren of configureren, met het excuus dat het probleemloos werkt, terwijl we eigenlijk moeten leren ermee om te gaan om die service toe te staan.

    Een groet.

  9.   GnuLinux ?? zei

    1.Hoe het volledige bestandssysteem versleutelen? de moeite waard??
    2. Moet het elke keer dat het systeem wordt bijgewerkt, worden ontsleuteld?
    3. Is het versleutelen van het volledige bestandssysteem van de machine hetzelfde als het versleutelen van een ander bestand?

    1.    yukitero zei

      Hoe weet je dat je weet waar je het over hebt?

  10.   NauTiluS zei

    U kunt ook programma's en zelfs meerdere gebruikers kooien. Hoewel dit meer werk is, maar als er iets is gebeurd en je had een eerdere kopie van die map, dan is het gewoon slaan en zingen.

  11.   Toño zei

    Het beste en handigste beveiligingsbeleid is om niet paranoïde te zijn.
    Probeer het, het is onfeilbaar.

  12.   engelbenieten zei

    Ik gebruik csf en bij het ontgrendelen van een client die zijn wachtwoord bij een bepaalde toegang heeft verloren, vertraagt ​​het het proces, maar dat doet het wel. Het is normaal?

    Ik ben op zoek naar het commando om ssh te deblokkeren ... elke suggestie