Sikkerhedstip på GNU / Linux-systemer

Nå, jeg havde forberedt dette indlæg til min blog i nogen tid foreslog de mig det DesdeLinuxog på grund af mangel på tid havde han ikke været i stand til eller villig. Hvis jeg er noget doven ????. Men nu strejker de, som vi siger på Cuba ...

Dette er en samling af grundlæggende sikkerhedsregler for systemadministratorer, i dette tilfælde for dem som mig, der administrerer netværk / systemer baseret på GNU / Linux ... Der kan være flere, og faktisk er der flere, dette er bare et eksempel på mine vandringer rundt i Linux-verdenen ...

0- Hold vores systemer opdateret med de nyeste sikkerhedsopdateringer.

0.1- Kritiske opdateringer Postlister [Slackware sikkerhedsrådgiver, Debians sikkerhedsrådgiver, i mit tilfælde]

1- Nul fysisk adgang til servere fra uautoriseret personale.

1.1- Anvend adgangskode til BIOS af vores servere

1.2- Ingen boot fra CD / DVD

1.3- Adgangskode i GRUB / Lilo

2- God adgangskodepolitik, alfanumeriske tegn og andre.

2.1- Aldring af adgangskoder [Password Aging] med kommandoen "chage" samt antal dage mellem ændring af adgangskode og sidste dato for ændring.

2.2- Undgå at bruge tidligere adgangskoder:

i /etc/pam.d/common-password

password sufficient pam_unix.so use_auth ok md5 shadow remember 10

Sådan ændrer du adgangskoden, og den minder dig om de sidste 10 adgangskoder, som brugeren havde.

3- God management / segmenteringspolitik for vores netværk [routere, switches, vlans] og firewall samt filtreringsregler INPUT, OUTPUT, FORWARD [NAT, SNAT, DNAT]

4- Aktiver brug af skaller [/ etc / shells]. Brugere, der ikke behøver at logge ind på systemet, får / bin / false eller / bin / nologin.

5- Bloker brugere, når login mislykkes [faillog], samt styr systembrugerkontoen.

passwd -l pepe -> bloker bruger pepe passwd -v pepe -> fjern blokering af bruger pepe

6- Aktiver brugen af ​​"sudo", log ind ALDRIG som root af ssh, "ALDRIG". Faktisk skal du redigere ssh-konfigurationen for at nå dette formål. Brug offentlige / private nøgler på dine servere med sudo.

7- Anvend i vores systemer “Princippet om mindst privilegium".

8- Tjek vores tjenester fra tid til anden [netstat -lptun] for hver af vores servere. Tilføj overvågningsværktøjer, der kan hjælpe os med denne opgave [Nagios, Cacti, Munin, Monit, Ntop, Zabbix].

9- Installer IDS'er, Snort / AcidBase, Snotby, Barnyard, OSSEC.

10- Nmap er din ven, brug den til at kontrollere dit undernet / undernet.

11- God sikkerhedspraksis i OpenSSH, Apache2, Nginx, MySQL, PostgreSQL, Postfix, Squid, Samba, LDAP [dem, der mest bruger] og nogle andre tjenester, som du har brug for i dit netværk.

12- Krypter al kommunikation, mens det er muligt, i vores systemer, SSL, gnuTLS, StarTTLS, fordøjelse osv ... Og hvis du håndterer følsomme oplysninger, skal du kryptere din harddisk !!!

13- Opdater vores mailservere med de nyeste regler for sikkerhed, sortliste og antispam.

14- Aktivitetslogning i vores systemer med logur og logcheck.

15- Viden og brug af værktøjer som top, sar, vmstat, gratis, blandt andre.

sar -> systemaktivitetsrapport vmstat -> processer, hukommelse, system, i / o, cpu-aktivitet osv. iostat -> cpu i / o-status mpstat -> multiprocessorstatus og brug pmap -> hukommelsesbrug ved gratis processer -> iptraf-hukommelse -> trafik i realtid af vores netværksethstatus -> konsolbaseret Ethernet-statistik overvåger etherape -> grafisk netværksmonitor ss -> sokkelstatus [tcp-sokkelinfo, udp, raw-sockets, DCCP-sockets] tcpdump -> Detaljeret analyse af trafik vnstat -> netværkstrafikovervågning af udvalgte grænseflader mtr -> diagnostisk værktøj og analyse af overbelastning i netværk ethtool -> statistik om netværkskort

