Vel, jeg hadde forberedt dette innlegget til min blogg i noen tid foreslo de det til meg i Fra Linux, og på grunn av tidsmangel hadde han ikke klart, eller ønsket. Hvis jeg er litt lat ????. Men nå streiker de, som vi sier på Cuba ...
0- Hold systemene våre oppdatert med de siste sikkerhetsoppdateringene.
0.1- Kritiske oppdateringer Postlister [Slackware sikkerhetsrådgiver, Debian sikkerhetsrådgiver, i mitt tilfelle]
1- Null fysisk tilgang til serverne av uautorisert personell.
1.1- Bruk passord på BIOS av serverne våre
1.2- Ingen oppstart fra CD / DVD
1.3- Passord i GRUB / Lilo
2- God passordpolicy, alfanumeriske tegn og andre.
2.1- Aldring av passord [Passord aldring] med kommandoen "chage", samt antall dager mellom passordendring og siste endringsdato.
2.2- Unngå å bruke tidligere passord:
i /etc/pam.d/common-password
password sufficient pam_unix.so use_auth ok md5 shadow remember 10
Slik endrer du passordet og det minner deg om de siste 10 passordene brukeren hadde.
3- God styrings- / segmenteringspolicy for nettverket vårt [rutere, brytere, vlans] og brannmur, samt filtreringsregler INNGANG, UTGANG, VIDERE [NAT, SNAT, DNAT]
4- Aktiver bruk av skall [/ etc / shell]. Brukere som ikke trenger å logge på systemet får / bin / false eller / bin / nologin.
5- Blokker brukere når pålogging mislykkes [faillog], samt kontroller systembrukerkontoen.
passwd -l pepe -> blokker bruker pepe passwd -v pepe -> opphev blokkering av bruker pepe
6- Aktiver bruk av "sudo", logg ALDRI inn som root av ssh, "ALDRI". Du må faktisk redigere ssh-konfigurasjonen for å oppnå dette formålet. Bruk offentlige / private nøkler på serverne dine med sudo.
7- Bruk “vårePrinsippet om minst privilegium".
8- Sjekk våre tjenester fra tid til annen [netstat -lptun], for hver av våre servere. Legg til overvåkingsverktøy som kan hjelpe oss i denne oppgaven [Nagios, Cacti, Munin, Monit, Ntop, Zabbix].
9- Installer IDS, Snort / AcidBase, Snotby, Barnyard, OSSEC.
10- Nmap er din venn, bruk den til å sjekke delnett / subnett.
11- God sikkerhetspraksis i OpenSSH, Apache2, Nginx, MySQL, PostgreSQL, Postfix, Squid, Samba, LDAP [de som bruker mest] og noen andre tjenester du trenger i nettverket ditt.
12- Krypter all kommunikasjon så lenge som mulig i systemene våre, SSL, gnuTLS, StarTTLS, fordøye osv ... Og hvis du håndterer sensitiv informasjon, krypter du harddisken!
13- Oppdater e-postserverne med de nyeste sikkerhets-, svarteliste- og antispamregler.
14- Aktivitetslogging i systemene våre med loggklokke og loggkontroll.
15- Kunnskap og bruk av verktøy som blant annet topp, sar, vmstat, gratis.
sar -> systemaktivitetsrapport vmstat -> prosesser, minne, system, i / o, cpu-aktivitet osv. iostat -> cpu i / o-status mpstat -> multiprosessorstatus og bruk pmap -> minnebruk ved gratis prosesser - > iptraf-minne -> trafikk i sanntid av vår nettverksethstatus -> konsollbasert Ethernet-statistikk overvåke eterape -> grafisk nettverksmonitor ss -> socket status [tcp socket info, udp, raw sockets, DCCP Sockets] tcpdump -> Detaljert analyse de trafikk vnstat -> nettverkstrafikkovervåker av utvalgte grensesnitt mtr -> diagnostisk verktøy og analyse av overbelastning i nettverksverktøy -> statistikk om nettverkskort
For nå er det alt. Jeg vet at det er tusen og ett sikkerhetsforslag til i denne typen miljø, men det er de som har slått meg tettest, eller at jeg på et tidspunkt har måttet bruke / trene i et miljø som jeg har administrert.
En klem og jeg håper det tjener deg 😀
26 kommentarer, legg igjen dine
Jeg inviterer deg i kommentarene for å fortelle oss om noen andre regler som er implementert bortsett fra de som allerede er nevnt, for å øke kunnskapen til våre lesere 😀
Vel, jeg vil legge til:
1.- Bruk sysctl-regler for å forhindre dmesg, / proc, SysRQ-tilgang, tilordne PID1 til kjernen, aktivere beskyttelse for harde og myke symlinker, beskyttelse for TCP / IP-stabler for både IPv4 og IPv6, aktiver full VDSO for maksimal randomisering peker- og minneplassallokeringer og forbedrer bufferoverløpsstyrken.
2.- Lag brannvegger av typen SPI (Stateful Package Inspect) for å forhindre at tilkoblinger som ikke er opprettet eller tidligere har tilgang til systemet.
3.- Hvis du ikke har tjenester som garanterer forbindelser med forhøyede rettigheter fra et eksternt sted, kan du bare tilbakekalle tilgangen til dem ved hjelp av access.conf, eller hvis ikke, aktiverer du tilgang til bare en bestemt bruker eller gruppe.
4.- Bruk harde grenser for å forhindre tilgang til bestemte grupper eller brukere fra å destabilisere systemet ditt. Veldig nyttig i miljøer der det er en ekte flerbruker aktiv til enhver tid.
5.- TCPWrappers er din venn, hvis du er på et system med støtte for det, vil det ikke skade å bruke det, så du kan nekte tilgang fra en hvilken som helst vert med mindre det tidligere er konfigurert i systemet.
6.- Opprett SSH RSA-nøkler på minst 2048 bits eller bedre på 4096 bits med alfanumeriske nøkler på mer enn 16 tegn.
7.- Hvor verdensskrivbar er du? Det er ikke dårlig å sjekke lese- og skrivetillatelsene til katalogene dine, og det er den beste måten å unngå uautorisert tilgang i flerbrukermiljøer, for ikke å nevne at det gjør det vanskeligere for visse uautoriserte tilganger å få tilgang til informasjon du ikke vil at de skal. ingen andre ser.
8.- Monter en ekstern partisjon som ikke fortjener det, med alternativene noexec, nosuid, nodev.
9.- Bruk verktøy som rkhunter og chkrootkit for å regelmessig kontrollere at systemet ikke har et rootkit eller skadelig programvare installert. Et forsiktig tiltak hvis du er en av dem som installerer ting fra ikke-sikre arkiver, fra PPA-er, eller bare lever kompileringskode fra ikke-klarerte nettsteder.
Uhmmm, deilig ... God kommentar, legg til gutta ... 😀
Bruk en obligatorisk tilgangskontroll med SElinux?
veldig god artikkel
Takk venn 😀
Hei, og hvis jeg er en vanlig bruker, skal jeg bruke su eller sudo?
Jeg bruker su fordi jeg ikke liker sudo, fordi alle som har brukerpassordet mitt kan endre hva de vil på systemet, i stedet med su no.
På PC-en din gidder det ikke å bruke su, du kan bruke den uten problemer, på serverne, det anbefales på det sterkeste å deaktivere bruken av su og bruke sudo, mange sier at det er på grunn av det faktum at revisjon har utført hvilken kommando og sudo gjør den oppgaven ... Jeg spesielt, på min pc bruker jeg hans, akkurat som deg ...
Visst, jeg vet ikke helt hvordan det fungerer på serverne. Selv om det virker for meg at sudo hadde fordelen at du kan gi privilegier til brukeren av en annen datamaskin, hvis jeg ikke tar feil.
Interessant artikkel, jeg krypterer noen filer med gnu-gpg, som det er av minimums privilegium, hvis du for eksempel vil utføre en binær av ukjent opprinnelse tapt i det enorme hav av informasjon på disken, hvordan fjerner jeg tilgang til visse funksjoner ?
Jeg skylder deg den delen, selv om jeg tror du bare skal kjøre som sudo / root, programmer som er pålitelige, det vil si at de kommer fra repoen din ...
Jeg husker at jeg leste at det er en måte å aktivere rotfunksjoner i noen manualer på GNU / Linux og UNIX, hvis jeg finner det, vil jeg si det 😀
@andrew her er artikkelen jeg nevnte og litt mer hjelp
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 burene for å kjøre ukjente binærfiler?
Å bruke sudo til enhver tid er mye bedre.
Eller du kan bruke sudo, men begrense tiden passordet blir husket.
Lignende verktøy bruker jeg for å overvåke pc-en, «iotop» som erstatning for «iostat», «htop» utmerket «task manager», «iftop» båndbreddemonitorering.
mange vil tro at dette er overdrevet, men jeg har allerede sett angrep for å inkludere en server til et botnet.
https://twitter.com/monitolinux/status/594235592260636672/photo/1
ps: Kinesiske tiggere og deres forsøk på å hacke serveren min.
noe som også er praktisk er å bruke kappemurer til tjenestene, så hvis de av en eller annen grunn blir angrepet, ville de ikke kompromittere systemet.
Å bruke ps-kommandoen er også utmerket for overvåking og kan være en del av handlingene for å se etter sikkerhetsfeil. kjører ps -ef lister alle prosesser, det ligner på toppen, men det viser noen forskjeller. installere iptraf er et annet verktøy som kan fungere.
Godt bidrag.
Jeg vil legge til: SELinux eller Apparmor, avhengig av distro, alltid aktivert.
Fra min egen erfaring innså jeg at det er dårlig praksis å deaktivere disse komponentene. Vi gjør det nesten alltid når vi skal installere eller konfigurere en tjeneste, med unnskyldningen at den kjører uten problemer, når det vi egentlig burde gjøre er å lære å håndtere dem for å tillate denne tjenesten.
En hilsen.
1.Hvordan kryptere hele filsystemet? verdt det??
2. Må det dekrypteres hver gang systemet skal oppdateres?
3. Er kryptering av hele filsystemet på maskinen det samme som kryptering av andre filer?
Hvordan vet du at du vet hva du snakker om?
Du kan også bureprogrammer og til og med flere brukere. Selv om å gjøre dette er mer arbeid, men hvis noe skjedde, og du hadde en tidligere kopi av den mappen, er det bare å slå og synge.
Den beste og mest praktiske sikkerhetspolitikken er ikke å være paranoid.
Prøv det, det er ufeilbarlig.
Jeg bruker csf, og når jeg låser opp en klient som har plassert passordet sitt i noen tilgang, forsinker det prosessen, men det gjør det. Det er normalt?
Jeg leter etter kommandoen for å oppheve blokkeringen fra ssh ... ethvert forslag