Захист і зміцнення ядра CentOS 7 за допомогою Sysctl

Вступ

Sysctlдозволяє користувачеві точно налаштувати ядро ​​без необхідності перебудовувати ядро. Він також негайно застосує зміни, тому сервер не потрібно буде перезавантажувати, щоб зміни вступили в силу. У цьому посібнику наведено короткий вступ sysctlі демонструється, як його використовувати для налаштування окремих частин ядра Linux.

Команди

Щоб почати використовувати sysctl, перегляньте параметри та приклади, наведені нижче.

Параметри

-a : відображаються всі значення, доступні на даний момент в конфігурації sysctl.

-A : Це відобразить усі значення, доступні на даний момент у конфігурації sysctl у вигляді таблиці.

-e : цей параметр ігноруватиме помилки щодо невідомих ключів.

-p : використовується для завантаження певної конфігурації sysctl, за замовчуванням вона буде використовуватися/etc/sysctl.conf

-n : ця опція вимкне відображення назв ключів під час друку значень.

-w : цей параметр призначений для зміни (або додавання) значень до sysctl на вимогу.

Приклади

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

Отже, спочатку ми перевіряємо значення за замовчуванням. Якщо ваш /etc/sysctl.confпорожній, він покаже всі ключі та значення за замовчуванням. По-друге, ми перевіряємо, яке значення fs.file-max, а потім встановлюємо нове значення на 2097152. Нарешті, ми завантажуємо новий /etc/sysctl.confфайл конфігурації.

Якщо вам потрібна додаткова допомога, ви можете скористатися man sysctl.

Закріплення та зміцнення ядра

Щоб зробити зміни постійними, нам доведеться додати ці значення до файлу конфігурації. Використовуйте файл конфігурації, який CentOS надає за замовчуванням, /etc/sysctl.conf.

Відкрийте файл за допомогою улюбленого редактора.

За замовчуванням ви повинні побачити щось подібне.

# 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).

Спочатку покращимо управління системною пам’яттю.

Ми збираємося мінімізувати кількість підкачки, яку нам потрібно зробити, збільшити розмір дескрипторів файлів і кешу inode, а також обмежити дамп ядра.

# 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

Нарешті, ми збираємося покращити загальну безпеку мережі.

Ми збираємося ввімкнути захист файлів cookie TCP SYN, захист від спуфінгу IP, ігнорувати запити ICMP, ігнорувати запити на широкомовну передачу та реєструвати підроблені пакети, вихідні маршрутизовані пакети та пакети перенаправлення. Разом з цим ми збираємося вимкнути маршрутизацію джерела IP і прийняття перенаправлення 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

Збережіть і закрийте файл, а потім завантажте файл за допомогою sysctl -pкоманди.

Висновок

Зрештою, ваш файл повинен виглядати подібно до цього.

# 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

Створення мережі серверів Minecraft за допомогою BungeeCord на Debian 8, Debian 9 або CentOS 7

Створення мережі серверів Minecraft за допомогою BungeeCord на Debian 8, Debian 9 або CentOS 7

Що вам знадобиться Vultr VPS з принаймні 1 Гб оперативної пам’яті. Доступ по SSH (з правами root/адміністратора). Крок 1: Встановлення BungeeCord Перш за все

Підвищте продуктивність за допомогою Z і Zsh на CentOS

Підвищте продуктивність за допомогою Z і Zsh на CentOS

Вступ Робота в системах Linux означає, що ви використовуєте командний рядок частіше, ніж ні. Доводиться вводити довгі імена каталогів знову і знову

Налаштуйте кластер RethinkDB на CentOS 7

Налаштуйте кластер RethinkDB на CentOS 7

Вступ RethinkDB — це база даних NoSQL, яка зберігає дані як документи JSON. Він має надзвичайно інтуїтивно зрозумілу мову запитів і має загальнодоступні функції i

Встановіть DirectAdmin на CentOS 6 або 7

Встановіть DirectAdmin на CentOS 6 або 7

DirectAdmin — це запатентована веб-панель керування, яку можна встановити на своєму сервері, яка пропонує різноманітні функції системного адміністрування. У цьому

Огляд процесу завантаження та усунення несправностей CentOS 7 і RHEL 7

Огляд процесу завантаження та усунення несправностей CentOS 7 і RHEL 7

У цій статті описується процес завантаження систем CentOS/RHEL 7.x. Хоча він може залишатися схожим на попередні випуски, з RHEL 7, systemd є