For nu er det alt. Jeg ved, at der er tusind og ét mere sikkerhedsforslag i denne type miljø, men det er dem, der har ramt mig mest, eller at jeg på et eller andet tidspunkt har været nødt til at anvende / træne i et miljø, som jeg har administreret .

Et knus, og jeg håber, det tjener dig 😀


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   koratsuki sagde han

    Jeg inviterer dig til at fortælle os i kommentarerne om en anden regel, som du har implementeret bortset fra de allerede nævnte, for at øge vores læseres viden 😀

    1.    yukiteru sagde han

      Nå, jeg vil tilføje:

      1.- Anvend sysctl-regler for at forhindre dmesg, /proc, SysRQ-adgang, tildel PID1 til kernen, aktiver beskyttelser for hårde og bløde symlinks, beskyttelser for TCP/IP-stacks for både IPv4 og IPv6, aktiver fuld VDSO for maksimal randomisering af pointere og hukommelsespladsallokeringer og forbedrer styrke mod bufferoverløb.

      2.- Opret brandvægge af typen SPI (Stateful Package Inspect) for at forhindre forbindelser, der ikke tidligere er oprettet eller tilladt, i at få adgang til systemet.

      3.- Hvis du ikke har tjenester, der kræver forbindelser med forhøjede privilegier fra fjernbetjeningen, skal du blot tilbagekalde adgangen til dem ved hjælp af access.conf, eller hvis det ikke er tilfældet, aktiver kun adgang til en bestemt bruger eller gruppe.

      4.- Brug hårde grænser for at forhindre adgang til visse grupper eller brugere, der kan destabilisere dit system. Meget nyttig i miljøer, hvor der er reelle multi-user aktiv på alle tidspunkter.

      5.- TCPWrappers er din ven, hvis du er i et system med understøttelse af det, ville det ikke skade dig at bruge det, så du kan nægte adgang fra enhver vært, medmindre den allerede er konfigureret i systemet.

      6.- Opret RSA SSH nøgler på mindst 2048 bit eller bedre end 4096 bit med alfanumeriske nøgler på mere end 16 tegn.

      7.- Hvor verdensskrivbar er du? Det er slet ikke dårligt at tjekke dine mappers læse- og skrivetilladelser og er den bedste måde at forhindre uautoriseret adgang i miljøer med flere brugere, for ikke at nævne, at det gør det sværere for visse uautoriserede adgange at få adgang til information, som du ikke ønsker, at andre skal se.

      8.- Monter enhver ekstern partition, der ikke kræver det, med mulighederne noexec, nosuid, nodev.

      9.- Brug værktøjer som rkhunter og chkrootkit til med jævne mellemrum at kontrollere, at systemet ikke har et rootkit eller malware installeret. En forsigtig foranstaltning, hvis du er en af ​​dem, der installerer ting fra usikre depoter, fra PPA'er eller blot live kompileringskode fra upålidelige websteder.

      1.    koratsuki sagde han

        Uhmmm, lækker... Dejlig kommentar, tilføj gutter... 😀

    2.    William Moreno-Reyes sagde han

      Vil du anvende en obligatorisk adgangskontrol med SElinux?

  2.   ArmandoF sagde han

    meget god artikel

    1.    koratsuki sagde han

      Tak ven 😀

  3.   joaco sagde han

    Hej, og hvis jeg er en normal bruger, skal jeg så bruge su eller sudo?
    Jeg bruger su fordi jeg ikke kan lide sudo, pga. at alle der har mit brugerkodeord kan ændre hvad de vil i systemet, i stedet for su no.

    1.    koratsuki sagde han

      På din pc gider det ikke bruge su, du kan bruge det uden problemer, på servere kan det varmt anbefales at deaktivere brugen af ​​su og bruge sudo, mange siger at det er på grund af auditering hvem der udførte hvilken kommando og sudo gør den opgave... især på min pc bruger jeg su, ligesom dig...

      1.    joaco sagde han

        Jeg ved selvfølgelig ikke hvordan det virker på servere. Selvom det forekommer mig, at sudo havde den fordel, at du kan give privilegier til brugeren fra en anden computer, hvis jeg ikke tager fejl.

    2.    andrew sagde han

      Interessant artikel, jeg krypterer nogle filer med gnu-gpg, hvordan er det mindste privilegium, hvis jeg f.eks. vil udføre en binær af ukendt oprindelse tabt i det enorme hav af information på disken, hvordan fjerner jeg adgangen til visse funktioner?

      1.    koratsuki sagde han

        Jeg skylder dig den del, selvom jeg synes, du kun skal køre som sudo/root-programmer, der er pålidelige, det vil sige, de kommer fra din repo...

      2.    yukiteru sagde han

        Jeg kan huske, at jeg læste, at der er en måde at deaktivere root-funktioner i en manual på GNU/Linux og UNIX, hvis jeg finder det, vil jeg poste det 😀

      3.    klovn sagde han

        og chown fængsler til at køre ukendte binære filer?

    3.    yukiteru sagde han

      At bruge sudo til enhver tid er meget bedre.

    4.    Elav sagde han

      Eller du kan bruge sudo, men begrænse den tid adgangskoden huskes.

  4.   Kevin Rodriguez sagde han

    Lignende værktøjer, som jeg bruger til at overvåge pc'en, "iotop" som erstatning for "iostat", "htop" fremragende "task manager", "iftop" båndbreddeovervågning.

  5.   monitolinux sagde han

    Mange vil mene, at dette er overdrevet, men jeg har allerede set angreb for at inkludere en server i et botnet.

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

    PS: Kinesiske tiggere og deres forsøg på at hacke min server.

  6.   klovn sagde han

    noget, der også er praktisk, er at bruge chown jails til tjenesterne, så hvis de af en eller anden grund bliver angrebet, vil de ikke kompromittere systemet.

  7.   djævel sagde han

    Brugen af ​​ps-kommandoen er også fremragende til overvågning og kan være en del af handlingerne for at gennemgå sikkerhedsfejl. kører ps -ef viser alle processer, det ligner toppen, men det viser nogle forskelle. Iptraf-installation er et andet værktøj, der kan fungere.

  8.   Claudio J. Concepcion Certad sagde han

    Godt bidrag.

    Jeg vil tilføje: SELinux eller Apparmor, afhængigt af distroen, altid aktiveret.

    Fra min egen erfaring indså jeg, at det er en dårlig praksis at deaktivere disse komponenter. Vi gør det næsten altid, når vi skal installere eller konfigurere en tjeneste, med den undskyldning, at den kører uden problemer, når vi egentlig skal lære at administrere dem, så den tillader den tjeneste.

    En hilsen.

  9.   Linux?? sagde han

    1. Hvordan krypterer man hele filsystemet? det er det værd??
    2. Skal du dekryptere hver gang systemet opdateres?
    3. Er kryptering af hele maskinens filsystem det samme som at kryptere enhver anden fil??

    1.    yukiteru sagde han

      Hvordan ved du, at du ved, hvad du taler om?

  10.   NauTiluS sagde han

    Du kan også fængsle programmer og endda flere brugere. Selvom det er mere arbejde at gøre dette, men hvis der sker noget, og du havde en tidligere kopi af den mappe, er det bare at indsætte og synge.

  11.   tone sagde han

    Den bedste og mest bekvemme sikkerhedspolitik er ikke at være paranoid.
    Prøv det, det er ufejlbarligt.

  12.   angelbenitter sagde han

    Jeg bruger csf, og når man låser op for en klient, der har forlagt sin adgangskode i en eller anden adgang, tager det et stykke tid i processen, men det gør det. Det er normalt?

    Jeg leder efter kommandoen til at låse op fra ssh ... eventuelle forslag