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 ...
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 😀
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 😀
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.
Uhmmm, heerlijk ... Goede opmerking, jongens toevoegen ... 😀
Een verplichte toegangscontrole toepassen met SElinux?
heel goed artikel
Bedankt vriend 😀
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.
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 ...
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.
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?
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 ...
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
@andrew hier is het artikel dat ik noemde en wat meer hulp
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
en de chown-kooien om onbekende binaire bestanden uit te voeren?
Altijd sudo gebruiken is veel beter.
Of u kunt sudo gebruiken, maar de tijd beperken dat het wachtwoord wordt onthouden.
Vergelijkbare tools die ik gebruik om de pc te monitoren, «iotop» als vervanging voor «iostat», «htop» uitstekende «task manager», «iftop» bandbreedtebewaking.
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.
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.
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.
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.
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?
Hoe weet je dat je weet waar je het over hebt?
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.
Het beste en handigste beveiligingsbeleid is om niet paranoïde te zijn.
Probeer het, het is onfeilbaar.
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