diff --git a/docs/guides/email/02-basic-email-system.uk.md b/docs/guides/email/02-basic-email-system.uk.md index 5a65f0d7c7..ede7e2b740 100644 --- a/docs/guides/email/02-basic-email-system.uk.md +++ b/docs/guides/email/02-basic-email-system.uk.md @@ -183,7 +183,7 @@ Shell(192.168.100.5) > /usr/local/mysql/bin/mysql -u root --password="pkqaXRuTn1 ```sql Mysql > ALTER USER 'root'@'localhost' IDENTIFIED BY 'rockylinux.me'; -Mysql > create user 'mailrl'@'%' identified by 'mail.rockylinux.me'; +Mysql > create user 'mailrl'@'%' identified by 'mail.rockylinux.me'; Mysql > grant all privileges on *.* to 'mailrl'@'%' with grant option; ``` @@ -231,7 +231,7 @@ Mysql > insert into virtual_aliases(id,domain_id,source,destination) values(1,1, Mysql > insert into virtual_aliases(id,domain_id,source,destination) values(2,1,'all@mail.rockylinux.me','leeo@mail.rockylinux.me'); ``` -Записи паролів для відповідних користувачів електронної пошти тут не показані, оскільки для цього потрібно використовувати команду `doveadm pw -s SHA512-crypt -p twotestandtwo`. Перегляньте [тут](#ap1) +Записи паролів для відповідних користувачів електронної пошти тут не показані, оскільки для цього потрібно використовувати команду `doveadm pw -s SHA512-crypt -p twotestandtwo`. #### Знання SHA512 (SHA-2) @@ -374,7 +374,7 @@ mydomain = rockylinux.me myorigin = $myhostname inet_interfaces = 192.168.100.6 inet_protocols = ipv4 -mydestination = +mydestination = biff = no append_dot_mydomain = no smtpd_sasl_type = dovecot @@ -401,7 +401,7 @@ mydomain = rockylinux.me myorigin = $myhostname inet_interfaces = 192.168.100.6 inet_protocols = ipv4 -mydestination = +mydestination = biff = no append_dot_mydomain = no smtpd_sasl_type = dovecot diff --git a/docs/guides/file_sharing/samba_file_share.uk.md b/docs/guides/file_sharing/samba_file_share.uk.md new file mode 100644 index 0000000000..65026f9e11 --- /dev/null +++ b/docs/guides/file_sharing/samba_file_share.uk.md @@ -0,0 +1,101 @@ +--- +title: Спільний доступ до файлів Samba Windows +author: Neel Chauhan +contributors: Steven Spencer +tested_with: 9.4 +tags: + - передача файлів + - windows +--- + +## Вступ + +Якщо ви коли-небудь мали справу з системами Windows, ви, ймовірно, знаєте про SMB (Server Message Block) для обміну файлами. Якщо ви досвідчений адміністратор Linux, швидше за все, ви чули про Samba, але якщо ви ще ні, [Samba](https://www.samba.org/) є де-факто відкритою реалізацією SMB для обмін файлами та доступ до Active Directory з машин Linux до мереж Windows. + +## Встановлення + +Вам потрібно встановити Samba за допомогою `dnf`: + +```bash +dnf install -y samba +``` + +## Налаштування доступу + +По-перше, створіть каталог, яким ви хочете надати спільний доступ клієнтам Windows: + +```bash +mkdir /var/store +``` + +Далі встановіть мітки SELinux у каталозі `/var/store`: + +```bash +semanage fcontext -a -t samba_share_t "/var/store(/.*)?" +restorecon -Rv /var/store +``` + +Замініть `/var/store` на каталог, до якого потрібно надати спільний доступ. + +Тепер налаштуйте Samba: + +```bash +vi /etc/samba/smb.conf +``` + +У файлі `smb.conf` перейдіть униз і вставте наступне: + +```bash +[Share] + path = /var/store + browseable = yes + writable = no + read only = yes + guest ok = yes +``` + +Якщо ви не знаєте про наведені вище параметри, це: + +- `path` це каталог, до якого ми надаємо спільний доступ. Встановіть це у відповідний каталог (`/var/store` у нашому випадку). +- `browseable` дозволяє клієнтам переглядати доступ. Якщо ви хочете заборонити перегляд, встановіть для цього параметра значення `no`. +- `writable` дозволяє клієнтам доступ до запису. Якщо ви бажаєте дозволити доступ для запису, встановіть значення `yes`. +- `read only` позначає спільний ресурс як доступний лише для читання. Якщо ви бажаєте дозволити доступ для запису або виконання, встановіть значення `no`. +- `guest ok` дозволяє дозволити неавтентифікованим користувачам доступ до нашого ресурсу. Якщо ви хочете відмовити гостям, установіть для цього параметра значення «ні». + +Щоб перевірити конфігурацію, ви можете запустити: + +```bash +testparm +``` + +## Увімкнення Samba + +Після перевірки конфігурації, відкрийте порт Samba в `firewall-cmd`: + +```bash +firewall-cmd --permanent --add-service=samba +firewall-cmd --reload +``` + +Далі ви можете ввімкнути Samba: + +```bash +systemctl enable --now smb nmb +``` + +## Доступ до папки Samba + +Ви можете отримати доступ до спільного ресурсу Samba за допомогою такого URI (Примітка: замініть `SERVER_IP` на IP-адресу або FQDN вашої машини, на якій запущено Samba): + +- Windows: `\\SERVER_IP` +- Linux or Mac: `smb://SERVER_IP` + +`SERVER_IP` у домашній мережі автора — `172.20.0.100`, тож хоча інструкції залежать від операційної системи, автор отримає доступ до нового спільного ресурсу зі свого блокнота Fedora 40: + +![Fedora 40 Nautilus showing our Samba Share](../images/samba_nautilus.png) + +Усі файли, доступні на сервері, також доступні на клієнтських машинах. + +## Висновок + +Хоча SMB має репутацію орієнтованого на Microsoft, він є галузевим стандартом, і доступ до спільного ресурсу Samba можна отримати з Linux, Mac, BSD і навіть мобільних пристроїв. Отже, вітаємо, тепер ви ділитеся файлами свого сервера! diff --git a/docs/guides/file_sharing/transmission_daemon.uk.md b/docs/guides/file_sharing/transmission_daemon.uk.md index 56e1c6db96..dad57a74d3 100644 --- a/docs/guides/file_sharing/transmission_daemon.uk.md +++ b/docs/guides/file_sharing/transmission_daemon.uk.md @@ -1,7 +1,7 @@ --- title: Передача BitTorrent Seedbox author: Neel Chauhan -contributors: Steven Spencer +contributors: Steven Spencer, Ganna Zhyrnova tested_with: 9.4 tags: - передача файлів diff --git a/docs/guides/network/librenms_monitoring_server.uk.md b/docs/guides/network/librenms_monitoring_server.uk.md index 42bb9547b4..a5a1c4dbe7 100644 --- a/docs/guides/network/librenms_monitoring_server.uk.md +++ b/docs/guides/network/librenms_monitoring_server.uk.md @@ -42,10 +42,17 @@ dnf install -y epel-release dnf install http://rpms.remirepo.net/enterprise/remi-release-9.rpm ``` +Потім налаштуйте dnf на використання пакетів remi замість звичайних пакетів + +```bash +dnf module reset php +dnf module enable php:8.1 +``` + Після того, як репозиторії EPEL і REMI встановлено, настав час інсталювати пакунки: ```bash -dnf install bash-completion cronie fping git httpd ImageMagick mariadb-server mtr net-snmp net-snmp-utils nmap php81-php-fpm php81-php-cli php81-php-common php81-php-curl php81-php-gd php81-php-json php81-php-mbstring php81-php-process php81-php-snmp php81-php-xml php81-php-zip php81-php-mysqlnd python3 python3-PyMySQL python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip wget +dnf install bash-completion cronie fping git httpd ImageMagick mariadb-server mtr net-snmp net-snmp-utils nmap php-fpm php-cli php-common php-curl php-gd php-gmp php-json php-mbstring php-process php-snmp php-xml php-zip php-mysqlnd python3 python3-PyMySQL python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip wget ``` Усі ці пакети представляють певну частину набору функцій LibreNMS. @@ -58,7 +65,7 @@ dnf install bash-completion cronie fping git httpd ImageMagick mariadb-server mt useradd librenms -d /opt/librenms -M -r -s "$(which bash)" ``` -Ця команда встановлює типовий каталог для користувача на `/opt/librenms`; однак параметр `-M` каже "не створювати каталог". Причина в тому, що це відбувається під час встановлення LibreNMS. `-r` каже зробити цього користувача системним обліковим записом, а `-s` говорить про встановлення оболонки (у цьому випадку на "bash"). +Ця команда встановлює каталог за замовчуванням для користувача на `/opt/librenms`, однак параметр `-M` говорить «не створювати каталог». Причина в тому, що це відбувається під час встановлення LibreNMS. `-r` каже зробити цього користувача системним обліковим записом, а `-s` говорить про встановлення оболонки (у цьому випадку на "bash"). ## Завантаження LibreNMS і встановлення дозволів diff --git a/docs/guides/security/authentication/active_directory_authentication_with_samba.uk.md b/docs/guides/security/authentication/active_directory_authentication_with_samba.uk.md index 23bce848b0..1e2e79f9ca 100644 --- a/docs/guides/security/authentication/active_directory_authentication_with_samba.uk.md +++ b/docs/guides/security/authentication/active_directory_authentication_with_samba.uk.md @@ -1,7 +1,7 @@ --- title: Автентифікація Active Directory за допомогою Samba author: Neel Chauhan -contributors: Steven Spencer +contributors: Steven Spencer, Ganna Zhyrnova tested_with: 9.4 --- diff --git a/docs/guides/security/ssh_ca_key_signing.uk.md b/docs/guides/security/ssh_ca_key_signing.uk.md new file mode 100644 index 0000000000..8b77336d7a --- /dev/null +++ b/docs/guides/security/ssh_ca_key_signing.uk.md @@ -0,0 +1,208 @@ +--- +title: Центри сертифікації SSH і підписування ключів +author: Julian Patocki +contributors: Steven Spencer +tags: + - безпека + - ssh + - keygen + - сертифікати +--- + +## Передумови + +- Вміння використовувати засоби командного рядка +- Керування вмістом з командного рядка +- Попередній досвід створення ключів SSH корисний, але не обов’язковий +- Базове розуміння SSH та інфраструктури відкритих ключів корисне, але не обов’язкове +- Сервер, на якому працює демон sshd. + +## Вступ + +Початкове з’єднання SSH із віддаленим хостом є небезпечним, якщо ви не можете перевірити відбиток ключа віддаленого хосту. Використання центру сертифікації для підпису відкритих ключів віддалених хостів захищає початкове підключення для кожного користувача, який довіряє ЦС. + +ЦС також можна використовувати для підпису SSH-ключів користувача. Замість розповсюдження ключа кожному віддаленому хосту достатньо одного підпису, щоб авторизувати користувача для входу на декілька серверів. + +## Завдання + +- Покращення безпеки підключень SSH. +- Покращення процесу реєстрації та управління ключами. + +## Примітки + +- Vim є текстовим редактором за вибором автора. Допускається використання інших текстових редакторів, наприклад nano або інших. +- Використання `sudo` або `root` передбачає підвищені привілеї. + +## Початкове підключення + +Щоб убезпечити початкове підключення, вам потрібно попередньо знати відбиток ключа. Ви можете оптимізувати та інтегрувати цей процес розгортання для нових хостів. + +Відображення відбитка ключа на віддаленому хості: + +```bash +user@rocky-vm ~]$ ssh-keygen -E sha256 -l -f /etc/ssh/ssh_host_ed25519_key.pub +256 SHA256:bXWRZCpppNWxXs8o1MyqFlmfO8aSG+nlgJrBM4j4+gE no comment (ED25519) +``` + +Створення початкового підключення SSH від клієнта. Ключовий відбиток відображається, і його можна порівняти з попередньо отриманим: + +```bash +[user@rocky ~]$ ssh user@rocky-vm.example.com +The authenticity of host 'rocky-vm.example (192.168.56.101)' can't be established. +ED25519 key fingerprint is SHA256:bXWRZCpppNWxXs8o1MyqFlmfO8aSG+nlgJrBM4j4+gE. +This key is not known by any other names +Are you sure you want to continue connecting (yes/no/[fingerprint])? +``` + +## Створення центру сертифікації + +Створення ЦС (приватного та відкритого ключів) і розміщення відкритого ключа у файлі `known_hosts` клієнта для ідентифікації всіх хостів, що належать до домену example.com: + +```bash +[user@rocky ~]$ ssh-keygen -b 4096 -t ed25519 -f CA +[user@rocky ~]$ echo '@cert-authority *.example.com' $(cat CA.pub) >> ~/.ssh/known_hosts +``` + +Де: + +- **-b**: довжина ключа в байтах +- **-t**: тип ключа: rsa, ed25519, ecdsa... +- **-f**: вихідний файл ключа + +Крім того, ви можете вказати файл `known_hosts` для всієї системи, відредагувавши файл конфігурації SSH `/etc/ssh/ssh_config`: + +```bash +Host * + GlobalKnownHostsFile /etc/ssh/ssh_known_hosts +``` + +## Підписання відкритих ключів + +Створення SSH-ключа користувача та його підписання: + +```bash +[user@rocky ~]$ ssh-keygen -b 4096 -t ed2119 +[user@rocky ~]$ ssh-keygen -s CA -I user -n user -V +55w id_ed25519.pub +``` + +Отримання відкритого ключа сервера через `scp` і його підписання: + +```bash +[user@rocky ~]$ scp user@rocky-vm.example.com:/etc/ssh/ssh_host_ed25519_key.pub . +[user@rocky ~]$ ssh-keygen -s CA -I rocky-vm -n rocky-vm.example.com -h -V +55w ssh_host_ed25519_key.pub +``` + +Де: + +- **-s**: ключ підпису +- **-I**: ім'я, яке ідентифікує сертифікат для цілей реєстрації +- **-n**: ідентифікує ім’я (хост або користувач, один або кілька), пов’язане з сертифікатом (якщо не вказано, сертифікати дійсні для всіх користувачів або хостів) +- **-h**: визначає сертифікат як ключ хоста, на відміну від ключа клієнта +- **-V**: термін дії сертифіката + +## Встановлення довіри + +Копіювання сертифіката віддаленого хоста, щоб віддалений хост представив його разом із відкритим ключем під час підключення до: + +```bash +[user@rocky ~]$ scp ssh_host_ed25519_key-cert.pub root@rocky-vm.example.com:/etc/ssh/ +``` + +Копіювання відкритого ключа ЦС на віддалений хост, щоб він довіряв сертифікатам, підписаним ЦС: + +```bash +[user@rocky ~]$ scp CA.pub root@rocky-vm.example.com:/etc/ssh/ +``` + +Додайте наступні рядки до файлу `/etc/ssh/sshd_config`, щоб указати попередньо скопійований ключ і сертифікат для використання сервером і довірити ЦС для ідентифікації користувачів: + +```bash +[user@rocky ~]$ ssh user@rocky-vm.example.com +[user@rocky-vm ~]$ sudo vim /etc/ssh/sshd_config +``` + +```bash +HostKey /etc/ssh/ssh_host_ed25519_key +HostCertificate /etc/ssh/ssh_host_ed25519_key-cert.pub +TrustedUserCAKeys /etc/ssh/CA.pub +``` + +Перезапуск служби `sshd` на сервері: + +```bash +[user@rocky-vm ~]$ systemctl restart sshd +``` + +## Тестування підключення + +Видалення відбитка пальця віддаленого сервера з вашого файлу `known_hosts` і перевірка налаштувань шляхом встановлення з’єднання SSH: + +```bash +[user@rocky ~]$ ssh-keygen -R rocky-vm.example.com +[user@rocky ~]$ ssh user@rocky-vm.example.com +``` + +## Відкликання ключа + +Відкликання ключів хоста або користувача може мати вирішальне значення для безпеки всього середовища. Таким чином, важливо зберігати раніше підписані відкриті ключі, щоб ви могли відкликати їх пізніше. + +Створення порожнього списку відкликань і відкликання відкритого ключа користувача2: + +```bash +[user@rocky ~]$ sudo ssh-keygen -k -f /etc/ssh/revokation_list.krl +[user@rocky ~]$ sudo ssh-keygen -k -f /etc/ssh/revokation_list.krl -u /path/to/user2_id_ed25519.pub +``` + +Копіювання списку відкликань на віддалений хост і вказівка ​​його у файлі `sshd_config`: + +```bash +[user@rocky ~]$ scp /etc/ssh/revokation_list.krl root@rocky-vm.example.com:/etc/ssh/ +[user@rocky ~]$ ssh user@rocky-vm.example.com +[user@rocky ~]$ sudo vim /etc/ssh/sshd_config +``` + +У наступному рядку вказано список відкликань: + +```bash +RevokedKeys /etc/ssh/revokation_list.krl +``` + +Для перезавантаження конфігурації потрібно перезапустити демон SSHD: + +```bash +[user@rocky-vm ~]$ sudo systemctl restart sshd +``` + +Користувача 2 відхилено сервером: + +```bash +[user2@rocky ~]$ ssh user2@rocky-vm.example.com +user2@rocky-vm.example.com: Permission denied (publickey,gssapi-keyex,gssapi-with-mic). +``` + +Відкликати ключі сервера також можливо: + +```bash +[user@rocky ~]$ sudo ssh-keygen -k -f /etc/ssh/revokation_list.krl -u /path/to/ssh_host_ed25519_key.pub +``` + +Наступні рядки в `/etc/ssh/ssh_config` застосовують список відкликаних хостів для всієї системи: + +```bash +Host * + RevokedHostKeys /etc/ssh/revokation_list.krl +``` + +Спроба підключитися до хосту призводить до наступного: + +```bash +[user@rocky ~]$ ssh user@rocky-vm.example.com +Host key ED25519-CERT SHA256:bXWRZCpppNWxXs8o1MyqFlmfO8aSG+nlgJrBM4j4+gE revoked by file /etc/ssh/revokation_list.krl +``` + +Ведення та оновлення списків відкликань є важливим. Ви можете автоматизувати процес, щоб усі хости та користувачі мали доступ до останніх списків відкликань. + +## Висновок + +SSH є одним із найцінніших протоколів для керування віддаленими серверами. Запровадження центрів сертифікації може бути корисним, особливо у великих середовищах із великою кількістю серверів і користувачів. +Важливо вести списки відкликань. Він легко скасовує зламані ключі, не замінюючи всю критичну інфраструктуру. diff --git a/docs/guides/security/systemd_hardening.uk.md b/docs/guides/security/systemd_hardening.uk.md index 803cc51012..d15e55ed6f 100644 --- a/docs/guides/security/systemd_hardening.uk.md +++ b/docs/guides/security/systemd_hardening.uk.md @@ -1,7 +1,7 @@ --- title: Зміцнення підрозділів Systemd author: Julian Patocki -contributors: Steven Spencer +contributors: Steven Spencer, Ganna Zhyrnova tags: - безпека - systemd diff --git a/docs/guides/troubleshooting/kernel_panic.uk.md b/docs/guides/troubleshooting/kernel_panic.uk.md index 4168629d6f..768448b471 100644 --- a/docs/guides/troubleshooting/kernel_panic.uk.md +++ b/docs/guides/troubleshooting/kernel_panic.uk.md @@ -1,7 +1,7 @@ --- title: Як впоратися з панікою ядра (kernel panic) author: Antoine Le Morvan -contributors: Steven Spencer +contributors: Steven Spencer, Ganna Zhyrnova tested_with: 9.4 tags: - kernel diff --git a/docs/guides/web/caddy.uk.md b/docs/guides/web/caddy.uk.md index a702d6a269..26aef3e8b7 100644 --- a/docs/guides/web/caddy.uk.md +++ b/docs/guides/web/caddy.uk.md @@ -160,10 +160,10 @@ systemctl enable --now caddy dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm ``` -Далі нам потрібно встановити PHP (примітка: якщо ви використовуєте іншу версію PHP, замініть потрібну версію на php81): +Далі нам потрібно встановити PHP (примітка: якщо ви використовуєте іншу версію PHP, замініть потрібну версію на php83): ```bash -dnf install -y php81-php-fpm +dnf install -y php83-php-fpm ``` Якщо вам потрібні додаткові модулі PHP (наприклад, GD), додайте їх до наведеної вище команди. @@ -171,13 +171,13 @@ dnf install -y php81-php-fpm Потім нам потрібно налаштувати PHP для прослуховування TCP-сокета: ```bash -vim /etc/opt/remi/php81/php-fpm.d/www.conf +vim /etc/opt/remi/php83/php-fpm.d/www.conf ``` Далі знайдіть рядок: ```bash -listen = /var/opt/remi/php81/run/php-fpm/www.sock +listen = /var/opt/remi/php83/run/php-fpm/www.sock ``` Замініть його цим: