diff --git a/docs/books/learning_ansible/01-basic.de.md b/docs/books/learning_ansible/01-basic.de.md index 450707d176..e2ec25564c 100644 --- a/docs/books/learning_ansible/01-basic.de.md +++ b/docs/books/learning_ansible/01-basic.de.md @@ -126,7 +126,7 @@ $ python3 --version Python 3.6.8 ``` -Beachten Sie, dass Ansible mit einer eigenen Python-Version geliefert wird, die sich von der Systemversion (hier 3.11.2 gegenüber 3.6.8) unterscheidet. Sie müssen dies berücksichtigen, wenn Sie die für Ihre Installation erforderlichen Python-Module per PIP installieren (z. B. `pip3.11 install PyVMomi`). +Beachten Sie, dass Ansible mit einer eigenen Python-Version geliefert wird, die sich von der Systemversion (hier 3.11.2 gegenüber 3.6.8) unterscheidet. Sie müssen dies berücksichtigen, wenn Sie die für Ihre Installation erforderlichen Python-Module per PIP installieren (z.B., `pip3.11 install PyVMomi`). ### Installation über python pip @@ -270,7 +270,7 @@ Wechseln Sie zur Default-Inventardatei, die sich unter `/etc/ansible/hosts` befi ## db-[99:101]-node.example.com ``` -Wie Sie feststellen können, verwendet die als Beispiel bereitgestellte Datei das INI-Format, das bei Systemadministratoren gut bekannt ist. Beachten Sie, dass Sie ein anderes Dateiformat wählen können (z. B. Yaml), aber für erste Tests passt das INI-Format gut in den nächsten Beispiele. +Wie Sie feststellen können, verwendet die als Beispiel bereitgestellte Datei das INI-Format, das bei Systemadministratoren gut bekannt ist. Beachten Sie, dass Sie ein anderes Dateiformat wählen können (z.B., Yaml), aber für erste Tests passt das INI-Format gut in den nächsten Beispielen. Das Inventar kann automatisch in der Produktion generiert werden, insbesondere wenn Sie über eine Virtualisierungsumgebung wie VMware VSphere oder eine Cloud-Umgebung (AWS, OpenStack oder andere) verfügen. @@ -449,7 +449,9 @@ SSH password: !!! tip "Hinweis" - If you get this error `"msg": "to use the 'ssh' connection type with passwords, you must install the sshpass program"`, you can just install `sshpass` on the management station: + Wenn Sie folgende Fehlermeldung erhalten: + `"msg": "to use the 'ssh' connection type with passwords, you must install the sshpass program"`, + installieren Sie einfach `sshpass` auf der Verwaltungstation: ``` $ sudo dnf install sshpass diff --git a/docs/books/nvchad/plugins/md_preview.fr.md b/docs/books/nvchad/plugins/md_preview.fr.md index f41bf12d87..ba7c0fb039 100644 --- a/docs/books/nvchad/plugins/md_preview.fr.md +++ b/docs/books/nvchad/plugins/md_preview.fr.md @@ -29,7 +29,7 @@ Si vous avez également installé le [Template Chadrc](../template_chadrc.md) ce !!! warning "Avertissement" - Le serveur de langage **doit** être installé avant de procéder à l'installation du plugiciel. Sinon, l'installation échouera et il sera nécessaire de supprimer le code contenu dans **/custom/plugins.ua**, effectuer un nettoyage de configuration en éditant `Lazy` et en tapant X pour supprimer le plugin puis répéter la procédure d'installation. + Le serveur de langage **doit** être installé avant de procéder à l'installation du plugiciel. Sinon, l'installation échouera et il sera nécessaire de supprimer le code contenu dans **/custom/plugins.lua**, effectuer un nettoyage de configuration en éditant `Lazy` et en tapant X pour supprimer le plugin puis répéter la procédure d'installation. Pour installer le plugiciel, vous devrez éditer le fichier **/custom/plugins.lua** en ajoutant le bloc de code suivant : @@ -55,11 +55,11 @@ Pour installer le plugiciel, vous devrez éditer le fichier **/custom/plugins.lu }, ``` -Une fois que vous avez enregistré le fichier, vous pouvez effectuer son installation en ouvrant l'interface du gestionnaire de plugiciels avec la commande `:Lazy`. Le gestionnaire de plugiciels l'aura déjà reconnu automatiquement et vous permettra de l'installer en tapant I. +Une fois que vous avez enregistré le fichier, vous pouvez effectuer son installation en ouvrant l'interface du gestionnaire de plugiciels avec la commande `:Lazy`. Le gestionnaire de plugiciels l'aura déjà reconnu automatiquement et vous permettra de l'installer en tapant ++I++. Pour obtenir toutes les fonctionnalités, cependant, vous devez fermer NvChad (*nvim*) et le relancer. Ceci permet à l'éditeur de charger ceux de **Peek** dans la configuration. -Sa configuration inclut déjà la commande pour l'activer `op` qui, sur le clavier, se traduit par Espace + o suivi de p. +Sa configuration inclut déjà la commande pour l'activer `op` qui, sur le clavier, se traduit par ++space++ + ++o++ suivi de ++p++. ![Peek](./images/peek_command.png) @@ -98,7 +98,7 @@ Comme pour le plugiciel précédent, vous devrez relancer l'éditeur pour permet Cependant, les options doivent être modifiées pour correspondre à la configuration de `lazy.nvim`, en particulier l'option indiquée dans cet exemple : ```lua -vim.g.mkdp_theme = 'dark' +vim.g.mkdp_theme = "dark" ``` Elle correspond à l'option décrite sur le site du projet en tant que : @@ -115,9 +115,8 @@ let g:mkdp_browser = '/usr/bin/chromium-browser' Pour interpréter correctement cela dans NvChad, il devra être modifié en remplaçant `let g:` par `vim.g.`. - ```lua -vim.g.mkdp_browser = '/usr/bin/chromium-browser' +vim.g.mkdp_browser = "/usr/bin/chromium-browser" ``` De cette façon, la prochaine fois que NvChad sera lancé, le `navigateur chromium-` sera utilisé indépendamment du navigateur par défaut du système. @@ -127,14 +126,14 @@ La configuration fournit également les commandes `:MarkdownPreview` et `:Markdo ```lua -- binding for Markdown Preview M.mdpreview = { - n = { - ["mp"] = { " MarkdownPreview", "Open Preview"}, - ["mc"] = { " MarkdownPreviewStop", "Close Preview"}, + n = { + ["mp"] = { " MarkdownPreview", "Open Preview" }, + ["mc"] = { " MarkdownPreviewStop", "Close Preview" }, }, } ``` -Cela vous permettra d'ouvrir l'aperçu markdown en tapant Enter + m suivi de p et de le fermer avec la combinaison Enter + m suivie de c. +Cela vous permettra d'ouvrir l'aperçu markdown en tapant ++enter++ + ++m++ suivi de ++p++ et de le fermer avec la combinaison ++enter++ + ++m++ suivie de ++c++. !!! note "Remarque" @@ -142,7 +141,7 @@ Cela vous permettra d'ouvrir l'aperçu markdown en tapant Enter + tripwire_report.txt @@ -564,9 +564,9 @@ SYNOPSIS ### Для перегляду звітів електронною поштою -Тут ви перевірите роботу електронної пошти tripwire. Система сповіщень електронною поштою Tripwire використовує налаштування, указані у файлі конфігурації tripwire. (twcfg.txt). +Тут ви перевірите роботу електронної пошти Tripwire. Система сповіщень електронною поштою Tripwire використовує налаштування, указані у файлі конфігурації Tripwire. (twcfg.txt). -1. Спочатку перегляньте файл конфігурації та запам’ятайте змінну(-и), яка керує системою сповіщень електронною поштою tripwire. Щоб переглянути тип файлу конфігурації: +1. Спочатку перегляньте файл конфігурації та запам’ятайте змінну(-и), яка керує системою сповіщень електронною поштою Tripwire. Щоб переглянути тип файлу конфігурації: ```bash [root@localhost report]# twadmin -m f | less @@ -607,11 +607,11 @@ SYNOPSIS Яка команда для цього? -### Тонка настройка tripwire +### Тонка настройка Tripwire -Після інсталяції tripwire, створення знімка системи та запуску першої перевірки цілісності вам, швидше за все, знадобиться точно налаштувати tripwire відповідно до потреб вашого конкретного середовища. Це здебільшого тому, що файл конфігурації та політики за замовчуванням, який постачається разом із tripwire, може не зовсім відповідати вашим потребам або не відображати фактичні об’єкти у вашій файловій системі. +Після інсталяції Tripwire, створення знімка системи та запуску першої перевірки цілісності вам, швидше за все, знадобиться точно налаштувати tripwire відповідно до потреб вашого конкретного середовища. Це здебільшого тому, що файл конфігурації та політики за замовчуванням, який постачається разом із tripwire, може не зовсім відповідати вашим потребам або не відображати фактичні об’єкти у вашій файловій системі. -Вам потрібно з’ясувати, чи є порушення файлової системи, про які повідомляється у файлі звіту під час перевірки цілісності, фактичними порушеннями чи законними/авторизованими змінами об’єктів вашої файлової системи. Знову ж таки, tripwire пропонує кілька способів зробити це. +Вам потрібно з’ясувати, чи є порушення файлової системи, про які повідомляється у файлі звіту під час перевірки цілісності, фактичними порушеннями чи законними/авторизованими змінами об’єктів вашої файлової системи. Знову ж таки, Tripwire пропонує кілька способів зробити це. ### Оновлення файлу політики @@ -621,7 +621,7 @@ SYNOPSIS Це допоможе значно скоротити довжину файлу звіту, яким потрібно керувати. -#### Для точного налаштування tripwire +#### Для точного налаштування Tripwire 1. Використовуйте команду grep, щоб відфільтрувати всі рядки у файлі звіту, які посилаються на відсутні файли (тобто Рядки, що містять слово «Ім’я файлу»). Перенаправте вихід в інший файл - tripwire_diffs.txt. Впишіть: @@ -655,7 +655,7 @@ SYNOPSIS [root@localhost root]# twadmin --print-polfile > twpol.txt ``` -4. Відредагуйте створений вище текстовий файл за допомогою будь-якого текстового редактора. Закоментуйте посилання на об’єкти, які ви не хочете контролювати; ви можете використовувати файл tripwire_diffs.txt, який ви створили раніше, як орієнтир. Впишіть: +4. Відредагуйте створений вище текстовий файл за допомогою будь-якого текстового редактора. Закоментуйте посилання на об’єкти, які ви не хочете контролювати. Ви можете використовувати створений раніше файл tripwire_diffs.txt як орієнтир. Впишіть: ```bash [root@localhost root]# vi twpol.txt @@ -663,7 +663,7 @@ SYNOPSIS Збережіть зміни у файлі та закрийте його. -5. Запустіть tripwire у режимі оновлення файлу політики. Впишіть: +5. Запустіть `tripwire` у режимі оновлення файлу політики. Впишіть: ```bash [root@localhost root]# tripwire --update-policy /root/twpol.txt @@ -691,13 +691,13 @@ SYNOPSIS ### Оновлення бази даних -Запуск tripwire у режимі оновлення бази даних після перевірки цілісності забезпечує швидкий і брудний спосіб точного налаштування tripwire. Це пояснюється тим, що режим оновлення бази даних дозволяє узгодити будь-які відмінності між базою даних і поточною системою. Це дозволить запобігти відображенню порушень у майбутніх звітах. +Запуск `tripwire` у режимі оновлення бази даних після перевірки цілісності забезпечує швидкий і брудний спосіб точного налаштування Tripwire. Це пояснюється тим, що режим оновлення бази даних дозволяє узгодити будь-які відмінності між базою даних і поточною системою. Це дозволить запобігти відображенню порушень у майбутніх звітах. Цей процес оновлення економить час, дозволяючи оновлювати базу даних без необхідності її повторно ініціалізувати. #### Для оновлення бази даних -1. Змініть свій pwd на місце, де tripwire зберігає файли звітів у вашій системі. Впишіть: +1. Змініть свій pwd на місце, де Tripwire зберігає файли звітів у вашій системі. Впишіть: ```bash [root@localhost root]# cd /var/lib/tripwire/report/ @@ -819,7 +819,7 @@ SYNOPSIS 7. Перевірте своє нове налаштування. Від’єднайте USB-накопичувач і вийміть його. -8. Спробуйте запустити одну з команд tripwire, для якої потрібні файли, збережені на дисководі. Впишіть: +8. Спробуйте запустити одну з команд `tripwire`, для якої потрібні файли, збережені на дисководі. Впишіть: ```bash [root@localhost tripwire]# twadmin --print-polfile @@ -839,13 +839,13 @@ SYNOPSIS Ви повинні отримати помилку, подібну до наведеної вище. -9. Підключіть носій, де зберігаються ваші файли tripwire, і повторіть команду вище. +9. Підключіть носій, де зберігаються ваші файли Tripwire, і повторіть команду вище. !!! question "Питання" Команда виконана успішно цього разу? -10. Знайдіть і видаліть усі звичайні текстові версії конфігураційних файлів tripwire, які ви створили на даний момент у своїй системі. +10. Знайдіть і видаліть усі звичайні текстові версії конфігураційних файлів Tripwire, які ви створили на даний момент у своїй системі. Необхідність монтувати та демонтувати знімний носій кожного разу, коли ви хочете адмініструвати аспект tripwire, може бути ускладненням, але винагородою може бути додаткова безпека. Ви точно захочете зберегти незайману версію бази даних tripwire на носії лише для читання, такому як DVD. diff --git a/docs/labs/security/lab8-iptables.uk.md b/docs/labs/security/lab8-iptables.uk.md index 5ec9bc8aa4..4a399388c3 100644 --- a/docs/labs/security/lab8-iptables.uk.md +++ b/docs/labs/security/lab8-iptables.uk.md @@ -30,26 +30,25 @@ Title: Лабораторна робота 8 - iptables author: Wale Soyinka con У більшості ядер Linux визначено три незалежні таблиці. Таблиці в будь-який час залежать від параметрів конфігурації ядра та наявних модулів. Існують наступні таблиці: -* filter: Це основна таблиця та таблиця за замовчуванням (якщо параметр -t не передано). Він містить вбудовані ланцюжки: +- filter: Це основна таблиця та таблиця за замовчуванням (якщо параметр -t не передано). Він містить вбудовані ланцюжки: - * **INPUT** (для пакетів, що надходять у саму коробку) - * **FORWARD** (для пакетів, що направляються через ящик) - * **OUTPUT** (для локально згенерованих пакетів). + - **INPUT** (для пакетів, що надходять у саму коробку) + - **FORWARD** (для пакетів, що направляються через ящик) + - **OUTPUT** (для локально згенерованих пакетів). -* nat: До цієї таблиці звертаються, коли зустрічається пакет, який створює нове з’єднання. Він складається з наступних трьох вбудованих ланцюжків: +- nat: До цієї таблиці звертаються, коли зустрічається пакет, який створює нове з’єднання. Він складається з наступних трьох вбудованих ланцюжків: - * **PREROUTING** (для зміни пакетів, щойно вони надходять) - * **OUTPUT** (для зміни локально згенерованих пакетів перед маршрутизацією) - * **POSTROUTING** (для зміни пакетів, коли вони збираються вийти) + - **PREROUTING** (для зміни пакетів, щойно вони надходять) + - **OUTPUT** (для зміни локально згенерованих пакетів перед маршрутизацією) + - **POSTROUTING** (для зміни пакетів, коли вони збираються вийти) -* mangle: Ця таблиця використовується для спеціалізованої зміни пакетів. Вона має наступні 5 вбудованих ланцюгів: - - * **PREROUTING** (для зміни вхідних пакетів перед маршрутизацією) - * **OUTPUT** (для зміни локально згенерованих пакетів перед маршрутизацією) - * **INPUT** (для пакетів, що надходять у саму коробку) - * **FORWARD** (для зміни пакетів, що направляються через ящик) - * **POSTROUTING** (для зміни пакетів, коли вони збираються вийти) +- mangle: Ця таблиця використовується для спеціалізованої зміни пакетів. Вона має наступні 5 вбудованих ланцюгів: + - **PREROUTING** (для зміни вхідних пакетів перед маршрутизацією) + - **OUTPUT** (для зміни локально згенерованих пакетів перед маршрутизацією) + - **INPUT** (для пакетів, що надходять у саму коробку) + - **FORWARD** (для зміни пакетів, що направляються через ящик) + - **POSTROUTING** (для зміни пакетів, коли вони збираються вийти) ### CHAINS (ЛАНЦЮГИ) @@ -57,11 +56,11 @@ Title: Лабораторна робота 8 - iptables author: Wale Soyinka con ### TARGETS (ЦІЛІ) -Правило брандмауера визначає критерії для пакета та цілі. Якщо пакет не збігається, перевіряється наступне правило в ланцюжку; якщо воно збігається, то наступне правило вказується значенням цілі, яке може бути назвою визначеного користувачем ланцюжка або одним із спеціальних значень ACCEPT, DROP, QUEUE або RETURN. +Правило брандмауера визначає критерії для пакета та цілі. Якщо пакет не збігається, перевіряється наступне правило в ланцюжку; якщо воно збігається, то наступне правило вказується значенням цілі, яке може бути назвою визначеного користувачем ланцюжка або одним із спеціальних значень ACCEPT, DROP, QUEUE або RETURN. -``` +```bash -Usage: iptables -[ACD] chain rule-specification [options] +Використання: iptables -[ACD] chain rule-specification [options] iptables -I chain [rulenum] rule-specification [options] iptables -R chain rulenum rule-specification [options] iptables -D chain rulenum [options] @@ -72,61 +71,61 @@ Usage: iptables -[ACD] chain rule-specification [options] iptables -P chain target [options] iptables -h (print this help information) -Commands: -Either long or short options are allowed. - --append -A chain Append to chain - --check -C chain Check for the existence of a rule - --delete -D chain Delete matching rule from chain +Команди: +Допускаються як довгі, так і короткі варіанти. + --append -A chain Append to chain + --check -C chain Check for the existence of a rule + --delete -D chain Delete matching rule from chain --delete -D chain rulenum - Delete rule rulenum (1 = first) from chain + Delete rule rulenum (1 = first) from chain --insert -I chain [rulenum] - Insert in chain as rulenum (default 1=first) + Insert in chain as rulenum (default 1=first) --replace -R chain rulenum - Replace rule rulenum (1 = first) in chain + Replace rule rulenum (1 = first) in chain --list -L [chain [rulenum]] - List the rules in a chain or all chains + List the rules in a chain or all chains --list-rules -S [chain [rulenum]] - Print the rules in a chain or all chains - --flush -F [chain] Delete all rules in chain or all chains + Print the rules in a chain or all chains + --flush -F [chain] Delete all rules in chain or all chains --zero -Z [chain [rulenum]] - Zero counters in chain or all chains - --new -N chain Create a new user-defined chain + Zero counters in chain or all chains + --new -N chain Create a new user-defined chain --delete-chain - -X [chain] Delete a user-defined chain + -X [chain] Delete a user-defined chain --policy -P chain target - Change policy on chain to target + Change policy on chain to target --rename-chain -E old-chain new-chain Change chain name, (moving any references) -Options: - --ipv4 -4 Nothing (line is ignored by ip6tables-restore) - --ipv6 -6 Error (line is ignored by iptables-restore) -[!] --protocol -p proto protocol: by number or name, eg. `tcp' -[!] --source -s address[/mask][...] - source specification +Опції: + --ipv4 -4 Nothing (line is ignored by ip6tables-restore) + --ipv6 -6 Error (line is ignored by iptables-restore) +[!] --protocol -p proto protocol: by number or name, eg. `tcp' +[!] --source -s address[/mask][...] + source specification [!] --destination -d address[/mask][...] - destination specification + destination specification [!] --in-interface -i input name[+] - network interface name ([+] for wildcard) + network interface name ([+] for wildcard) --jump -j target - target for rule (may load target extension) + target for rule (may load target extension) --goto -g chain - jump to chain with no return - --match -m match - extended match (may load extension) - --numeric -n numeric output of addresses and ports + jump to chain with no return + --match -m match + extended match (may load extension) + --numeric -n numeric output of addresses and ports [!] --out-interface -o output name[+] - network interface name ([+] for wildcard) - --table -t table table to manipulate (default: `filter') - --verbose -v verbose mode - --wait -w [seconds] maximum wait to acquire xtables lock before give up - --line-numbers print line numbers when listing - --exact -x expand numbers (display exact values) -[!] --fragment -f match second or further fragments only - --modprobe= try to insert modules using this command - --set-counters -c PKTS BYTES set the counter during insert/append -[!] --version -V print package version. + network interface name ([+] for wildcard) + --table -t table table to manipulate (default: `filter') + --verbose -v verbose mode + --wait -w [seconds] maximum wait to acquire xtables lock before give up + --line-numbers print line numbers when listing + --exact -x expand numbers (display exact values) +[!] --fragment -f match second or further fragments only + --modprobe= try to insert modules using this command + --set-counters -c PKTS BYTES set the counter during insert/append +[!] --version -V print package version. ``` @@ -142,31 +141,31 @@ Options: 1. Увійшовши як суперкористувач, перегляньте всі правила в таблиці фільтрів. Впишіть: - ``` + ```bash [root@serverXY root]# iptables -L ``` -2. Щоб переглянути більш докладний вихід, введіть: +2. Щоб переглянути більш докладний вихід, введіть: - ``` + ```bash [root@serverXY root]# iptables -L -v ``` -3. Відобразити лише правила в ланцюжку INPUT. Впишіть: +3. Відобразити лише правила в ланцюжку INPUT. Впишіть: - ``` + ```bash [root@serverXY root]# iptables -v -L INPUT ``` -4. Покажіть усі правила під таблицею. Впишіть: +4. Покажіть усі правила під таблицею. Впишіть: - ``` + ```bash [root@serverXY root]# iptables -L -t mangle ``` -5. Відобразіть усі правила під таблицею nat. Впишіть: +5. Відобразіть усі правила під таблицею nat. Впишіть: - ``` + ```bash [root@serverXY root]# iptables -L -t nat ``` @@ -174,21 +173,21 @@ Options: 1. Очистіть (або видаліть) усі правила, які «можливо» зараз завантажено. Впишіть: - ``` + ```bash [root@serverXY root]# iptables --flush ``` #### Для створення власних ланцюжків -1. Створіть свій власний ланцюжок і назвіть його «mychain». Впишіть: +1. Створіть свій власний ланцюжок і назвіть його «mychain». Впишіть: - ``` + ```bash [root@serverXY root]# iptables -N mychain ``` 2. Перелічіть правила під створеним вище ланцюжком. Впишіть: - ``` + ```bash [root@serverXY root]# iptables -L mychain Chain mychain (0 references) @@ -200,21 +199,23 @@ Options: 1. Спочатку спробуйте видалити вбудований ланцюжок INPUT. Впишіть: - ``` + ```bash [root@serverXY root]# iptables -X INPUT ``` - Яким був ваш результат? + !!! question "Питання" + + Яким був ваш результат? 2. Далі спробуйте видалити ланцюжок, який ви створили вище. Впишіть: - ``` + ```bash [root@serverXY root]# iptables -X mychain ``` -3. Спробуйте знову перерахувати правила в ланцюжку, який ви щойно видалили. Впишіть: +3. Спробуйте знову перерахувати правила в ланцюжку, який ви щойно видалили. Впишіть: - ``` + ```bash [root@serverXY root]# iptables -L mychain ``` @@ -228,7 +229,7 @@ Options: 1. Перш ніж почати, переконайтеся, що ви можете пінгувати вашу партнерську систему і що ваша партнерська система може надто успішно пінгувати вас. Впишіть: - ``` + ```bash [root@serverXY root]# ping -c 2 serverPR @@ -240,15 +241,15 @@ Options: ............................................... ``` -2. Очистіть усі існуючі правила. Впишіть: +2. Очистіть усі існуючі правила. Впишіть: - ``` + ```bash [root@serverXY root]# iptables -F ``` 3. Створіть правило, щоб заборонити всі вихідні пакети типу icmp до будь-якого пункту призначення. Впишіть: - ``` + ```bash [root@serverXY root]# iptables -A OUTPUT -o eth0 -p icmp -j DROP ``` @@ -256,7 +257,7 @@ Options: 4. Перевірте дію свого правила, спробувавши перевірити serverPR. Впишіть: - ``` + ```bash [root@serverXY root]# ping -c 2 serverPR PING serverPR (10.0.5.8) 56(84) bytes of data. @@ -266,9 +267,9 @@ Options: ping: sendmsg: Operation not permitted ``` -5. Перегляньте щойно створене правило. Впишіть: +5. Перегляньте щойно створене правило. Впишіть: - ``` + ```bash [root@serverXY root]# iptables -vL OUTPUT Chain OUTPUT (policy ACCEPT 21221 packets, 2742K bytes) @@ -278,11 +279,15 @@ Options: 93 7812 DROP icmp -- any eth0 anywhere anywhere ``` -6. Очистіть усі правила та повторіть команду ping з обох систем. Успіх чи невдача? +6. Очистіть усі правила та повторіть команду ping з обох систем. + + !!! question "Питання" + + Успіх чи невдача? 7. Тепер створіть ще одне правило, яке видалятиме пакети icmp, які надходять із певної небажаної IP-адреси (наприклад, 172.16.0.44). Впишіть: - ``` + ```bash [root@serverXY root]# iptables -A INPUT -i eth0 -p icmp --source 172.16.0.44 -j DROP ``` @@ -292,7 +297,7 @@ Options: 9. Замість того, щоб скидати всі правила у ваших таблицях. Видаліть лише правило, яке ви створили вище. Для цього потрібно знати номер правила. Щоб дізнатися тип номера правила: - ``` + ```bash [root@serverXY root]# iptables -vL INPUT --line-numbers Chain INPUT (policy ACCEPT 31287 packets, 9103K bytes) @@ -307,7 +312,7 @@ Options: 10. Використовуючи номер рядка, який відповідає правилу, яке потрібно видалити, ви можете видалити певне правило (рядок номер 1) у ланцюжку INPUT, виконавши: - ``` + ```bash [root@serverXY root]# iptables -D INPUT 1 ``` @@ -321,7 +326,7 @@ Options: 1. Запустіть ftp-сервер, який ви налаштували та ввімкнули в одній із попередніх лабораторних робіт. Впишіть: - ``` + ```bash [root@serverXY root]# *service vsftpd restart* Shutting down vsftpd: [ OK ] @@ -331,9 +336,9 @@ Options: 2. Попросіть свого партнера спробувати увійти на ваш ftp-сервер як анонімний користувач. Переконайтеся, що ваш партнер може успішно ввійти в систему з serverPR - зробіть це *перед* переходом до наступного кроку. -3. Поки ваш партнер ще ввійшов у систему, створіть правило, щоб вимкнути весь трафік типу ftp, що надходить із serverPR. Впишіть: +3. Поки ваш партнер ще ввійшов у систему, створіть правило, щоб вимкнути весь трафік типу ftp, що надходить із serverPR. Впишіть: - ``` + ```bash [root@serverXY root]# iptables -A INPUT -i eth0 -s 172.16.0.z -p tcp --dport 21 -j DROP* ``` @@ -341,13 +346,21 @@ Options: 4. Щойно ви виконаєте наведену вище команду, стек netfilter негайно введе її в дію. Щоб побачити це, попросіть свого партнера спробувати будь-які ftp-команди, залишаючись на вашому ftp-сервері - напр. `ls`. Успіх чи невдача? - Якщо це не вдасться, попросіть свого партнера спробувати від’єднатися та знову ввійти з нуля. Успіх чи невдача? + !!! Успіх чи невдача? + + Успіх чи невдача? + + Якщо це не вдасться, попросіть свого партнера спробувати від’єднатися та увійти з нуля, а потім знову перевірте, чи вдалося. -5. Попросіть іншу особу, яка НЕ є вашим партнером, спробувати анонімно увійти на ваш ftp-сервер. Ви також можете попросити когось із hq.example.org спробувати підключитися до вашого ftp-сайту. Успіх чи невдача? +5. Попросіть іншу особу, яка НЕ є вашим партнером, спробувати анонімно увійти на ваш ftp-сервер. Ви також можете попросити когось із hq.example.org спробувати підключитися до вашого ftp-сайту. + + !!! question "Питання" + + Успіх чи невдача? -6. Увімкніть і запустіть веб-сервер на serverXY. +6. Увімкніть і запустіть веб-сервер на serverXY. -7. Переконайтеся, що інші люди можуть відвідувати ваш веб-сайт за допомогою браузера. Створіть правило для блокування трафіку http від hq.example.org до вашої локальної машини. +7. Переконайтеся, що інші люди можуть відвідувати ваш веб-сайт за допомогою браузера. Створіть правило для блокування трафіку http від hq.example.org до вашої локальної машини. ### Завдання 3 @@ -377,7 +390,6 @@ v. Інтерфейс eth1 має IP-адресу 10.0.0.z з маскою ме vi. Що ви успішно пройшли «Лабораторну роботу 2» і зрозуміли основні концепції в ній. - ServerPR Про систему вашого партнера зроблено наступні припущення. @@ -396,35 +408,39 @@ iv. Що ви успішно пройшли «Лабораторну робот #### Щоб створити правило переадресації -1. Переконайтеся, що ваша мережа фізично підключена так само, як показано на малюнку вище. +1. Переконайтеся, що ваша мережа фізично підключена так само, як показано на малюнку вище. 2. Призначте всім інтерфейсам відповідні параметри IP-адреси, маски мережі та шлюзу. -3. Очистіть усі правила iptables, які ви зараз завантажили. +3. Очистіть усі правила iptables, які ви зараз завантажили. !!! note "Примітка" Очищення таблиць не завжди є необхідним або обов'язковим. Можливо, ви помітили, що на початку деяких виконаних вправ ми вказали, що ви очищаєте існуючі таблиці. Це гарантує, що ви починаєте з чистого аркуша і що у вас немає помилкових правил, які ховаються десь у ваших таблицях, які можуть спричинити неправильну роботу. Зазвичай у вас можуть бути завантажені сотні правил одночасно, які виконують різні функції. -4. Попросіть свого партнера в serverPR спробувати перевірити ping 172.16.0.100 (hq.example.org), це має завершитися невдачею, тому що ви зараз працюєте як шлюз за замовчуванням serverPR і ви ще *не* ще ввімкнули маршрутизацію у своїй системі. +4. Попросіть свого партнера в serverPR спробувати перевірити ping 172.16.0.100 (hq.example.org), це має завершитися невдачею, тому що ви зараз працюєте як шлюз за замовчуванням serverPR і ви ще *не* ще ввімкнули маршрутизацію у своїй системі. -5. Як root на serverXY тип: +5. Як root на serverXY тип: - ``` + ```bash [root@serverXY root]# *iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE* ``` -6. Тепер знову повторіть крок 4. Успіх чи невдача? +6. Тепер знову повторіть крок 4. -7. Вищезазначене повинно було вийти з ладу. Вам також потрібно ввімкнути пересилання пакетів у запущеному ядрі. Впишіть: + !!! question "Питання" + + Все вийшло? - ``` +7. Вищезазначене повинно було вийти з ладу. Вам також потрібно ввімкнути пересилання пакетів у запущеному ядрі. Впишіть: + + ```bash [root@serverXY root]# *echo 1 > /proc/sys/net/ipv4/ip_forward* ``` -8. Щоб зробити вказані вище зміни в ядрі постійними між перезавантаженнями, створіть запис нижче у вашому файлі “/etc/sysctl.conf”: +8. Щоб зробити вказані вище зміни в ядрі постійними між перезавантаженнями, створіть запис нижче у вашому файлі “/etc/sysctl.conf”: - ``` + ```bash net.ipv4.ip_forward = 0 ``` @@ -436,31 +452,28 @@ iv. Що ви успішно пройшли «Лабораторну робот 1. Використовуйте команду `iptables-save`, щоб зберегти всі зміни у файлі /etc/sysconfig/iptables. Впишіть: - ``` + ```bash [root@serverXY root]# *iptables-save > /etc/sysconfig/iptables* ``` - !!! tip "Підказка" Ви обмежені тим, що ви можете з `iptables` тільки вашою уявою. Ми ледь подряпали поверхню в цій роботі. Сподіваємось, ми достатньо подряпали поверхню, щоб дозволити вашій уяві розквітнути. -# Додаткові питання - -1. Яка опція потрібна, щоб отримати докладнішу версію цієї команди *iptables -L -t nat*? +## Додаткові питання -2. Яка команда для відображення правил у ланцюжку OUTPUT? +Ось кілька додаткових способів вивчення `iptables`: -3. Який порт «звичайно» прослуховує служба ftp? +!!! question "Запитання і завдання:" -4. Яка команда для створення ланцюжка під назвою “mynat-chain” у таблиці nat? + 1. Який параметр потрібен, щоб отримати більш докладну версію цієї команди *iptables -L -t nat*? -5. Дослідіть в Інтернеті та перелічіть назви деяких простіших у використанні інструментів або програм, які можна використовувати для керування підсистемою брандмауера в системах на базі Linux. + 2. Яка команда для відображення правил у ланцюжку OUTPUT? -6a. Створіть правило `iptables`, щоб заблокувати http-трафік від hq.example.org до вашої локальної машини. + 3. Який порт «звичайно» прослуховує служба ftp? -6b. Який добре відомий порт прослуховують веб-сервери? + 4. Яка команда для створення ланцюжка під назвою “mynat-chain” у таблиці nat? -6c. Запишіть повну команду для досягнення цього? + 5. Дослідіть в Інтернеті та перелічіть назви деяких простіших у використанні інструментів або програм, які можна використовувати для керування підсистемою брандмауера в системах на базі Linux. -6d. Перетворіть або перекладіть команду, яку ви записали вище, на її звичайний еквівалент? + 6. Створіть правило `iptables`, щоб заблокувати http-трафік від hq.example.org до вашої локальної машини. Який добре відомий порт прослуховують веб-сервери? Запишіть повну команду для досягнення цього? Перетворіть або перекладіть команду, яку ви записали вище, на її звичайний еквівалент. diff --git a/docs/labs/security/lab9-cryptography.uk.md b/docs/labs/security/lab9-cryptography.uk.md index 5596dc5450..c8b722b5e4 100644 --- a/docs/labs/security/lab9-cryptography.uk.md +++ b/docs/labs/security/lab9-cryptography.uk.md @@ -133,7 +133,9 @@ GnuPG (GNU Privacy Guard) — це набір програм для шифрув У вашому key-ring ще не повинно бути ключів. Але наведена вище команда також допоможе створити середовище за замовчуванням, щоб ви могли успішно створити нову пару ключів з першого разу. - Знову перерахуйте приховані каталоги у вашому домашньому каталозі. Як називається новий доданий каталог? + !!! question "Лабораторне завдання:" + + Перерахуйте приховані каталоги у вашому домашньому каталозі. Як називається новий доданий каталог? 5. Використовуйте програму gpg для створення нових пар ключів. Впишіть: @@ -185,13 +187,13 @@ GnuPG (GNU Privacy Guard) — це набір програм для шифрув 0 = key does not expire - n = key expires in n days + ++"n"++ = key expires in n days - nw = key expires in n weeks + ++"n"+"w"++ = key expires in n weeks - nm = key expires in n months + ++"n"+"m"++> = key expires in n months - ny = key expires in n years + ++"n"+"y"++ = key expires in n years Key is valid for? (0) 1y @@ -209,11 +211,11 @@ GnuPG (GNU Privacy Guard) — це набір програм для шифрув "Firstname Lastname (any comment) " - Real name: Ying Yang ENTER + Real name: Ying Yang ++enter++ - Comment : my test ENTER + Comment : my test ++enter++ - Email address: ying@serverXY ENTER + Email address: ying@serverXY ++enter++ У запиті підтвердження введіть «o» (Добре), щоб прийняти правильні значення. @@ -433,7 +435,11 @@ GnuPG (GNU Privacy Guard) — це набір програм для шифрув Запишіть команду для перевірки створеного для вас підпису файлу. -10. Відкрийте файл, щоб переглянути його вміст за допомогою будь-якого пейджера. Чи можете ви прочитати текст, який ви ввели у файл? +10. Відкрийте файл, щоб переглянути його вміст за допомогою будь-якого пейджера. + + !!! question "Питання" + + Чи можете ви прочитати текст, який ви ввели у файл? !!! warning "Прочитайте, перш ніж продовжити" @@ -606,7 +612,7 @@ GnuPG (GNU Privacy Guard) — це набір програм для шифрув gpg --send-keys --keyserver wwwkeys.pgp.net -## OpenSSH (www.openssh.org) +## [OpenSSH](https://www.openssh.org) OpenSSH — це реалізація протоколу SSH (Secure SHell) OpenBSD. @@ -616,7 +622,7 @@ OpenSSH — це реалізація протоколу SSH (Secure SHell) Open Він включає як компоненти на стороні сервера, так і набір програм на стороні клієнта. -*sshd* +### sshd На стороні сервера є демон безпечної оболонки (`sshd`). `sshd` — це демон, який прослуховує підключення клієнтів. @@ -630,7 +636,7 @@ OpenSSH — це реалізація протоколу SSH (Secure SHell) Open Протокол SSH2, реалізований у OpenSSH, стандартизовано робочою групою «IETF secsh». -*ssh* +### ssh Набір програм клієнта включає `ssh`. Це програма, яка використовується для входу у віддалені системи, а також може використовуватися для виконання команд у віддалених системах. @@ -676,14 +682,18 @@ Options: `sshd_config` є досить дивним конфігураційним файлом. На відміну від інших конфігураційних файлів Linux, коментарі (#) у файлі `sshd_config` позначають значення параметрів за замовчуванням. (тобто коментарі представляють уже скомпільовані значення за замовчуванням.) -2. Перегляньте сторінку довідки для `sshd_config` і поясніть, що роблять наведені нижче параметри? +2. Перегляньте довідкову сторінку для `sshd_config`. - - AuthorizedKeysFile - - Ciphers - - Port - - Protocol - - X11Forwarding - - HostKey + !!! question "Питання" + + Що роблять наступні параметри? + + - AuthorizedKeysFile + - Ciphers + - Port + - Protocol + - X11Forwarding + - HostKey 3. Змініть свій pwd на каталог /etc/ssh/. @@ -691,7 +701,7 @@ Options: ### Створення ключів хоста -Ваш сервер SSH уже має ключі хоста, які він використовує. Ці ключі були згенеровані під час першого встановлення вашої системи. У цій вправі ви дізнаєтеся, як створити ключі хост-типу для вашого сервера. +Ваш сервер SSH уже має ключі хоста, які він використовує. Ці ключі були згенеровані під час першого встановлення вашої системи. У цій вправі ви дізнаєтеся, як створити ключі хост-типу для вашого сервера, але ви не будете використовувати ключі. #### Для створення ключів хосту для вашого сервера @@ -716,7 +726,7 @@ Options: !!! question "Питання" - Що вам потрібно зробити, щоб змусити демон sshd використовувати ключ хоста, який ви щойно згенерували? + Що потрібно зробити, щоб демон sshd використовував ключ хоста, який ви щойно згенерували? 3. Перегляньте відбиток ключа, який ви створили вище. Впишіть: @@ -825,9 +835,9 @@ usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] Коли буде запропоновано, введіть пароль користувача ying. - !!! Question "Питання" + !!! Questions "Питання" - Чи міг користувач віддалено перезавантажити serverPR? Чому ying не може віддалено перезавантажити serverPR? + Чи міг користувач ying віддалено перезавантажити serverPR? Чому ying не може віддалено перезавантажити serverPR? 7. На сервері XY спробуйте віддалено переглянути статус служби `sshd`, що працює на serverPR, як користувач `ying`. Впишіть: @@ -846,10 +856,10 @@ usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] See system logs and 'systemctl status sshd.service' for details. ``` - !!! Questions "Питання" + !!! Question "Питання" - - Чи міг користувач віддалено переглянути статус служби sshd на serverPR? - - Чи зміг користувач віддалено перезапустити службу sshd на serverPR? + - Чи міг користувач ying віддалено переглянути статус служби sshd на serverPR? + - Чи зміг користувач ying віддалено перезапустити службу sshd на serverPR? - Напишіть коротке пояснення поведінки, яку ви спостерігаєте. 9. Введіть «exit», щоб вийти з serverPR і повернутися до serverXY. @@ -866,7 +876,7 @@ usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] #### Щоб використовувати `scp` -1. Переконайтеся, що ви все ще ввійшли як користувач `я` на сервері XY. +1. Переконайтеся, що ви все ще ввійшли як користувач `me` на serverXY. 2. Створіть каталог у своєму домашньому каталозі під назвою `myimport` і перейдіть до каталогу. @@ -892,7 +902,7 @@ usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] !!! Question "Питання" - Яка різниця між варіаціями цих двох команд? І за яких обставин вони матимуть однаковий результат?: + Яка різниця між варіаціями цих двох команд і за яких обставин вони матимуть однаковий результат? - scp me@serverPR:/home/me/myexport. @@ -916,7 +926,7 @@ usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] !!! Question "Питання" - Яка невелика, але дуже важлива різниця між варіаціями двох попередніх команд? І який результат кожної команди? + Яка невелика, але суттєва різниця між варіаціями двох попередніх команд? І який результат кожної команди? - `scp -r ying@localhost:/home/ying/ ying_home_directory_on_serverPR` @@ -958,7 +968,7 @@ usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] Generating public/private dsa key pair. ``` - Натисніть ENTER, щоб прийняти розташування файлу за замовчуванням. + Натисніть ++enter++, щоб прийняти розташування файлу за замовчуванням. ```bash Enter file in which to save the key (/home/ying/.ssh/id_dsa): @@ -985,7 +995,7 @@ usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] 3. cd у ваш каталог `~/.ssh/`. Список файлів у каталозі. -4. Що таке команда “ssh-keygen” для перегляду відбитків ваших ключів? +4. Що таке команда `ssh-keygen` для перегляду відбитків ваших ключів? 5. Використовуйте команду cat, щоб переглянути вміст вашого файлу відкритого ключа (тобто `~/.ssh/id_dsa.pub`). @@ -1019,7 +1029,7 @@ usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] b. запустіть команду “cd ~/.ssh && cat - >> authorized_keys && chmod 600 authorized_keys” як користувач, який знаходиться на serverPR. - !!! Note "Примітка" + !!! Note "Примітка" Мета попередньої складної на вигляд команди полягає в тому, щоб скопіювати та додати вміст вашого файлу відкритого ключа до “/home/ying/.ssh/authorized_keys” на serverPR і надати йому правильні дозволи. @@ -1043,7 +1053,7 @@ usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] ### `ssh-agent` -Згідно зі сторінкою довідки, `ssh-agent` — це програма для зберігання закритих ключів, які використовуються для автентифікації відкритих ключів (RSA, DSA, ECDSA, Ed25519). Ідея полягає в тому, що `ssh-agent` запускається на початку сеансу користувача або сеансу входу, а всі інші вікна або програми запускаються як клієнти для `ssh-agent` програма. За допомогою змінних середовища можна знайти агента та автоматично використовувати його для автентифікації під час входу на інші машини за допомогою `ssh`. +According to the man page - `ssh-agent` is a program to hold private keys used for public key authentication (RSA, DSA, ECDSA, Ed25519). Ідея полягає в тому, що `ssh-agent` запускається на початку сеансу користувача або сеансу входу, а всі інші вікна або програми запускаються як клієнти для `ssh-agent` програма. За допомогою змінних середовища можна знайти агента та автоматично використовувати його для автентифікації під час входу на інші машини за допомогою `ssh`. ```bash СИНОПСИС