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 ...
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 😀
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 😀
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.
Uhmmm, lækker... Dejlig kommentar, tilføj gutter... 😀
Vil du anvende en obligatorisk adgangskontrol med SElinux?
meget god artikel
Tak ven 😀
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.
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...
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.
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?
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...
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 😀
@andrew her er den artikel, jeg nævnte, og lidt mere 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
og chown fængsler til at køre ukendte binære filer?
At bruge sudo til enhver tid er meget bedre.
Eller du kan bruge sudo, men begrænse den tid adgangskoden huskes.
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.
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.
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.
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.
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.
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??
Hvordan ved du, at du ved, hvad du taler om?
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.
Den bedste og mest bekvemme sikkerhedspolitik er ikke at være paranoid.
Prøv det, det er ufejlbarligt.
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