Встановіть PostgreSQL на CentOS 7

Встановіть PostgreSQL на CentOS 7

Вступ PostgreSQL — це найдосконаліша у світі система управління реляційними базами даних (RDBMS) з відкритим кодом. Він відповідає стандартам ANSI SQL:2008

Основи керування користувачами в системах CentOS

Основи керування користувачами в системах CentOS

Керування користувачами може бути складним завданням: від щоденного обслуговування, ризиків безпеки та відсутності ретельної онлайн-документації. Ця стаття допоможе вам почати

Налаштуйте медіасервер Red5 на CentOS 7

Налаштуйте медіасервер Red5 на CentOS 7

Використання іншої системи? Red5 — це медіасервер із відкритим вихідним кодом, реалізований на Java, який дозволяє запускати багатокористувацькі програми Flash, такі як прямі трансляції

Початкове налаштування сервера CentOS 7

Початкове налаштування сервера CentOS 7

Вступ Нещодавно активований сервер CentOS 7 має бути налаштований, перш ніж його можна буде використовувати як робочу систему. У цій статті найголовніше

Перевірте швидкість Інтернету за допомогою Speedtest-cli на CentOS

Перевірте швидкість Інтернету за допомогою Speedtest-cli на CentOS

Вступ У цьому підручнику встановіть Speedtest-cli, щоб перевірити швидкість мережі вашого сервера. Speedtest-cli — це інтерфейс командного рядка для th

Установіть середовище GUI на CentOS 6

Установіть середовище GUI на CentOS 6

Управління сервером лише за допомогою SSH може бути страшним. Добре для нас те, що у Vultr є параметр View Console. Щоб повністю використовувати консоль Vultrs VNC

Налаштувати часовий пояс і NTP на CentOS 6

Налаштувати часовий пояс і NTP на CentOS 6

Вступ Для адміністраторів серверів важливо правильно встановити та підтримувати час на серверах. Неправильно налаштований час спричинить хаос усередині

Як встановити Foreman на CentOS 7

Як встановити Foreman на CentOS 7

Використання іншої системи? Foreman — це безкоштовний інструмент з відкритим вихідним кодом, який допоможе вам налаштувати та керувати фізичними та віртуальними серверами. Предварня

Захист і зміцнення ядра CentOS 7 за допомогою Sysctl

Захист і зміцнення ядра CentOS 7 за допомогою Sysctl

Вступ Sysctl дозволяє користувачеві точно налаштувати ядро ​​без необхідності перебудовувати ядро. Він також негайно застосує зміни, таким чином сервер виграв

Використовуйте Nethogs для моніторингу використання пропускної здатності мережі

Використовуйте Nethogs для моніторингу використання пропускної здатності мережі

У цьому підручнику ми розглянемо процес встановлення та використання nethogs на CentOS 6x x64. nethogs — це інструмент моніторингу мережі, який дозволяє Networ

Встановіть CentOS Web Panel (CWP) на CentOS 6

Встановіть CentOS Web Panel (CWP) на CentOS 6

CentOS Web Panel або CWP — це панель керування хостингом з відкритим кодом, яка призначена для швидкого та легкого керування сервером. Він включає в себе всі функції o

Налаштуйте Zarafa і Yaffas на CentOS 6

Налаштуйте Zarafa і Yaffas на CentOS 6

Існує багато рішень, які замінюють Microsoft Exchange рішенням для Linux, але в усіх була одна проблема, яка мені дуже не сподобалася. Коли отримаю

Як встановити Apache Maven 3.5 на CentOS 7

Як встановити Apache Maven 3.5 на CentOS 7

Apache Maven — це безкоштовний інструмент управління проектами програмного забезпечення з відкритим вихідним кодом, який широко використовується для розгортання програм на основі Java. Передумови A newl

Як встановити та налаштувати Concourse CI на CentOS 7

Як встановити та налаштувати Concourse CI на CentOS 7

Використання іншої системи? Вступ Постійна інтеграція – це практика розробки програмного забезпечення DevOps, яка дозволяє розробникам часто об’єднувати

Розгортання серверного сервера Glowing Bear на CentOS 7

Розгортання серверного сервера Glowing Bear на CentOS 7

Glowing Bear — це веб-інтерфейс для клієнта WeeChat IRC і прагне бути сучасним інтерфейсом. Завдяки таким функціям, як клік, щоб згадати, замінити смайли

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше