OpenBSD: відмінності між версіями
R (обговорення | внесок) Створена сторінка: {{SEO |title=OpenBSD — безпечна UNIX-подібна операційна система з фокусом на аудит коду, криптографію, мережі й простоту |description=OpenBSD — Wiki-стаття про вільну 4.4BSD-based UNIX-like операційну систему, відому фокусом на security by default, аудитом коду, OpenSSH, PF firewall, LibreSSL, pledge, unveil, signify,... |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
< | </div> | ||
OpenBSD походить із BSD-традиції й розвивається як окрема операційна платформа з власним ядром, userland, документацією, інструментами, ports tree і пакетною системою.; :contentReference [oaicite:9]{index=9} | |||
<div style="background:# | <div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;"> | ||
'''Людською мовою:''' OpenBSD — це платформа, яка часто каже “ні” заради того, щоб решта працювала надійніше.; OpenBSD | |||
'''Практична роль:''' OpenBSD добре підходить для невеликих DNS-серверів, де потрібна проста й контрольована конфігурація.; * перегляд системного коду; | |||
* пошук небезпечних функцій; | |||
* спрощення реалізації; | |||
* видалення застарілого коду; | |||
* перевірку меж буферів; | |||
* криптографічний review; | |||
* аналіз privilege separation; | |||
* пошук логічних помилок; | |||
* перевірку default configuration.; rcctl stop sshd | |||
* security by default; | |||
* correctness; | |||
* simplicity; | |||
* code audit; | |||
* clean design; | |||
* minimalism; | |||
* integrated cryptography; | |||
* якісна документація; | |||
* відмова від зайвої складності; | |||
* консервативний підхід до функцій; | |||
* ручне й свідоме ввімкнення сервісів.;== OpenBGPD == | |||
Поширені помилки: | |||
'''Людською мовою:''' OpenBSD — це платформа, яка часто каже “ні” заради того, щоб решта працювала надійніше.; * OpenSMTPD; | |||
* spamd; | |||
* Dovecot через packages; | |||
* rspamd через packages; | |||
* DKIM tools; | |||
* TLS; | |||
* DNS records; | |||
* mail aliases; | |||
* local delivery; | |||
* relay host.;</div> | |||
OpenBSD має змогу використовуватися для VPN-сценаріїв.; OpenBSD можна використовувати для поштової інфраструктури.;== Висновок == | |||
</div> | |||
'''Практична роль:''' relayd надає можливість будувати невеликі, чисті й контрольовані мережеві архітектури без надмірної складності.; sysupgrade | |||
!;== Логування == | |||
OpenBSD добре підходить для компактних серверів із чіткою роллю.; sysupgrade | |||
* | * keyboard layout; | ||
* | * hostname; | ||
* | * network; | ||
* | * root password; | ||
* | * user account; | ||
* | * disk layout; | ||
* | * sets; | ||
* | * time zone; | ||
* | * sshd; | ||
* | * mirrors; | ||
* packages у частині сценаріїв.; '''LibreSSL''' — криптографічна бібліотека, розроблена проєктом OpenBSD як форк OpenSSL після гучних проблем у OpenSSL-екосистемі.; '''syspatch''' — інструмент для встановлення binary patches для базової системи OpenBSD.; Критерій | |||
* очікувати поведінку Linux; | |||
* не читати man pages; | |||
* вмикати зайві сервіси; | |||
* писати занадто складний pf.conf; | |||
* втрачати SSH-доступ через неправильне firewall-правило; | |||
* не робити backup перед upgrade; | |||
* не оновлювати packages; | |||
* ігнорувати `/var/log/authlog`; | |||
* встановлювати пакети без потреби; | |||
* редагувати системні файли не тим способом; | |||
* плутати packages і ports; | |||
* очікувати ідеальний desktop experience; | |||
* не перевіряти hardware compatibility.; Можливі сценарії: | |||
|- | |||
| Тип | |||
| Загальна UNIX-like ОС | |||
| Firewall/router дистрибутив на базі FreeBSD | |||
|- | |||
| Інтерфейс | |||
| CLI, конфігураційні файли | |||
| Web UI | |||
|- | |||
| Firewall | |||
| PF | |||
| PF у FreeBSD-екосистемі | |||
|- | |||
| Для кого | |||
| Досвідчені адміністратори UNIX/BSD | |||
| Користувачі, яким потрібен готовий firewall appliance | |||
|- | |||
| Гнучкість | |||
| Вища на рівні ОС | |||
| Вища зручність для типових firewall-сценаріїв | |||
|} | |||
</div> | </div> | ||
</div> | |||
Це лише навчальний приклад.; pass out | |||
Це корисно для: | |||
Офіційна сторінка OpenBSD 7.8 зазначає, що більшість ports доступні як packages на mirrors.;<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | |||
tail -f /var/log/authlog | |||
Приклади: | |||
=== Прочитати поради після встановлення === | |||
== Цікавий факт == | |||
</div> | </div> | ||
</ | OpenBSD часто використовують як firewall/router завдяки наявності PF, стабільній мережевій підсистемі й мінімалістичному підходу.; Вона відома OpenSSH, PF firewall, якісною документацією, мінімальною стандартною інсталяцією, аудитом коду, pledge, unveil, signify, LibreSSL і культурою простоти.; Типові джерела: | ||
<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;"> | |||
'''істотно:''' OpenBSD — це не без ускладнень “ще один BSD”.; '''Критично:''' перед оновленням сервера потрібно мати backup, доступ до консолі або out-of-band management і план відновлення.; Окремо варто відзначити яка відома дуже сильним фокусом на безпеку, простоту, аудит коду, криптографію, якість документації і мінімалістичний підхід до стандартної інсталяції виступає ключовою рисою '''OpenBSD'''.; * OpenBSD часто прибирає або переписує код, якщо вважає його небезпечним або надто складним.;=== Встановити errata patches === | |||
* NAT; | |||
* packet filtering; | |||
* VPN; | |||
* routing; | |||
* DHCP; | |||
* DNS forwarding; | |||
* traffic segmentation; | |||
* small office gateway; | |||
* home lab firewall; | |||
* bastion network; | |||
* network experiments.; '''Цікава ідея:''' pledge схожий на договір між програмою й ОС: “я буду робити тільки це, а якщо раптом спробую більше — зупини мене”.; Йдеться саме про стандартну інсталяцію з мінімумом увімкнених сервісів.; завдяки наявності '''Практична роль:''' unveil користувачі можуть зробити так, щоб програма не могла випадково або навмисно читати те, що їй не потрібно.;</div> | |||
pkg_info | |||
* TCP relay; | |||
* HTTP relay; | |||
* TLS termination у відповідних конфігураціях; | |||
* load balancing; | |||
* health checks; | |||
* reverse proxy; | |||
* internal service routing.;<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | |||
Для приватності істотно: | |||
* keyboard-driven роботи; | |||
* легкого desktop; | |||
* старішого hardware; | |||
* простого X11-середовища; | |||
* користувачів, які не хочуть важкий desktop environment.; OpenBSD має змогу використовуватися на різних типах hardware, залежно від поточного релізу: | |||
</div> | </div> | ||
'''істотно:''' OpenBSD storage tools можуть відрізнятися від Linux.;<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | |||
OpenBSD має дуже сильну культуру документації через '''man pages'''.; '''Цікавий факт:''' OpenBSD часто реагує на проблеми не косметично, а хірургічно: якщо код поганий, його можуть радикально почистити.;<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | |||
''' | '''Перевага:''' OpenBSD добре підходить для тих, хто хоче систему з чіткою логікою, сильними man pages і security-first культурою.; :contentReference [oaicite:8]{index=8} | ||
< | '''Найлюдяніший факт:''' OpenBSD схожа на інструмент, зроблений майстрами для майстрів.;<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | ||
* gaming; | |||
* desktop для новачка; | |||
* hardware з проблемною підтримкою; | |||
* ноутбуків із найновішими Wi-Fi/GPU; | |||
* Kubernetes-heavy інфраструктури; | |||
* AI/ML workstation; | |||
* задач, де потрібна максимальна кількість пакетів; | |||
* систем, де команда знає лише Linux; | |||
* комерційного ПЗ, яке підтримує роботу тільки Linux; | |||
* high-performance storage із ZFS-вимогами; | |||
* домашнього користувача, якому потрібен “щоб усе працювало саме”.;== OpenBSD і pfSense == | |||
== | == Інсталяція OpenBSD == | ||
== | == Filesystem і storage == | ||
== | == LibreSSL == | ||
* `ssh`; | |||
* `sshd`; | |||
* `scp`; | |||
* `sftp`; | |||
* `ssh-keygen`; | |||
* `ssh-agent`; | |||
* `ssh-add`; | |||
* port forwarding; | |||
* key-based authentication; | |||
* secure remote administration.;== Security by default == | |||
Компоненти можуть включати: | |||
* | * routing; | ||
* | * BGP-сесій; | ||
* | * мережевих операторів; | ||
* | * edge routing; | ||
* | * internet infrastructure; | ||
* | * lab-середовищ; | ||
* маршрутизації між автономними системами.; OpenBSD | |||
OpenBSD підтримує роботу кілька апаратних архітектур.; офіційно затверджений сайт OpenBSD прямо зазначає, що popular OpenSSH software comes from OpenBSD.; '''істотно:''' перед встановленням потрібно перевірити hardware compatibility для конкретної версії OpenBSD і конкретної архітектури.;== OpenBSD і Linux == | |||
OpenBSD | '''OpenNTPD''' — NTP daemon від OpenBSD для синхронізації часу.; block all | ||
'''signify''' — інструмент OpenBSD для цифрового підпису й перевірки файлів.; Приклад: | |||
== Архітектури == | |||
== | |||
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | <div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | ||
* unwind; | |||
* unbound; | |||
* nsd; | |||
* DNS forwarding; | |||
* caching resolver; | |||
* authoritative DNS; | |||
* DNSSEC у відповідних сценаріях.;</syntaxhighlight> | |||
</div> | |||
* `/var/log/messages`; | |||
* `/var/log/authlog`; | |||
* daemon logs; | |||
* PF logs; | |||
* mail logs; | |||
* application logs; | |||
* dmesg; | |||
* cron logs.; '''Практична роль:''' signify — приклад OpenBSD-підходу: маленький інструмент, який робить одну важливу річ і робить її зрозуміло.;<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | |||
'''rc.conf.local''' — файл для локальних налаштувань служб.; Критерій | |||
!; tail -f /var/log/authlog | |||
</div> | </div> | ||
'''Практична роль:''' OpenBSD створює не лише ОС, а й важливі мережеві daemon-и з акцентом на простоту й безпеку.; '''Цікава деталь:''' doas — це приклад того, як OpenBSD часто створює маленькі альтернативи великим інструментам, якщо вважає їх надто складними.; pkg_add vim | |||
man pkg_add | |||
== Див.; додатково == | |||
* походження з BSD; | |||
* відгалуження від NetBSD; | |||
* створення окремої security-first культури; | |||
* еволюція OpenSSH; | |||
* поява PF firewall; | |||
* розробка програмного забезпечення OpenBGPD, OpenNTPD, OpenSMTPD; | |||
* впровадження exploit mitigation; | |||
* еволюція pledge і unveil; | |||
* створення LibreSSL після проблем у OpenSSL-екосистемі; | |||
* регулярні релізи приблизно кожні пів року; | |||
* супровід різних апаратних платформ.; OpenBSD має легендарну репутацію в security-спільноті.; серверів забезпечується через OpenBSD часто використовують; додатково реалізовано firewall, маршрутизаторів, VPN-шлюзів, DNS, mail-серверів, навчання UNIX, розробки системного програмного забезпечення, security research і середовищ, де важливі передбачуваність, контроль і невелика attack surface.; Вона дуже сильна у своїх нішах, але не намагається бути універсальною для кожного сценарію.;== PF firewall == | |||
* читати `man afterboot`; | |||
* регулярно встановлювати syspatch; | |||
* оновлювати packages через `pkg_add -u`; | |||
* не вмикати зайві сервіси; | |||
* писати простий pf.conf; | |||
* використовувати SSH keys; | |||
* обмежувати root-доступ; | |||
* використовувати doas замість постійної роботи від root; | |||
* робити backup перед sysupgrade; | |||
* читати release notes і upgrade guide; | |||
* перевіряти `/var/log/authlog`; | |||
* не встановлювати зайві packages; | |||
* документувати локальні зміни; | |||
* тримати конфігурації під контролем версій; | |||
* тестувати firewall-правила перед віддаленим застосуванням.;<syntaxhighlight lang="pf"> | |||
pass in on egress proto tcp to port 22 | |||
== Firewall і router == | |||
* мінімум увімкнених сервісів; | * мінімум увімкнених сервісів; | ||
| Рядок 128: | Рядок 264: | ||
* ручне ввімкнення додаткових сервісів; | * ручне ввімкнення додаткових сервісів; | ||
* уважне ставлення до криптографії; | * уважне ставлення до криптографії; | ||
* принцип “краще вимкнено, доки не потрібно”.; | * принцип “краще вимкнено, доки не потрібно”.; pfSense | ||
''' | '''центральний внесок:''' навіть якщо OpenBSD не стоїть на вашому сервері, OpenSSH має змогу бути щоденним інструментом вашої роботи.; !; '''істотно:''' поштовий сервер завжди потребує уважної конфігурації: DNS, SPF, DKIM, DMARC, TLS, relay rules і spam control.; rcctl enable sshd | ||
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | <div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | ||
<syntaxhighlight lang="sh"> | |||
OpenSSH охоплює: | |||
== | '''softraid''' в OpenBSD застосовується для програмного RAID і шифрування дисків.;== OpenSMTPD == | ||
</ | !;</syntaxhighlight> | ||
block all | block all | ||
Під час інсталяції налаштовуються: | |||
* правила блокування; | |||
* дозволені з’єднання; | |||
* NAT; | |||
* redirection; | |||
* tables; | |||
* macros; | |||
* anchors; | |||
* logging; | |||
* anti-spoofing; | |||
* правила для окремих інтерфейсів.;</syntaxhighlight> | |||
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | |||
</div> | </div> | ||
* | * X11; | ||
* | * xenodm; | ||
* | * cwm; | ||
* | * fvwm; | ||
* | * різні window managers; | ||
* | * Firefox; | ||
* Chromium; | |||
* LibreOffice; | |||
* редактори; | |||
* термінали; | |||
* mail clients; | |||
* development tools.; Проєкт не намагається подобатися всім.; :contentReference [oaicite:3]{index=3} | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
Він застосовується для: | Він застосовується для: | ||
</div> | </div> | ||
</div> | </div> | ||
== pledge == | == pledge == | ||
=== Оновити пакети === | |||
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | <div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | ||
< | '''unveil''' — механізм OpenBSD для обмеження доступу програми до файлової системи.; '''Цікавий факт:''' OpenBSD часто стоїть “на краю мережі”, де помилки конфігурації особливо помітні.;<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | ||
'''Практична роль:''' у OpenBSD зазвичай простіше встановлювати готові binary packages, а ports використовувати тоді, коли справді треба збирати самостійно.;<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | |||
pass in on egress proto tcp to port 22 | |||
== Аудит коду == | |||
< | '''OpenSMTPD''' — поштовий сервер, створений у межах OpenBSD-проєкту.; '''OpenSSH''' — один із найважливіших проєктів, що походить з OpenBSD.; '''Практична роль:''' rcctl робить керування службами в OpenBSD простим і передбачуваним.;<div style="background:#f0eaff; border-left:6px solid #8e44ad; padding:12px; margin:12px 0;"> | ||
== Загальний характеристика == | |||
=== Увімкнути SSH daemon === | |||
{{SEO | |||
|title=OpenBSD — безпечна UNIX-подібна операційна система з фокусом на аудит коду, криптографію, мережі й простоту | |||
|description=OpenBSD — Wiki-стаття про вільну 4.4BSD-based UNIX-like операційну систему, відому фокусом на security by default, аудитом коду, OpenSSH, PF firewall, LibreSSL, pledge, unveil, signify, ports, pkg_add, мінімальною стандартною інсталяцією, мережевими сервісами, серверами, роутерами, firewall-системами, розробкою, перевагами, обмеженнями, цікавими фактами і хорошими практиками. | |||
|keywords=OpenBSD, Open BSD, BSD, UNIX-like operating system, 4.4BSD, security by default, OpenSSH, PF firewall, LibreSSL, signify, pledge, unveil, pkg_add, ports, OpenBSD 7.8, Theo de Raadt, secure operating system, UNIX, firewall OS, server OS, network security, операційна система, безпечна ОС | |||
|alternativeTo=Linux для частини серверних і мережевих задач; FreeBSD для security-first сценаріїв; pfSense у простих firewall-сценаріях для досвідчених адміністраторів; складні Linux firewall-дистрибутиви; застарілі UNIX-системи; серверні ОС з великою стандартною attack surface; системи без security by default підходу; хаотично налаштовані домашні сервери | |||
}} | |||
uname -a | |||
== pf.conf == | |||
Такий підхід дає: | |||
tail -f /var/log/messages | |||
</div> | </div> | ||
man sshd_config | |||
</div> | </div> | ||
* | * secure defaults; | ||
* | * code audit; | ||
* | * privilege separation; | ||
* | * pledge; | ||
* | * unveil; | ||
* | * W^X; | ||
* | * ASLR; | ||
* stack protection; | |||
* signed packages; | |||
* signify; | |||
* minimal services; | |||
* strong cryptography; | |||
* careful daemon design; | |||
* conservative development culture.;</div> | |||
'''Практична роль:''' PF — одна з причин, чому OpenBSD часто обирають для firewall і мережевих шлюзів.;== Приклад простого pf.conf == | |||
'''pf.conf''' — конфігураційний файл PF.;</div> | |||
</syntaxhighlight> | |||
syspatch корисний для: | syspatch корисний для: | ||
<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;"> | <div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;"> | ||
</div> | </div> | ||
<syntaxhighlight lang="sh"> | <syntaxhighlight lang="sh"> | ||
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | <div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | ||
</div> | </div> | ||
</div> | </div> | ||
=== | OpenBSD часто не додає функцію лише з цієї причини, що вона популярна.;== Серверне використання == | ||
== Mail server == | |||
{| class="wikitable" | {| class="wikitable" | ||
'''Критично:''' не застосовуйте firewall-правила на віддаленому сервері без тесту, резервного доступу й плану відкату.; '''Цікавий момент:''' OpenBSD не без ускладнень додає нові “захисні фічі”, а часто прибирає зайву складність, бо складність сама по собі є собою джерелом багів.; * мінімізувати зайві сервіси; | |||
''' | |||
* перевіряти пакети; | * перевіряти пакети; | ||
* контролювати логи; | * контролювати логи; | ||
| Рядок 460: | Рядок 385: | ||
* не встановлювати зайві daemon-и; | * не встановлювати зайві daemon-и; | ||
* контролювати браузер і web-застосунки; | * контролювати браузер і web-застосунки; | ||
* не плутати privacy з anonymity.; | * не плутати privacy з anonymity.; rcctl застосовується для: | ||
== | == rc.conf.local == | ||
<syntaxhighlight lang="sh"> | |||
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | |||
== Цікаві факти про OpenBSD == | |||
= | |||
'''Підказка:''' базовий набір OpenBSD-адміністратора — `man`, `rcctl`, `pkg_add`, `syspatch`, `sysupgrade`, `pfctl`, `dmesg` і уважне читання `/var/log`.;<syntaxhighlight lang="sh"> | |||
<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;"> | <div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;"> | ||
</syntaxhighlight> | |||
</div> | |||
OpenBSD можна використовувати для DNS-сервісів.; pfctl -sr | |||
rcctl status sshd | |||
<syntaxhighlight lang="sh"> | |||
== Приватність == | |||
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | |||
* FFS; | * FFS; | ||
| Рядок 508: | Рядок 415: | ||
* fsck; | * fsck; | ||
* partitions; | * partitions; | ||
* backups.; '''Практична порада:''' | * backups.; Розробники шукають помилки не лише після інцидентів, а й проактивно.;</div> | ||
'''Практична порада:''' у OpenBSD краще працювати “як задумано системою”, а не ламати стандартну структуру конфігурацій.; doas має мінімалістичну конфігурацію й відповідає стилю OpenBSD: менше коду, менше складності, зрозумілі правила.; * OpenBSD не боїться бути нішевою.;<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | |||
</div> | |||
man afterboot | |||
== OpenBSD і FreeBSD == | |||
<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;"> | |||
OpenBSD після встановлення зазвичай має небагато увімкнених сервісів.;</div> | |||
<syntaxhighlight lang="sh"> | |||
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | |||
Типові теми актуалізація: | |||
</div> | |||
'''Практична роль:''' у OpenBSD логи часто прості, текстові й зрозумілі — це дуже сприяє під час діагностики.; Linux | |||
man afterboot | |||
'''doas''' — простіший інструмент для виконання команд з іншими правами, часто як альтернатива sudo.; Саме portability є собою однією з офіційно зазначених цілей проєкту.; Інший цікавий факт: '''OpenSSH''', один із найважливіших інструментів безпечного віддаленого доступу у світі UNIX/Linux, походить саме з OpenBSD.; Якщо функція ускладнює систему або створює небажані ризики, її можуть не прийняти.; :contentReference [oaicite:1]{index=1} | |||
</syntaxhighlight> | |||
<div style="background:#f0eaff; border-left:6px solid #8e44ad; padding:12px; margin:12px 0;"> | |||
OpenBSD має власний підхід до файлових систем і storage.; * логів; | |||
* TLS; | |||
* Kerberos; | |||
* distributed systems; | |||
* audit; | |||
* monitoring; | |||
* scheduled tasks; | |||
* debugging; | |||
* security events.; Вона не прагне бути найзручнішим desktop, наймасовішою cloud-платформою або найширшою package-екосистемою.; :contentReference [oaicite:5]{index=5} | |||
== pkg_add і пакети == | |||
'''істотно:''' OpenBSD — не “найкраща ОС для всього”.;</div> | |||
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | <div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | ||
== rcctl == | |||
'''Висновок:''' NetBSD славиться переносимістю, а OpenBSD — безпекою, аудитом і мінімалістичним дизайном.; '''Цікава деталь:''' інсталятор OpenBSD має змогу виглядати старомодно, але його цінують за те, що він швидкий, зрозумілий і не приховує важливі рішення для бізнесу.;</div> | |||
'''rcctl''' — інструмент для керування системними службами в OpenBSD.;== unveil == | |||
'''PF''' або '''Packet Filter''' — firewall, який з’явився в OpenBSD і став одним із найвідоміших BSD firewall-рішень.; OpenBSD застосовується для: | |||
</div> | |||
* серверів; | |||
* firewall; | |||
* маршрутизаторів; | |||
* VPN; | |||
* DNS; | |||
* mail-серверів; | |||
* web-серверів; | |||
* bastion hosts; | |||
* security appliances; | |||
* UNIX-навчання; | |||
* системного програмування; | |||
* криптографічних інструментів; | |||
* мережевої інфраструктури; | |||
* minimal desktop для досвідчених користувачів; | |||
* розробки secure software; | |||
* експериментів із BSD-системами.; OpenBSD | |||
< | '''істотно:''' ports — це не ключовий шлях для кожного користувача.; * OpenBSD man pages.; Навіть якщо людина ніколи не встановлювала OpenBSD, вона майже напевно користувалася OpenSSH.;<syntaxhighlight lang="sh"> | ||
Офіційна сторінка релізу OpenBSD 7.8, як ілюстрація, згадує signify pubkeys для релізу.; pkg_add -u | |||
syspatch | |||
Можливі варіанти: | |||
'''Найцікавіше:''' OpenBSD впливає на світ набагато сильніше, ніж здається за її часткою користувачів.; '''Практична роль:''' правильний час у системі — це дрібниця лише до першого випадку, коли логи різних серверів неможливо зіставити.; Це проєкт із дуже виразною філософією: краще менше, але якісніше, простіше й безпечніше.; Вона намагається бути простою, зрозумілою, правильною й безпечною за замовчуванням.; '''істотно:''' VPN потрібно налаштовувати обережно: криптографія, ключі, маршрути, firewall і access control мають бути узгоджені.; Вона не завжди зручна для всіх, але дуже приємна для тих, хто цінує порядок і ясність.; У OpenBSD 7.8 передбачено численні зміни в ядрі, драйверах, мережевій підсистемі, архітектурній підтримці, userland, пакетах і безпеці.;<syntaxhighlight lang="sh"> | |||
Можливі задачі: | Можливі задачі: | ||
!; * OpenBSD 7.8 Release.; man afterboot | |||
== | <div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | ||
== OpenBSD 7.8 == | |||
OpenBSD має власний простий web server — '''httpd'''.; Якщо диск пошкоджено або втрачено пароль, інформаційні дані можуть бути недоступні.; офіційно затверджений changelog 7.8 містить детальний перелік змін між 7.7 і 7.8.; * OpenBSD 7.8 Changelog.; * У OpenBSD дуже серйозно ставляться до man pages.; Критерій | |||
* security patches; | * офіційно затверджений сайт OpenBSD.;</syntaxhighlight> | ||
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | |||
'''Критично:''' навіть OpenBSD можна зробити небезпечною поганою конфігурацією.; * security patches; | |||
* errata patches; | * errata patches; | ||
* швидкого актуалізація base system; | * швидкого актуалізація base system; | ||
* підтримки актуального стану; | * підтримки актуального стану; | ||
* production-серверів.; * | * production-серверів.; :contentReference [oaicite:4]{index=4} | ||
== | |||
'''Практична роль:''' OpenBSD особливо добре функціонує, коли сервер має одну зрозумілу роль і мінімум зайвого.; Документація є собою частиною культури проєкту.; Можливі проблеми: | |||
'''Висновок:''' Linux краще для масових задач і hardware compatibility, а OpenBSD — для простих, контрольованих, security-focused систем.; OpenBSD використовує класичні UNIX-механізми логування.;<div style="background:#fdecea; border-left:6px solid #e74c3c; padding:12px; margin:12px 0;"> | |||
Вона сприяє зрозуміти, що зробити після першого встановлення.; * OpenBSD ports and packages documentation.; Програма має змогу бачити лише ті частини файлової системи, які їй явно відкриті.; Приклади: | |||
<div style="background:#fdecea; border-left:6px solid #e74c3c; padding:12px; margin:12px 0;"> | |||
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | |||
'''OpenBGPD''' — реалізація BGP daemon від OpenBSD.; '''Небезпека:''' найпростіший спосіб зламати OpenBSD — намагатися перетворити її на Linux і не читати документацію.; OpenBSD можна використовувати як desktop, але це не її головна масова ніша.; * Маскот OpenBSD — риба Puffy.;<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | |||
= | {| class="wikitable" | ||
== | * sandboxing; | ||
* обмеження шкоди від багів; | |||
* зменшення доступу до зайвих файлів; | |||
* простішого security review; | |||
* захисту конфігурацій і даних; | |||
* принципу least privilege.;</div> | |||
== Типові помилки початківців == | |||
</syntaxhighlight> | |||
Типові серверні сценарії: | |||
</div> | </div> | ||
* | Приклад команди: | ||
* | |||
* | * encrypted laptop; | ||
* | * encrypted server disk; | ||
* | * RAID; | ||
* | * disk redundancy; | ||
* boot disk encryption у відповідних конфігураціях; | |||
* захист даних при втраті пристрою.;== DNS == | |||
{| class="wikitable" | |||
== Man pages == | |||
<syntaxhighlight lang="sh"> | |||
</div> | |||
rcctl start sshd | |||
'''OpenBSD 7.8''' — актуальний реліз OpenBSD, випущений 22 жовтня 2025 року.; '''Висновок:''' OpenBSD частіше обирають за security-first підхід, а FreeBSD — за універсальність, продуктивність, ZFS і ширші серверні сценарії.;<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | |||
Пакети використовуються для встановлення: | |||
</div> | |||
<div style="background:#fdecea; border-left:6px solid #e74c3c; padding:12px; margin:12px 0;"> | |||
</div> | </div> | ||
== httpd == | |||
Desktop на OpenBSD має змогу включати: | |||
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | |||
офіційно затверджений сайт описує OpenBSD як '''FREE, multi-platform 4.4BSD-based UNIX-like operating system''' із фокусом на portability, standardization, correctness, proactive security та integrated cryptography.; OpenBSD часто приваблює користувачів, які цінують контроль над системою.; :contentReference [oaicite:6]{index=6} | |||
<syntaxhighlight lang="sh"> | |||
== | * SSH bastion; | ||
* firewall; | |||
* router; | |||
* VPN gateway; | |||
* DNS server; | |||
* web server; | |||
* mail relay; | |||
* monitoring node; | |||
* small database server; | |||
* internal tools; | |||
* Git server; | |||
* security lab; | |||
* jump host.;<div style="background:#fef2f2; border-left:6px solid #ef4444; padding:12px; margin:12px 0;"> | |||
Філософію OpenBSD можна описати кількома словами: | |||
OpenBSD не є собою найкращою ОС для кожного користувача.; '''Головна думка:''' OpenBSD — це операційна платформа для людей, які цінують простоту, документацію, безпеку й контроль більше, ніж блискучі функції та максимальну універсальність.; На офіційному сайті проєкту довгий час застосовують, коли потрібно фраза: '''“Only two remote holes in the default install, in a heck of a long time!”''' Це не означає, що будь-яка платформа OpenBSD автономно невразлива.;<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | |||
</div> | </div> | ||
=== Перевірити PF === | |||
< | <div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | ||
'''Практична роль:''' OpenBSD має передбачуваний ритм релізів, з цієї причини адміністратору істотно планувати актуалізація, а не залишати систему на старій версії роками.; OpenBSD | |||
</div> | |||
<div style="background:# | <div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | ||
''' | |||
* SMTP; | |||
* mail relay; | |||
* локальної доставки пошти; | |||
* простих mail-серверів; | |||
* relay-сценаріїв; | |||
* системних повідомлень; | |||
* інтеграції з іншими mail-компонентами.; Це набір інструментів для безпечного віддаленого доступу, копіювання файлів і тунелювання.; Сьогодні OpenSSH використовують не лише користувачі OpenBSD, а й Linux-сервери, macOS, мережеве обладнання, хмарні платформи й багато enterprise-систем.;</div> | |||
|- | |||
| Тип | |||
| Цілісна BSD-система | |||
| Ядро + дистрибутиви | |||
|- | |||
| Фокус | |||
| Security, correctness, simplicity | |||
| Дуже широкий спектр задач | |||
|- | |||
| Пакети | |||
| pkg_add, ports | |||
| Залежить від дистрибутива | |||
|- | |||
| Hardware support | |||
| Обмеженіший | |||
| Зазвичай ширший | |||
|- | |||
| Desktop | |||
| Нішевий | |||
| Масовий у Linux-світі | |||
|- | |||
| Server | |||
| Добрий для чітких ролей | |||
| Дуже широкий server/cloud ecosystem | |||
|} | |||
'''Головне правило:''' OpenBSD найкраще функціонує, коли платформа проста, роль сервера зрозуміла, а адміністратор читає документацію.; У ньому можна описувати: | |||
pfctl -nf /etc/pf.conf | pfctl -nf /etc/pf.conf | ||
* серверного ПЗ; | |||
<div style="background:# | * desktop-застосунків; | ||
* мов програмування; | |||
* редакторів; | |||
* баз даних; | |||
* web-серверів; | |||
* утиліт; | |||
* development tools.;<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;"> | |||
* WireGuard через packages; | |||
* IPsec; | * IPsec; | ||
* OpenVPN через packages; | * OpenVPN через packages; | ||
| Рядок 627: | Рядок 634: | ||
* site-to-site VPN; | * site-to-site VPN; | ||
* remote access VPN; | * remote access VPN; | ||
* encrypted management access.; | * encrypted management access.;</syntaxhighlight> | ||
== OpenBSD і NetBSD == | |||
< | cwm підходить для: | ||
'''Головна перевага:''' OpenBSD змушує думати про систему як про інженерний об’єкт: що ввімкнено, навіщо, як це захищено і як це документовано.;</div> | |||
* | * читання файлів; | ||
* | * мережа; | ||
* | * stdio; | ||
* DNS; | * DNS; | ||
* | * робота з process; | ||
* інші чітко визначені групи можливостей.; Офіційна сторінка релізу зазначає, що це 59-й реліз OpenBSD.; '''pledge''' — механізм OpenBSD, який надає можливість програмі добровільно обмежити свої функціональні можливості.;=== Оновити систему до наступного релізу === | |||
* | |||
'''Правило:''' OpenBSD дає хороший контроль, але приватність залежить від поведінки користувача, мережі, браузера й сервісів, якими він користується.;<syntaxhighlight lang="sh"> | |||
pkg_add package_name | |||
man rcctl | |||
|- | |||
| ключовий фокус | |||
| Безпека, correctness, minimalism | |||
| Продуктивність, сервери, storage, ширша універсальність | |||
|- | |||
'''pledge''' — механізм OpenBSD, який надає можливість програмі добровільно обмежити свої функціональні можливості.; | | Firewall | ||
| PF як центральний інструмент | |||
| PF, IPFW, інші варіанти | |||
|- | |||
| Desktop | |||
| Можливий, але не головна ніша | |||
| Частіше застосовується як desktop/server у BSD-світі | |||
''' | |- | ||
| Storage | |||
| Простішій підхід | |||
| ZFS — одна з сильних сторін | |||
|- | |||
| Культура | |||
| Security-first і консервативна | |||
| Більш універсальна й performance-oriented | |||
|} | |||
!; :contentReference [oaicite:7]{index=7} | |||
!; LibreSSL став прикладом OpenBSD-підходу: | |||
</div> | |||
</div> | </div> | ||
== doas == | |||
=== Перевірити версію === | |||
'''Практична | '''Практична порада:''' OpenBSD варто обирати тоді, коли ви готові прийняти її стиль: простота, документація, ручна конфігурація й security-first мислення.; Не варто переносити Linux-звички без читання документації.; '''Практична порада:''' mail server — одна з найскладніших серверних задач.;</div> | ||
== Мінімальна стандартна інсталяція == | == Мінімальна стандартна інсталяція == | ||
</syntaxhighlight> | |||
* обмеженіша hardware support, ніж у Linux; | * обмеженіша hardware support, ніж у Linux; | ||
| Рядок 682: | Рядок 699: | ||
* специфічна BSD-адміністрація; | * специфічна BSD-адміністрація; | ||
* потрібно читати документацію; | * потрібно читати документацію; | ||
* не підходить для всіх серверних задач.; | * не підходить для всіх серверних задач.;== переважні аспекти OpenBSD == | ||
OpenBSD добре підходить для | == Приклади команд OpenBSD == | ||
OpenBSD добре підходить, якщо потрібно: | |||
* менше відкритих портів; | |||
* менше випадкових сервісів; | |||
* менше неочевидних залежностей; | |||
* простіший аудит; | |||
* кращу передбачуваність; | |||
* зрозумілішу систему для адміністратора; | |||
* безпечнішу стартову точку.; Безпечна ОС не рятує від слабких паролів, відкритих сервісів і неоновлених пакетів.; * OpenSSH documentation.; Він має змогу використовуватися для: | |||
OpenBSD має багато security-механізмів.;<div style="background:#fdecea; border-left:6px solid #e74c3c; padding:12px; margin:12px 0;"> | |||
man pf.conf | |||
Приклад ідеї: | |||
'''Помилка:''' ставити OpenBSD лише через репутацію безпеки, не розуміючи її обмежень, hardware support і відмінностей від Linux.; * security by default; | |||
* якісна документація; | |||
* мінімальна стандартна інсталяція; | |||
* OpenSSH; | |||
* PF firewall; | |||
* pledge; | |||
* unveil; | |||
* signify; | |||
* LibreSSL; | |||
* прості конфігураційні файли; | |||
* регулярні релізи; | |||
* сильна UNIX-культура; | |||
* інтегрована базова платформа; | |||
* хороший вибір для firewall; | |||
* хороший вибір для bastion host; | |||
* чистий design; | |||
* менше зайвої складності.; '''Критично:''' шифрування диска не замінює backup.; Аудит має змогу включати: | |||
'''Основна ідея:''' OpenBSD — це операційна платформа, яка не намагається бути наймоднішою.; Інсталятор OpenBSD відомий простотою.; OpenBSD дає хороші інструменти, але DNS, репутація, spam і TLS усе одно потребують уваги.; * OpenBSD FAQ.;<syntaxhighlight lang="sh"> | |||
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | <div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | ||
'''Увага:''' OpenBSD desktop підійде не всім.; OpenSSH застосовується в багатьох операційних системах далеко за межами OpenBSD.; * Документація щодо pledge, unveil, signify, rcctl, syspatch, sysupgrade і OpenBSD security.; !; Особливо важлива сторінка: | |||
< | <div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | ||
< | </syntaxhighlight> | ||
* | * перевірки релізів; | ||
* | * перевірки пакетів; | ||
* | * підпису важливих файлів; | ||
* | * простішої криптографічної перевірки; | ||
* | * захисту supply chain; | ||
* | * довіри до оновлень.; * OpenSSH, один із найважливіших security-інструментів у світі, походить із OpenBSD.;<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | ||
* | |||
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | |||
'''Практична роль:''' httpd добре вписується в OpenBSD-філософію: простий, зрозумілий, мінімалістичний web server.; Основні переважні аспекти OpenBSD: | |||
Синхронізація часу важлива для: | |||
== Обмеження OpenBSD == | |||
== Desktop на OpenBSD == | |||
'''Практична роль:''' syspatch надає можливість простіше встановлювати важливі виправлення без ручної збірки системи.;<div style="background:#fef2f2; border-left:6px solid #ef4444; padding:12px; margin:12px 0;"> | |||
OpenBSD має змогу бути не найкращим вибором для: | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</div> | </div> | ||
як ілюстрація, програма має змогу “пообіцяти”, що їй потрібні лише: | |||
* firewall; | * firewall; | ||
| Рядок 719: | Рядок 773: | ||
* контрольована мережева інфраструктура; | * контрольована мережева інфраструктура; | ||
* вивчення PF; | * вивчення PF; | ||
* UNIX-середовище без зайвої складності.; | * UNIX-середовище без зайвої складності.; OpenBSD | ||
'''істотно:''' security by default не означає “можна нічого не налаштовувати”.; Ви самі відкриваєте тільки ті, які справді потрібні.;== relayd == | |||
До них належать: | |||
'''Проста аналогія:''' OpenBSD не дає вам будинок із усіма дверима відчиненими.; Він текстовий, швидкий і не намагається бути красивим.;== Ports tree == | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</div> | |||
== | == OpenSSH == | ||
<syntaxhighlight lang="sh"> | |||
== syspatch == | |||
OpenBSD виникла як відгалуження від NetBSD у 1995 році.; Це означає, що початкова точка безпечніша, але адміністратор усе одно відповідає за конфігурацію.; Для gaming, multimedia або нових ноутбуків Linux чи інша desktop-ОС часто буде простішою.; syspatch | |||
* OpenBSD має власну культуру релізного artwork: кожен реліз часто супроводжується оригінальними ілюстраціями й темою.;== OpenNTPD == | |||
* увімкнення служб; | |||
* запуску служб; | |||
* зупинки служб; | |||
* перевірки статусу; | |||
* керування параметрами daemon-ів; | |||
* адміністрування server services.;== Безпека OpenBSD == | |||
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | <div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | ||
</div> | |||
|- | |||
| Походження | |||
| Відгалуження від NetBSD | |||
| BSD-система з фокусом на portability | |||
|- | |||
| ключовий акцент | |||
| Security і correctness | |||
| Portability | |||
|- | |||
| Архітектури | |||
| Кілька підтримуваних платформ | |||
| Дуже широкий фокус на різні платформи | |||
|- | |||
| Культура | |||
| Security-first | |||
| “Of course it runs NetBSD” | |||
|} | |||
set skip on lo | |||
<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;"> | |||
</div> | |||
pkg_delete package_name | |||
'''Висновок:''' pfSense зручніший як готовий firewall із web UI, а OpenBSD — як чиста платформа для тих, хто хоче повний контроль через конфігурацію.;</div> | |||
== signify == | |||
== cwm == | |||
Основні історичні напрями: | |||
== | |||
* backup; | |||
* sysupgrade; | |||
* package update; | |||
* reading upgrade notes; | |||
* config file changes; | |||
* reboot; | |||
* errata patches; | |||
* перевірка сервісів; | |||
* перевірка PF; | |||
* перевірка packages.;=== Подивитися auth logs === | |||
</div> | |||
</div> | |||
</syntaxhighlight> | |||
== | pkg_add -u | ||
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | |||
=== Встановити пакет === | |||
== OpenBSD | == Коли OpenBSD має змогу бути невдалим вибором == | ||
Приклади: | |||
</div> | </div> | ||
'''Ports tree''' — платформа для збирання програм із вихідного коду.;<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | |||
rcctl enable sshd | |||
Вона застосовується для: | |||
== актуалізація OpenBSD == | |||
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> | |||
Man pages часто є собою першим і найкращим джерелом інформації.;</div> | |||
Типові теми: | |||
!; Для більшості задач достатньо pkg_add.;</div> | |||
!; | |||
</syntaxhighlight> | |||
{| class="wikitable" | |||
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | <div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | ||
<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;"> | |||
<div style="background:#fff7ed; border-left:6px solid #fb923c; padding:12px; margin:12px 0;"> | |||
< | |||
== VPN == | |||
OpenBSD має обмеження.; :contentReference [oaicite:2]{index=2} | |||
'''Security by default''' означає, що платформа після встановлення має бути максимально обережною.; * Матеріали щодо BSD, UNIX-like systems, firewall, SSH, network security і server hardening.; Він підходить для: | |||
<syntaxhighlight lang="sh"> | |||
* | |||
= | !;<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;"> | ||
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;"> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
* packet filtering; | |||
* NAT; | |||
* | * port forwarding; | ||
* | * traffic shaping у відповідних сценаріях; | ||
* | * firewall gateway; | ||
* | |||
* firewall; | |||
* router; | * router; | ||
* VPN gateway; | * VPN gateway; | ||
* | * redirection; | ||
* | * table-based rules; | ||
* | * network segmentation.; У реальному firewall потрібно враховувати інтерфейси, IPv6, ICMP, anti-spoofing, VPN, NAT, logging, management access і ризик втрати віддаленого доступу.; PF застосовується для: | ||
Основні команди: | |||
Можливі компоненти: | |||
== Хороші практики OpenBSD == | |||
'''істотно:''' firewall-правила мають бути простими й зрозумілими.; * PF User's Guide.; Саме з цієї причини простота PF дуже цінується.; Рекомендовано: | |||
rcctl start sshd | * прибрати небезпечний або застарілий код; | ||
* спростити реалізацію; | |||
* провести аудит; | |||
* зробити бібліотеку більш підтримуваною; | |||
* зменшити складність; | |||
* зберегти потрібну сумісність у межах можливого.; rcctl start sshd | |||
== Тематичні мітки == | |||
* збірки з нестандартними опціями; | |||
* підтримки пакетів; | |||
* розробки портів; | |||
* тестування; | |||
* адаптації програм під OpenBSD; | |||
* участі в ports@ спільноті.; '''cwm''' — легкий window manager, який входить в OpenBSD.; Складний pf.conf без документації без зайвих зусиль перетворюється на пастку для адміністратора.; permit persist admin as root | |||
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | |||
</div> | |||
'''Цікавий факт:''' в OpenBSD фраза “читай man page” часто не грубість, а справді хороша порада — документація там зазвичай якісна й практична.;<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | |||
'''OpenBSD''' — це вільна UNIX-подібна операційна платформа з родини BSD, яка стала символом security-first підходу.; З часом OpenBSD сформувала власну культуру: відкритість коду, жорсткий аудит, мінімалізм, криптографія, чистота реалізації та дуже прямий підхід до security.;</div> | |||
</div> | |||
!; OpenBSD регулярно випускає нові релізи.; FreeBSD | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Джерела == | |||
== Коли варто використовувати OpenBSD == | |||
* amd64; | |||
* arm64; | |||
* armv7; | |||
* i386 у відповідних старіших/підтримуваних сценаріях; | |||
* sparc64; | |||
* powerpc64; | |||
* riscv64 у сучасних напрямах; | |||
* інші архітектури залежно від релізу.;</div> | |||
== історичний розвиток OpenBSD == | |||
</syntaxhighlight> | |||
'''Цікава деталь:''' OpenBSD desktop часто більше схожий на інструментальну майстерню, ніж на блискучий торговий центр.; Її сила — у контрольованих, зрозумілих, мережевих і security-focused сценаріях: firewall, router, SSH bastion, DNS, mail relay, простий сервер, security lab або навчання UNIX.;<syntaxhighlight lang="pf"> | |||
Ports корисні для: | |||
Приклад ідеї правила PF: | |||
<div | </div> | ||
це вільна UNIX-подібна операційна платформа з родини BSD.; Це зменшує attack surface.; pfctl -f /etc/pf.conf | |||
* простих сайтів; | |||
* | * статичних сторінок; | ||
* | * small web services; | ||
* | * reverse proxy у частині сценаріїв; | ||
* | * internal tools; | ||
* | * документації; | ||
* | * lightweight hosting.; !;<syntaxhighlight lang="sh"> | ||
</div> | </div> | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
Якщо програма після цього намагається зробити щось неочікуване, платформа має змогу її зупинити.; актуалізація потрібно робити уважно, читаючи upgrade guide.; | Якщо програма після цього намагається зробити щось неочікуване, платформа має змогу її зупинити.; актуалізація потрібно робити уважно, читаючи upgrade guide.; Проєкт очолив Theo de Raadt.; NetBSD | ||
Він мінімалістичний, швидкий і добре відповідає OpenBSD-стилю.; pass out | |||
pass | |||
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | <div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> | ||
У OpenBSD істотно не редагувати системні файли без потреби, а використовувати правильні локальні конфігураційні механізми.;<syntaxhighlight lang="sh"> | |||
== softraid і шифрування == | |||
У OpenBSD | </syntaxhighlight> | ||
'''relayd''' — OpenBSD daemon для relay, load balancing і proxy-сценаріїв.; Критерій | |||
signify застосовується для: | |||
У OpenBSD це проявляється так: | |||
OpenBSD має систему binary packages.; * PF firewall з OpenBSD вплинув на інші BSD-екосистеми й firewall-рішення.; * У світі OpenBSD “простий” часто означає “безпечніший, зрозуміліший і легший для аудиту”.;</div> | |||
OpenBSD відома культурою аудиту коду.;== Філософія OpenBSD == | |||
* [[BSD]] | |||
* [[FreeBSD]] | * [[FreeBSD]] | ||
* [[NetBSD]] | * [[NetBSD]] | ||
| Рядок 1005: | Рядок 1007: | ||
* [[Приватність даних]] | * [[Приватність даних]] | ||
dmesg | |||
* [[OpenBSD]] | * [[OpenBSD]] | ||
| Рядок 1025: | Рядок 1027: | ||
* [[Network security]] | * [[Network security]] | ||
* [[Документація]] | * [[Документація]] | ||
Поточна версія на 08:14, 9 травня 2026
OpenBSD походить із BSD-традиції й розвивається як окрема операційна платформа з власним ядром, userland, документацією, інструментами, ports tree і пакетною системою.; :contentReference [oaicite:9]{index=9}
Практична роль: OpenBSD добре підходить для невеликих DNS-серверів, де потрібна проста й контрольована конфігурація.; * перегляд системного коду;
- пошук небезпечних функцій;
- спрощення реалізації;
- видалення застарілого коду;
- перевірку меж буферів;
- криптографічний review;
- аналіз privilege separation;
- пошук логічних помилок;
- перевірку default configuration.; rcctl stop sshd
- security by default;
- correctness;
- simplicity;
- code audit;
- clean design;
- minimalism;
- integrated cryptography;
- якісна документація;
- відмова від зайвої складності;
- консервативний підхід до функцій;
- ручне й свідоме ввімкнення сервісів.;== OpenBGPD ==
Поширені помилки: Людською мовою: OpenBSD — це платформа, яка часто каже “ні” заради того, щоб решта працювала надійніше.; * OpenSMTPD;
- spamd;
- Dovecot через packages;
- rspamd через packages;
- DKIM tools;
- TLS;
- DNS records;
- mail aliases;
- local delivery;
- relay host.;
OpenBSD має змогу використовуватися для VPN-сценаріїв.; OpenBSD можна використовувати для поштової інфраструктури.;== Висновок ==
Практична роль: relayd надає можливість будувати невеликі, чисті й контрольовані мережеві архітектури без надмірної складності.; sysupgrade !;== Логування ==
OpenBSD добре підходить для компактних серверів із чіткою роллю.; sysupgrade
- keyboard layout;
- hostname;
- network;
- root password;
- user account;
- disk layout;
- sets;
- time zone;
- sshd;
- mirrors;
- packages у частині сценаріїв.; LibreSSL — криптографічна бібліотека, розроблена проєктом OpenBSD як форк OpenSSL після гучних проблем у OpenSSL-екосистемі.; syspatch — інструмент для встановлення binary patches для базової системи OpenBSD.; Критерій
- очікувати поведінку Linux;
- не читати man pages;
- вмикати зайві сервіси;
- писати занадто складний pf.conf;
- втрачати SSH-доступ через неправильне firewall-правило;
- не робити backup перед upgrade;
- не оновлювати packages;
- ігнорувати `/var/log/authlog`;
- встановлювати пакети без потреби;
- редагувати системні файли не тим способом;
- плутати packages і ports;
- очікувати ідеальний desktop experience;
- не перевіряти hardware compatibility.; Можливі сценарії:
|- | Тип | Загальна UNIX-like ОС | Firewall/router дистрибутив на базі FreeBSD |- | Інтерфейс | CLI, конфігураційні файли | Web UI |- | Firewall | PF | PF у FreeBSD-екосистемі |- | Для кого | Досвідчені адміністратори UNIX/BSD | Користувачі, яким потрібен готовий firewall appliance |- | Гнучкість | Вища на рівні ОС | Вища зручність для типових firewall-сценаріїв |}
Це лише навчальний приклад.; pass out Це корисно для:
Офіційна сторінка OpenBSD 7.8 зазначає, що більшість ports доступні як packages на mirrors.;
tail -f /var/log/authlog
Приклади:
Прочитати поради після встановлення
Цікавий факт
OpenBSD часто використовують як firewall/router завдяки наявності PF, стабільній мережевій підсистемі й мінімалістичному підходу.; Вона відома OpenSSH, PF firewall, якісною документацією, мінімальною стандартною інсталяцією, аудитом коду, pledge, unveil, signify, LibreSSL і культурою простоти.; Типові джерела:
істотно: OpenBSD — це не без ускладнень “ще один BSD”.; Критично: перед оновленням сервера потрібно мати backup, доступ до консолі або out-of-band management і план відновлення.; Окремо варто відзначити яка відома дуже сильним фокусом на безпеку, простоту, аудит коду, криптографію, якість документації і мінімалістичний підхід до стандартної інсталяції виступає ключовою рисою OpenBSD.; * OpenBSD часто прибирає або переписує код, якщо вважає його небезпечним або надто складним.;=== Встановити errata patches ===
- NAT;
- packet filtering;
- VPN;
- routing;
- DHCP;
- DNS forwarding;
- traffic segmentation;
- small office gateway;
- home lab firewall;
- bastion network;
- network experiments.; Цікава ідея: pledge схожий на договір між програмою й ОС: “я буду робити тільки це, а якщо раптом спробую більше — зупини мене”.; Йдеться саме про стандартну інсталяцію з мінімумом увімкнених сервісів.; завдяки наявності Практична роль: unveil користувачі можуть зробити так, щоб програма не могла випадково або навмисно читати те, що їй не потрібно.;
pkg_info
- TCP relay;
- HTTP relay;
- TLS termination у відповідних конфігураціях;
- load balancing;
- health checks;
- reverse proxy;
- internal service routing.;
Для приватності істотно:
- keyboard-driven роботи;
- легкого desktop;
- старішого hardware;
- простого X11-середовища;
- користувачів, які не хочуть важкий desktop environment.; OpenBSD має змогу використовуватися на різних типах hardware, залежно від поточного релізу:
істотно: OpenBSD storage tools можуть відрізнятися від Linux.;
Перевага: OpenBSD добре підходить для тих, хто хоче систему з чіткою логікою, сильними man pages і security-first культурою.; :contentReference [oaicite:8]{index=8}
Найлюдяніший факт: OpenBSD схожа на інструмент, зроблений майстрами для майстрів.;- gaming;
- desktop для новачка;
- hardware з проблемною підтримкою;
- ноутбуків із найновішими Wi-Fi/GPU;
- Kubernetes-heavy інфраструктури;
- AI/ML workstation;
- задач, де потрібна максимальна кількість пакетів;
- систем, де команда знає лише Linux;
- комерційного ПЗ, яке підтримує роботу тільки Linux;
- high-performance storage із ZFS-вимогами;
- домашнього користувача, якому потрібен “щоб усе працювало саме”.;== OpenBSD і pfSense ==
Інсталяція OpenBSD
Filesystem і storage
LibreSSL
- `ssh`;
- `sshd`;
- `scp`;
- `sftp`;
- `ssh-keygen`;
- `ssh-agent`;
- `ssh-add`;
- port forwarding;
- key-based authentication;
- secure remote administration.;== Security by default ==
Компоненти можуть включати:
- routing;
- BGP-сесій;
- мережевих операторів;
- edge routing;
- internet infrastructure;
- lab-середовищ;
- маршрутизації між автономними системами.; OpenBSD
OpenBSD підтримує роботу кілька апаратних архітектур.; офіційно затверджений сайт OpenBSD прямо зазначає, що popular OpenSSH software comes from OpenBSD.; істотно: перед встановленням потрібно перевірити hardware compatibility для конкретної версії OpenBSD і конкретної архітектури.;== OpenBSD і Linux ==
OpenNTPD — NTP daemon від OpenBSD для синхронізації часу.; block all signify — інструмент OpenBSD для цифрового підпису й перевірки файлів.; Приклад:
Архітектури
- unwind;
- unbound;
- nsd;
- DNS forwarding;
- caching resolver;
- authoritative DNS;
- DNSSEC у відповідних сценаріях.;</syntaxhighlight>
- `/var/log/messages`;
- `/var/log/authlog`;
- daemon logs;
- PF logs;
- mail logs;
- application logs;
- dmesg;
- cron logs.; Практична роль: signify — приклад OpenBSD-підходу: маленький інструмент, який робить одну важливу річ і робить її зрозуміло.;
rc.conf.local — файл для локальних налаштувань служб.; Критерій
!; tail -f /var/log/authlog
Практична роль: OpenBSD створює не лише ОС, а й важливі мережеві daemon-и з акцентом на простоту й безпеку.; Цікава деталь: doas — це приклад того, як OpenBSD часто створює маленькі альтернативи великим інструментам, якщо вважає їх надто складними.; pkg_add vim
man pkg_add
Див.; додатково
- походження з BSD;
- відгалуження від NetBSD;
- створення окремої security-first культури;
- еволюція OpenSSH;
- поява PF firewall;
- розробка програмного забезпечення OpenBGPD, OpenNTPD, OpenSMTPD;
- впровадження exploit mitigation;
- еволюція pledge і unveil;
- створення LibreSSL після проблем у OpenSSL-екосистемі;
- регулярні релізи приблизно кожні пів року;
- супровід різних апаратних платформ.; OpenBSD має легендарну репутацію в security-спільноті.; серверів забезпечується через OpenBSD часто використовують; додатково реалізовано firewall, маршрутизаторів, VPN-шлюзів, DNS, mail-серверів, навчання UNIX, розробки системного програмного забезпечення, security research і середовищ, де важливі передбачуваність, контроль і невелика attack surface.; Вона дуже сильна у своїх нішах, але не намагається бути універсальною для кожного сценарію.;== PF firewall ==
- читати `man afterboot`;
- регулярно встановлювати syspatch;
- оновлювати packages через `pkg_add -u`;
- не вмикати зайві сервіси;
- писати простий pf.conf;
- використовувати SSH keys;
- обмежувати root-доступ;
- використовувати doas замість постійної роботи від root;
- робити backup перед sysupgrade;
- читати release notes і upgrade guide;
- перевіряти `/var/log/authlog`;
- не встановлювати зайві packages;
- документувати локальні зміни;
- тримати конфігурації під контролем версій;
- тестувати firewall-правила перед віддаленим застосуванням.;
pass in on egress proto tcp to port 22 == Firewall і router == * мінімум увімкнених сервісів; * безпечніші конфігурація за замовчуванням; * регулярний аудит коду; * вбудовані exploit mitigations; * консервативна конфігурація; * якісні man pages; * прості інструменти; * ручне ввімкнення додаткових сервісів; * уважне ставлення до криптографії; * принцип “краще вимкнено, доки не потрібно”.; pfSense '''центральний внесок:''' навіть якщо OpenBSD не стоїть на вашому сервері, OpenSSH має змогу бути щоденним інструментом вашої роботи.; !; '''істотно:''' поштовий сервер завжди потребує уважної конфігурації: DNS, SPF, DKIM, DMARC, TLS, relay rules і spam control.; rcctl enable sshd <div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> <syntaxhighlight lang="sh"> OpenSSH охоплює: '''softraid''' в OpenBSD застосовується для програмного RAID і шифрування дисків.;== OpenSMTPD == !;
block all
Під час інсталяції налаштовуються:
- правила блокування;
- дозволені з’єднання;
- NAT;
- redirection;
- tables;
- macros;
- anchors;
- logging;
- anti-spoofing;
- правила для окремих інтерфейсів.;</syntaxhighlight>
- X11;
- xenodm;
- cwm;
- fvwm;
- різні window managers;
- Firefox;
- Chromium;
- LibreOffice;
- редактори;
- термінали;
- mail clients;
- development tools.; Проєкт не намагається подобатися всім.; :contentReference [oaicite:3]{index=3}
Він застосовується для:
pledge
Оновити пакети
pass in on egress proto tcp to port 22
Аудит коду
Загальний характеристика
Увімкнути SSH daemon
{{SEO
man sshd_config
- secure defaults;
- code audit;
- privilege separation;
- pledge;
- unveil;
- W^X;
- ASLR;
- stack protection;
- signed packages;
- signify;
- minimal services;
- strong cryptography;
- careful daemon design;
- conservative development culture.;
Практична роль: PF — одна з причин, чому OpenBSD часто обирають для firewall і мережевих шлюзів.;== Приклад простого pf.conf ==
pf.conf — конфігураційний файл PF.;</syntaxhighlight>
syspatch корисний для:
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
</div>
</div>
OpenBSD часто не додає функцію лише з цієї причини, що вона популярна.;== Серверне використання ==
== Mail server ==
{| class="wikitable"
'''Критично:''' не застосовуйте firewall-правила на віддаленому сервері без тесту, резервного доступу й плану відкату.; '''Цікавий момент:''' OpenBSD не без ускладнень додає нові “захисні фічі”, а часто прибирає зайву складність, бо складність сама по собі є собою джерелом багів.; * мінімізувати зайві сервіси;
* перевіряти пакети;
* контролювати логи;
* налаштовувати firewall;
* використовувати шифрування диска;
* оновлювати систему;
* не встановлювати зайві daemon-и;
* контролювати браузер і web-застосунки;
* не плутати privacy з anonymity.; rcctl застосовується для:
== rc.conf.local ==
<syntaxhighlight lang="sh">
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
== Цікаві факти про OpenBSD ==
'''Підказка:''' базовий набір OpenBSD-адміністратора — `man`, `rcctl`, `pkg_add`, `syspatch`, `sysupgrade`, `pfctl`, `dmesg` і уважне читання `/var/log`.;<syntaxhighlight lang="sh">
<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;">
OpenBSD можна використовувати для DNS-сервісів.; pfctl -sr rcctl status sshd
== Приватність ==
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
* FFS;
* disklabel;
* softraid;
* encrypted disks;
* swap;
* mount points;
* dump/restore;
* fsck;
* partitions;
* backups.; Розробники шукають помилки не лише після інцидентів, а й проактивно.;</div>
'''Практична порада:''' у OpenBSD краще працювати “як задумано системою”, а не ламати стандартну структуру конфігурацій.; doas має мінімалістичну конфігурацію й відповідає стилю OpenBSD: менше коду, менше складності, зрозумілі правила.; * OpenBSD не боїться бути нішевою.;<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
</div>
man afterboot
== OpenBSD і FreeBSD ==
<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;">
OpenBSD після встановлення зазвичай має небагато увімкнених сервісів.;</div>
<syntaxhighlight lang="sh">
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
Типові теми актуалізація:
</div>
'''Практична роль:''' у OpenBSD логи часто прості, текстові й зрозумілі — це дуже сприяє під час діагностики.; Linux
man afterboot
'''doas''' — простіший інструмент для виконання команд з іншими правами, часто як альтернатива sudo.; Саме portability є собою однією з офіційно зазначених цілей проєкту.; Інший цікавий факт: '''OpenSSH''', один із найважливіших інструментів безпечного віддаленого доступу у світі UNIX/Linux, походить саме з OpenBSD.; Якщо функція ускладнює систему або створює небажані ризики, її можуть не прийняти.; :contentReference [oaicite:1]{index=1}
OpenBSD має власний підхід до файлових систем і storage.; * логів;
- TLS;
- Kerberos;
- distributed systems;
- audit;
- monitoring;
- scheduled tasks;
- debugging;
- security events.; Вона не прагне бути найзручнішим desktop, наймасовішою cloud-платформою або найширшою package-екосистемою.; :contentReference [oaicite:5]{index=5}
pkg_add і пакети
rcctl
rcctl — інструмент для керування системними службами в OpenBSD.;== unveil == PF або Packet Filter — firewall, який з’явився в OpenBSD і став одним із найвідоміших BSD firewall-рішень.; OpenBSD застосовується для:
- серверів;
- firewall;
- маршрутизаторів;
- VPN;
- DNS;
- mail-серверів;
- web-серверів;
- bastion hosts;
- security appliances;
- UNIX-навчання;
- системного програмування;
- криптографічних інструментів;
- мережевої інфраструктури;
- minimal desktop для досвідчених користувачів;
- розробки secure software;
- експериментів із BSD-системами.; OpenBSD
істотно: ports — це не ключовий шлях для кожного користувача.; * OpenBSD man pages.; Навіть якщо людина ніколи не встановлювала OpenBSD, вона майже напевно користувалася OpenSSH.;
Офіційна сторінка релізу OpenBSD 7.8, як ілюстрація, згадує signify pubkeys для релізу.; pkg_add -u
syspatch
Можливі варіанти:
'''Найцікавіше:''' OpenBSD впливає на світ набагато сильніше, ніж здається за її часткою користувачів.; '''Практична роль:''' правильний час у системі — це дрібниця лише до першого випадку, коли логи різних серверів неможливо зіставити.; Це проєкт із дуже виразною філософією: краще менше, але якісніше, простіше й безпечніше.; Вона намагається бути простою, зрозумілою, правильною й безпечною за замовчуванням.; '''істотно:''' VPN потрібно налаштовувати обережно: криптографія, ключі, маршрути, firewall і access control мають бути узгоджені.; Вона не завжди зручна для всіх, але дуже приємна для тих, хто цінує порядок і ясність.; У OpenBSD 7.8 передбачено численні зміни в ядрі, драйверах, мережевій підсистемі, архітектурній підтримці, userland, пакетах і безпеці.;<syntaxhighlight lang="sh">
Можливі задачі:
!; * OpenBSD 7.8 Release.; man afterboot
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
== OpenBSD 7.8 ==
OpenBSD має власний простий web server — '''httpd'''.; Якщо диск пошкоджено або втрачено пароль, інформаційні дані можуть бути недоступні.; офіційно затверджений changelog 7.8 містить детальний перелік змін між 7.7 і 7.8.; * OpenBSD 7.8 Changelog.; * У OpenBSD дуже серйозно ставляться до man pages.; Критерій
* офіційно затверджений сайт OpenBSD.;
Критично: навіть OpenBSD можна зробити небезпечною поганою конфігурацією.; * security patches;
- errata patches;
- швидкого актуалізація base system;
- підтримки актуального стану;
- production-серверів.; :contentReference [oaicite:4]{index=4}
Практична роль: OpenBSD особливо добре функціонує, коли сервер має одну зрозумілу роль і мінімум зайвого.; Документація є собою частиною культури проєкту.; Можливі проблеми:
Висновок: Linux краще для масових задач і hardware compatibility, а OpenBSD — для простих, контрольованих, security-focused систем.; OpenBSD використовує класичні UNIX-механізми логування.;Вона сприяє зрозуміти, що зробити після першого встановлення.; * OpenBSD ports and packages documentation.; Програма має змогу бачити лише ті частини файлової системи, які їй явно відкриті.; Приклади:
- sandboxing;
- обмеження шкоди від багів;
- зменшення доступу до зайвих файлів;
- простішого security review;
- захисту конфігурацій і даних;
- принципу least privilege.;
Типові помилки початківців
</syntaxhighlight>
Типові серверні сценарії:
Приклад команди:
- encrypted laptop;
- encrypted server disk;
- RAID;
- disk redundancy;
- boot disk encryption у відповідних конфігураціях;
- захист даних при втраті пристрою.;== DNS ==
Man pages
</div>
rcctl start sshd
'''OpenBSD 7.8''' — актуальний реліз OpenBSD, випущений 22 жовтня 2025 року.; '''Висновок:''' OpenBSD частіше обирають за security-first підхід, а FreeBSD — за універсальність, продуктивність, ZFS і ширші серверні сценарії.;<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
Пакети використовуються для встановлення:
</div>
<div style="background:#fdecea; border-left:6px solid #e74c3c; padding:12px; margin:12px 0;">
</div>
== httpd ==
Desktop на OpenBSD має змогу включати:
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
офіційно затверджений сайт описує OpenBSD як '''FREE, multi-platform 4.4BSD-based UNIX-like operating system''' із фокусом на portability, standardization, correctness, proactive security та integrated cryptography.; OpenBSD часто приваблює користувачів, які цінують контроль над системою.; :contentReference [oaicite:6]{index=6}
<syntaxhighlight lang="sh">
* SSH bastion;
* firewall;
* router;
* VPN gateway;
* DNS server;
* web server;
* mail relay;
* monitoring node;
* small database server;
* internal tools;
* Git server;
* security lab;
* jump host.;<div style="background:#fef2f2; border-left:6px solid #ef4444; padding:12px; margin:12px 0;">
Філософію OpenBSD можна описати кількома словами:
OpenBSD не є собою найкращою ОС для кожного користувача.; '''Головна думка:''' OpenBSD — це операційна платформа для людей, які цінують простоту, документацію, безпеку й контроль більше, ніж блискучі функції та максимальну універсальність.; На офіційному сайті проєкту довгий час застосовують, коли потрібно фраза: '''“Only two remote holes in the default install, in a heck of a long time!”''' Це не означає, що будь-яка платформа OpenBSD автономно невразлива.;<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
</div>
=== Перевірити PF ===
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
'''Практична роль:''' OpenBSD має передбачуваний ритм релізів, з цієї причини адміністратору істотно планувати актуалізація, а не залишати систему на старій версії роками.; OpenBSD
</div>
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
* SMTP;
* mail relay;
* локальної доставки пошти;
* простих mail-серверів;
* relay-сценаріїв;
* системних повідомлень;
* інтеграції з іншими mail-компонентами.; Це набір інструментів для безпечного віддаленого доступу, копіювання файлів і тунелювання.; Сьогодні OpenSSH використовують не лише користувачі OpenBSD, а й Linux-сервери, macOS, мережеве обладнання, хмарні платформи й багато enterprise-систем.;</div>
|-
| Тип
| Цілісна BSD-система
| Ядро + дистрибутиви
|-
| Фокус
| Security, correctness, simplicity
| Дуже широкий спектр задач
|-
| Пакети
| pkg_add, ports
| Залежить від дистрибутива
|-
| Hardware support
| Обмеженіший
| Зазвичай ширший
|-
| Desktop
| Нішевий
| Масовий у Linux-світі
|-
| Server
| Добрий для чітких ролей
| Дуже широкий server/cloud ecosystem
|}
'''Головне правило:''' OpenBSD найкраще функціонує, коли платформа проста, роль сервера зрозуміла, а адміністратор читає документацію.; У ньому можна описувати:
pfctl -nf /etc/pf.conf
* серверного ПЗ;
* desktop-застосунків;
* мов програмування;
* редакторів;
* баз даних;
* web-серверів;
* утиліт;
* development tools.;<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;">
* WireGuard через packages;
* IPsec;
* OpenVPN через packages;
* SSH tunnels;
* site-to-site VPN;
* remote access VPN;
* encrypted management access.;
OpenBSD і NetBSD
cwm підходить для:
Головна перевага: OpenBSD змушує думати про систему як про інженерний об’єкт: що ввімкнено, навіщо, як це захищено і як це документовано.;- читання файлів;
- мережа;
- stdio;
- DNS;
- робота з process;
- інші чітко визначені групи можливостей.; Офіційна сторінка релізу зазначає, що це 59-й реліз OpenBSD.; pledge — механізм OpenBSD, який надає можливість програмі добровільно обмежити свої функціональні можливості.;=== Оновити систему до наступного релізу ===
pkg_add package_name
man rcctl
|-
| ключовий фокус
| Безпека, correctness, minimalism
| Продуктивність, сервери, storage, ширша універсальність
|-
| Firewall
| PF як центральний інструмент
| PF, IPFW, інші варіанти
|-
| Desktop
| Можливий, але не головна ніша
| Частіше застосовується як desktop/server у BSD-світі
|-
| Storage
| Простішій підхід
| ZFS — одна з сильних сторін
|-
| Культура
| Security-first і консервативна
| Більш універсальна й performance-oriented
|}
!; :contentReference [oaicite:7]{index=7}
!; LibreSSL став прикладом OpenBSD-підходу:
</div>
</div>
== doas ==
=== Перевірити версію ===
'''Практична порада:''' OpenBSD варто обирати тоді, коли ви готові прийняти її стиль: простота, документація, ручна конфігурація й security-first мислення.; Не варто переносити Linux-звички без читання документації.; '''Практична порада:''' mail server — одна з найскладніших серверних задач.;</div>
== Мінімальна стандартна інсталяція ==
- обмеженіша hardware support, ніж у Linux;
- не найкращий вибір для gaming;
- менша кількість пакетів;
- повільніша супровід деяких нових пристроїв;
- не cloud-native за замовчуванням;
- менше tutorial-контенту, ніж для Linux;
- деякі програми можуть бути недоступні;
- desktop-сценарії потребують більше знань;
- нижча продуктивність у деяких workloads;
- специфічна BSD-адміністрація;
- потрібно читати документацію;
- не підходить для всіх серверних задач.;== переважні аспекти OpenBSD ==
Приклади команд OpenBSD
OpenBSD добре підходить, якщо потрібно:
- менше відкритих портів;
- менше випадкових сервісів;
- менше неочевидних залежностей;
- простіший аудит;
- кращу передбачуваність;
- зрозумілішу систему для адміністратора;
- безпечнішу стартову точку.; Безпечна ОС не рятує від слабких паролів, відкритих сервісів і неоновлених пакетів.; * OpenSSH documentation.; Він має змогу використовуватися для:
man pf.conf Приклад ідеї:
Помилка: ставити OpenBSD лише через репутацію безпеки, не розуміючи її обмежень, hardware support і відмінностей від Linux.; * security by default;
- якісна документація;
- мінімальна стандартна інсталяція;
- OpenSSH;
- PF firewall;
- pledge;
- unveil;
- signify;
- LibreSSL;
- прості конфігураційні файли;
- регулярні релізи;
- сильна UNIX-культура;
- інтегрована базова платформа;
- хороший вибір для firewall;
- хороший вибір для bastion host;
- чистий design;
- менше зайвої складності.; Критично: шифрування диска не замінює backup.; Аудит має змогу включати:
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
'''Увага:''' OpenBSD desktop підійде не всім.; OpenSSH застосовується в багатьох операційних системах далеко за межами OpenBSD.; * Документація щодо pledge, unveil, signify, rcctl, syspatch, sysupgrade і OpenBSD security.; !; Особливо важлива сторінка:
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
- перевірки релізів;
- перевірки пакетів;
- підпису важливих файлів;
- простішої криптографічної перевірки;
- захисту supply chain;
- довіри до оновлень.; * OpenSSH, один із найважливіших security-інструментів у світі, походить із OpenBSD.;
Практична роль: httpd добре вписується в OpenBSD-філософію: простий, зрозумілий, мінімалістичний web server.; Основні переважні аспекти OpenBSD: Синхронізація часу важлива для:
Обмеження OpenBSD
Desktop на OpenBSD
OpenBSD має змогу бути не найкращим вибором для: </syntaxhighlight>
як ілюстрація, програма має змогу “пообіцяти”, що їй потрібні лише:
- firewall;
- router;
- SSH bastion;
- простий і безпечний server;
- VPN gateway;
- DNS server;
- mail relay;
- security lab;
- навчання UNIX;
- мінімалістична платформа;
- платформа з хорошими man pages;
- контрольована мережева інфраструктура;
- вивчення PF;
- UNIX-середовище без зайвої складності.; OpenBSD
істотно: security by default не означає “можна нічого не налаштовувати”.; Ви самі відкриваєте тільки ті, які справді потрібні.;== relayd == До них належать: Проста аналогія: OpenBSD не дає вам будинок із усіма дверима відчиненими.; Він текстовий, швидкий і не намагається бути красивим.;== Ports tree ==
</syntaxhighlight>
OpenSSH
== syspatch ==
OpenBSD виникла як відгалуження від NetBSD у 1995 році.; Це означає, що початкова точка безпечніша, але адміністратор усе одно відповідає за конфігурацію.; Для gaming, multimedia або нових ноутбуків Linux чи інша desktop-ОС часто буде простішою.; syspatch
* OpenBSD має власну культуру релізного artwork: кожен реліз часто супроводжується оригінальними ілюстраціями й темою.;== OpenNTPD ==
* увімкнення служб;
* запуску служб;
* зупинки служб;
* перевірки статусу;
* керування параметрами daemon-ів;
* адміністрування server services.;== Безпека OpenBSD ==
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
</div>
|-
| Походження
| Відгалуження від NetBSD
| BSD-система з фокусом на portability
|-
| ключовий акцент
| Security і correctness
| Portability
|-
| Архітектури
| Кілька підтримуваних платформ
| Дуже широкий фокус на різні платформи
|-
| Культура
| Security-first
| “Of course it runs NetBSD”
|}
set skip on lo
<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;">
</div>
pkg_delete package_name
'''Висновок:''' pfSense зручніший як готовий firewall із web UI, а OpenBSD — як чиста платформа для тих, хто хоче повний контроль через конфігурацію.;</div>
== signify ==
== cwm ==
Основні історичні напрями:
* backup;
* sysupgrade;
* package update;
* reading upgrade notes;
* config file changes;
* reboot;
* errata patches;
* перевірка сервісів;
* перевірка PF;
* перевірка packages.;=== Подивитися auth logs ===
</div>
</div>
pkg_add -u
Встановити пакет
Коли OpenBSD має змогу бути невдалим вибором
Приклади:
rcctl enable sshd
Вона застосовується для:
актуалізація OpenBSD
Типові теми:
| ; Для більшості задач достатньо pkg_add.;
</syntaxhighlight> VPNOpenBSD має обмеження.; :contentReference [oaicite:2]{index=2} Security by default означає, що платформа після встановлення має бути максимально обережною.; * Матеріали щодо BSD, UNIX-like systems, firewall, SSH, network security і server hardening.; Він підходить для: !;<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;">
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
Основні команди: Можливі компоненти: Хороші практики OpenBSDістотно: firewall-правила мають бути простими й зрозумілими.; * PF User's Guide.; Саме з цієї причини простота PF дуже цінується.; Рекомендовано:
Тематичні мітки
OpenBSD — це вільна UNIX-подібна операційна платформа з родини BSD, яка стала символом security-first підходу.; З часом OpenBSD сформувала власну культуру: відкритість коду, жорсткий аудит, мінімалізм, криптографія, чистота реалізації та дуже прямий підхід до security.;
|
|---|