Securizarea și întărirea nucleului CentOS 7 cu Sysctl

Introducere

Sysctlpermite utilizatorului să ajusteze kernel-ul fără a fi nevoie să reconstruiască nucleul. De asemenea, va aplica imediat modificările, astfel încât serverul nu va trebui să fie repornit pentru ca modificările să intre în vigoare. Acest tutorial oferă o scurtă introducere sysctlși demonstrează modul de utilizare a acestuia pentru a regla anumite părți ale nucleului Linux.

comenzi

Pentru a începe să utilizați sysctl, consultați parametrii și exemplele enumerate mai jos.

Parametrii

-a : Aceasta va afișa toate valorile disponibile în prezent în configurația sysctl.

-A : Aceasta va afișa toate valorile disponibile în prezent în configurația sysctl sub formă de tabel.

-e : Această opțiune va ignora erorile despre cheile necunoscute.

-p : Acesta este utilizat pentru a încărca o configurație specifică sysctl, implicit o va folosi/etc/sysctl.conf

-n : Această opțiune va dezactiva afișarea numelor de chei atunci când imprimați valorile.

-w : Această opțiune este pentru modificarea (sau adăugarea) valorilor la cerere sysctl.

Exemple

$ sysctl -a
$ sysctl -n fs.file-max
$ sysctl -w fs.file-max=2097152
$ sysctl -p

Deci, mai întâi verificăm valorile implicite. Dacă dvs. /etc/sysctl.confeste gol, acesta va afișa toate tastele și valorile implicite. În al doilea rând, verificăm la ce valoare fs.file-maxeste și apoi setăm valoarea nouă 2097152. În cele din urmă, încărcăm noul /etc/sysctl.conffișier de configurare.

Dacă sunteți în căutarea de ajutor suplimentar, puteți utiliza man sysctl.

Securizarea și întărirea nucleului

Pentru a face modificările permanente, va trebui să adăugăm aceste valori într-un fișier de configurare. Utilizați în mod implicit fișierul de configurare pe care CentOS îl oferă /etc/sysctl.conf.

Deschideți fișierul cu editorul preferat.

În mod implicit, ar trebui să vedeți ceva similar cu acesta.

# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

Să îmbunătățim mai întâi managementul memoriei de sistem.

Vom reduce la minimum cantitatea de schimburi pe care trebuie să o facem, vom crește dimensiunea mânerelor de fișiere și a cache-urilor inode și vom restricționa depozitele de bază.

# Minimizing the amount of swapping
vm.swappiness = 20
vm.dirty_ratio = 80
vm.dirty_background_ratio = 5

# Increases the size of file handles and inode cache & restricts core dumps
fs.file-max = 2097152
fs.suid_dumpable = 0

În continuare, permiteți ajustarea performanței optimizate a rețelei.

Vom schimba cantitatea de conexiuni primite și conexiunile primite, vom crește cantitatea maximă de memorii tampon și vom crește bufferele implicite și maxime de trimitere / primire.

# Change the amount of incoming connections and incoming connections backlog
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144

# Increase the maximum amount of memory buffers
net.core.optmem_max = 25165824

# Increase the default and maximum send/receive buffers
net.core.rmem_default = 31457280
net.core.rmem_max = 67108864
net.core.wmem_default = 31457280
net.core.wmem_max = 67108864

În cele din urmă, vom îmbunătăți securitatea generală a rețelei.

Vom activa protecția cookie-urilor TCP SYN, protecția anti-spoofing IP, ignorarea cererilor ICMP, ignorarea cererilor de difuzare și înregistrarea la pachete spoite, pachete sursă dirijate și pachete redirecționare. Împreună cu aceasta, vom dezactiva rutarea sursei IP și acceptarea redirecționării ICMP.

# Enable TCP SYN cookie protection
net.ipv4.tcp_syncookies = 1

# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter = 1

# Enable ignoring to ICMP requests and broadcasts request
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Enable logging of spoofed packets, source routed packets and redirect packets
net.ipv4.conf.all.log_martians = 1

# Disable IP source routing
net.ipv4.conf.all.accept_source_route = 0

# Disable ICMP redirect acceptance
net.ipv4.conf.all.accept_redirects = 0

Salvați și închideți fișierul, apoi încărcați fișierul folosind sysctl -pcomanda.

Concluzie

În final, fișierul dvs. ar trebui să arate similar cu acesta.

# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

# Minimizing the amount of swapping
vm.swappiness = 20
vm.dirty_ratio = 80
vm.dirty_background_ratio = 5

# Increases the size of file handles and inode cache & restricts core dumps
fs.file-max = 2097152
fs.suid_dumpable = 0

# Change the amount of incoming connections and incoming connections backlog
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144

# Increase the maximum amount of memory buffers
net.core.optmem_max = 25165824

# Increase the default and maximum send/receive buffers
net.core.rmem_default = 31457280
net.core.rmem_max = 67108864
net.core.wmem_default = 31457280
net.core.wmem_max = 67108864

# Enable TCP SYN cookie protection
net.ipv4.tcp_syncookies = 1

# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter = 1

# Enable ignoring to ICMP requests and broadcasts request
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Enable logging of spoofed packets, source routed packets and redirect packets
net.ipv4.conf.all.log_martians = 1

# Disable IP source routing
net.ipv4.conf.all.accept_source_route = 0

# Disable ICMP redirect acceptance
net.ipv4.conf.all.accept_redirects = 0

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe