Compare commits
2 Commits
5f56173ae9
...
132f194432
| Author | SHA1 | Date | |
|---|---|---|---|
| 132f194432 | |||
| 9138b45459 |
|
After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 9.2 KiB |
@@ -6,12 +6,12 @@
|
|||||||
# https://blowfish.page/docs/configuration/#theme-parameters
|
# https://blowfish.page/docs/configuration/#theme-parameters
|
||||||
|
|
||||||
colorScheme = "blowfish"
|
colorScheme = "blowfish"
|
||||||
defaultAppearance = "dark" # valid options: light or dark
|
defaultAppearance = "light" # valid options: light or dark
|
||||||
autoSwitchAppearance = false
|
autoSwitchAppearance = false
|
||||||
|
|
||||||
enableA11y = false
|
enableA11y = true
|
||||||
enableSearch = true
|
enableSearch = true
|
||||||
enableCodeCopy = false
|
enableCodeCopy = true
|
||||||
enableStructuredBreadcrumbs = false
|
enableStructuredBreadcrumbs = false
|
||||||
# enableStyledScrollbar = true # disable to use native scrollbar style (defaults to true)
|
# enableStyledScrollbar = true # disable to use native scrollbar style (defaults to true)
|
||||||
|
|
||||||
@@ -20,18 +20,19 @@ replyByEmail = false
|
|||||||
# mainSections = ["section1", "section2"]
|
# mainSections = ["section1", "section2"]
|
||||||
# robots = ""
|
# robots = ""
|
||||||
|
|
||||||
disableImageOptimization = false
|
disableImageZoom = true
|
||||||
disableImageOptimizationMD = false
|
disableImageOptimization = true
|
||||||
|
# disableImageOptimizationMD = false
|
||||||
disableTextInHeader = true
|
disableTextInHeader = true
|
||||||
# backgroundImageWidth = 1200
|
# backgroundImageWidth = 1200
|
||||||
|
|
||||||
defaultBackgroundImage = "/img/background.png" # used as default for background images
|
defaultBackgroundImage = "/img/background.svg" # used as default for background images
|
||||||
defaultFeaturedImage = "/img/background.png" # used as default for featured images in all articles
|
# defaultFeaturedImage = "/img/background.png" # used as default for featured images in all articles
|
||||||
# defaultSocialImage = "/android-chrome-512x512.png" # used as default for social media sharing (Open Graph and Twitter)
|
# defaultSocialImage = "/android-chrome-512x512.png" # used as default for social media sharing (Open Graph and Twitter)
|
||||||
hotlinkFeatureImage = false
|
hotlinkFeatureImage = false
|
||||||
# imagePosition = "50% 50%"
|
# imagePosition = "50% 50%"
|
||||||
|
|
||||||
# highlightCurrentMenuArea = true
|
highlightCurrentMenuArea = true
|
||||||
# smartTOC = true
|
# smartTOC = true
|
||||||
# smartTOCHideUnfocusedChildren = true
|
# smartTOCHideUnfocusedChildren = true
|
||||||
|
|
||||||
@@ -58,42 +59,42 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
|
|||||||
showMoreLink = true
|
showMoreLink = true
|
||||||
showMoreLinkDest = "/posts"
|
showMoreLinkDest = "/posts"
|
||||||
cardView = false
|
cardView = false
|
||||||
cardViewScreenWidth = true
|
cardViewScreenWidth = false
|
||||||
layoutBackgroundBlur = true # only used when layout equals background
|
layoutBackgroundBlur = true # only used when layout equals background
|
||||||
disableHeroImageFilter = false # only used when layout equals hero
|
disableHeroImageFilter = true # only used when layout equals hero
|
||||||
|
|
||||||
[article]
|
[article]
|
||||||
showDate = true
|
showDate = true
|
||||||
showViews = false
|
# showViews = false
|
||||||
showLikes = false
|
# showLikes = false
|
||||||
showDateOnlyInArticle = false
|
# showDateOnlyInArticle = false
|
||||||
showDateUpdated = false
|
# showDateUpdated = false
|
||||||
showAuthor = true
|
showAuthor = true
|
||||||
# showAuthorBottom = false
|
# showAuthorBottom = false
|
||||||
showHero = true
|
showHero = true
|
||||||
heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
|
heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
|
||||||
layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground
|
layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground
|
||||||
layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
|
layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
|
||||||
showBreadcrumbs = false
|
#showBreadcrumbs = false
|
||||||
showDraftLabel = true
|
showDraftLabel = true
|
||||||
showEdit = false
|
#showEdit = false
|
||||||
# editURL = "https://github.com/username/repo/"
|
# editURL = "https://github.com/username/repo/"
|
||||||
editAppendPath = true
|
# editAppendPath = true
|
||||||
seriesOpened = true
|
seriesOpened = true
|
||||||
showHeadingAnchors = true
|
showHeadingAnchors = true
|
||||||
showPagination = true
|
showPagination = true
|
||||||
invertPagination = false
|
# invertPagination = false
|
||||||
showReadingTime = true
|
showReadingTime = true
|
||||||
showTableOfContents = true
|
showTableOfContents = true
|
||||||
showRelatedContent = true
|
showRelatedContent = true
|
||||||
relatedContentLimit = 6
|
relatedContentLimit = 3
|
||||||
showTaxonomies = true # use showTaxonomies OR showCategoryOnly, not both
|
# showTaxonomies = true # use showTaxonomies OR showCategoryOnly, not both
|
||||||
showCategoryOnly = false # use showTaxonomies OR showCategoryOnly, not both
|
showCategoryOnly = true # use showTaxonomies OR showCategoryOnly, not both
|
||||||
showAuthorsBadges = false
|
showAuthorsBadges = false
|
||||||
showWordCount = false
|
# showWordCount = false
|
||||||
# sharingLinks = [ "linkedin", "twitter", "bluesky", "mastodon", "reddit", "pinterest", "facebook", "email", "whatsapp", "telegram", "line"]
|
# sharingLinks = [ "linkedin", "twitter", "bluesky", "mastodon", "reddit", "pinterest", "facebook", "email", "whatsapp", "telegram", "line"]
|
||||||
sharingLinks = [ "reddit", "email", "telegram"]
|
sharingLinks = [ "reddit", "email", "telegram"]
|
||||||
showZenMode = false
|
# showZenMode = false
|
||||||
# externalLinkForceNewTab = false # disable to allow external links in the same tab (defaults to true)
|
# externalLinkForceNewTab = false # disable to allow external links in the same tab (defaults to true)
|
||||||
# showComments = true
|
# showComments = true
|
||||||
|
|
||||||
@@ -102,17 +103,17 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
|
|||||||
heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
|
heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
|
||||||
layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground
|
layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground
|
||||||
layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
|
layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
|
||||||
showBreadcrumbs = false
|
# showBreadcrumbs = false
|
||||||
showSummary = false
|
showSummary = true
|
||||||
showViews = false
|
# showViews = false
|
||||||
showLikes = false
|
# showLikes = false
|
||||||
showTableOfContents = false
|
# showTableOfContents = false
|
||||||
showCards = false
|
showCards = true
|
||||||
orderByWeight = false
|
# orderByWeight = false
|
||||||
groupByYear = false
|
# groupByYear = false
|
||||||
cardView = false
|
# cardView = false
|
||||||
cardViewScreenWidth = false
|
# cardViewScreenWidth = false
|
||||||
constrainItemsWidth = false
|
# constrainItemsWidth = false
|
||||||
|
|
||||||
[sitemap]
|
[sitemap]
|
||||||
excludedKinds = ["taxonomy", "term"]
|
excludedKinds = ["taxonomy", "term"]
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 1.4 MiB |
@@ -3,6 +3,7 @@ title: "Блог на Hugo в K3s: часть 4 - выбор Git workflow"
|
|||||||
date: 2026-02-16
|
date: 2026-02-16
|
||||||
draft: false
|
draft: false
|
||||||
description: "Одна папка или две для dev и production? Разбираем Git workflow для Hugo блога в K3s — переключение веток против отдельных директорий."
|
description: "Одна папка или две для dev и production? Разбираем Git workflow для Hugo блога в K3s — переключение веток против отдельных директорий."
|
||||||
|
summary: "Одна папка или две для dev и production? Разбираем Git workflow для Hugo блога в K3s — переключение веток против отдельных директорий."
|
||||||
tags: ["git", "workflow", "devops", "hugo"]
|
tags: ["git", "workflow", "devops", "hugo"]
|
||||||
categories: ["Мои проекты"]
|
categories: ["Мои проекты"]
|
||||||
series: ["Блог на Hugo в K3s"]
|
series: ["Блог на Hugo в K3s"]
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 611 KiB |
@@ -3,6 +3,7 @@ title: "Debian 12: базовая настройка и hardening для product
|
|||||||
date: 2026-05-22
|
date: 2026-05-22
|
||||||
draft: false
|
draft: false
|
||||||
description: "Пошаговая настройка чистого Debian 12 (Bookworm) для production: SSH, firewall, fail2ban, swap, sysctl, автообновления, логи, бэкап конфигов."
|
description: "Пошаговая настройка чистого Debian 12 (Bookworm) для production: SSH, firewall, fail2ban, swap, sysctl, автообновления, логи, бэкап конфигов."
|
||||||
|
summary: "Пошаговая настройка чистого Debian 12 (Bookworm) для production: SSH, firewall, fail2ban, swap, sysctl, автообновления, логи, бэкап конфигов."
|
||||||
tags: ["debian-12", "security", "hardening", "ssh", "ufw", "fail2ban", "sysctl", "production", "linux"]
|
tags: ["debian-12", "security", "hardening", "ssh", "ufw", "fail2ban", "sysctl", "production", "linux"]
|
||||||
categories: ["Безопасность"]
|
categories: ["Безопасность"]
|
||||||
series: ["Linux Hardening"]
|
series: ["Linux Hardening"]
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 611 KiB |
@@ -3,6 +3,7 @@ title: "Debian 12: настройка Docker-хоста для production"
|
|||||||
date: 2026-05-22
|
date: 2026-05-22
|
||||||
draft: false
|
draft: false
|
||||||
description: "Пошаговая настройка Debian 12 как Docker-хоста для production: установка Docker, настройка daemon, UFW + Docker интеграция, изоляция контейнеров, docker.sock, ресурсные ограничения."
|
description: "Пошаговая настройка Debian 12 как Docker-хоста для production: установка Docker, настройка daemon, UFW + Docker интеграция, изоляция контейнеров, docker.sock, ресурсные ограничения."
|
||||||
|
summary: "Пошаговая настройка Debian 12 как Docker-хоста для production: установка Docker, настройка daemon, UFW + Docker интеграция, изоляция контейнеров, docker.sock, ресурсные ограничения."
|
||||||
tags: ["debian-12", "docker", "security", "hardening", "ufw", "production", "containers", "linux"]
|
tags: ["debian-12", "docker", "security", "hardening", "ufw", "production", "containers", "linux"]
|
||||||
categories: ["Безопасность"]
|
categories: ["Безопасность"]
|
||||||
series: ["Linux Hardening"]
|
series: ["Linux Hardening"]
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ title: "Диск забит на 100%: как Loki съел 24 ГБ логов,
|
|||||||
date: 2026-06-24
|
date: 2026-06-24
|
||||||
draft: false
|
draft: false
|
||||||
description: "Расследование заполненного диска на Debian 12: от алерта Zabbix через df, du и docker system df до найденного виновника - логов Loki без лимита ротации. Чек-лист подозреваемых и настройка лимита логов Docker."
|
description: "Расследование заполненного диска на Debian 12: от алерта Zabbix через df, du и docker system df до найденного виновника - логов Loki без лимита ротации. Чек-лист подозреваемых и настройка лимита логов Docker."
|
||||||
|
summary: "Расследование заполненного диска на Debian 12: от алерта Zabbix через df, du и docker system df до найденного виновника - логов Loki без лимита ротации."
|
||||||
tags: ["debian-12", "docker", "zabbix", "мониторинг", "диагностика", "логи", "xfs", "linux"]
|
tags: ["debian-12", "docker", "zabbix", "мониторинг", "диагностика", "логи", "xfs", "linux"]
|
||||||
categories: ["Файловые системы и хранилище"]
|
categories: ["Файловые системы и хранилище"]
|
||||||
series: ["Linux: эксплуатация и обслуживание"]
|
series: ["Linux: эксплуатация и обслуживание"]
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 777 KiB |
@@ -3,6 +3,7 @@ title: "Свой почтовый сервер на Debian 12 вместо Gmail
|
|||||||
date: 2026-03-05
|
date: 2026-03-05
|
||||||
draft: false
|
draft: false
|
||||||
description: "Зачем поднимать свой mail-сервер вместо Gmail. Анатомия почтового сервера: Postfix, Dovecot, антиспам, антивирус. Системные требования и чек-лист готовности."
|
description: "Зачем поднимать свой mail-сервер вместо Gmail. Анатомия почтового сервера: Postfix, Dovecot, антиспам, антивирус. Системные требования и чек-лист готовности."
|
||||||
|
summaty: "Зачем поднимать свой mail-сервер вместо Gmail. Анатомия почтового сервера: Postfix, Dovecot, антиспам, антивирус. Системные требования и чек-лист готовности."
|
||||||
tags: ["postfix", "dovecot", "smtp", "imap", "self-hosting"]
|
tags: ["postfix", "dovecot", "smtp", "imap", "self-hosting"]
|
||||||
categories: ["Почтовые системы"]
|
categories: ["Почтовые системы"]
|
||||||
series: ["Почтовый сервер на Debian 12"]
|
series: ["Почтовый сервер на Debian 12"]
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 632 KiB |
@@ -3,6 +3,7 @@ title: "Почтовый сервер на Debian 12: полное руково
|
|||||||
date: 2026-03-10
|
date: 2026-03-10
|
||||||
draft: false
|
draft: false
|
||||||
description: "Установка и настройка Postfix и Dovecot. SMTP/IMAP, виртуальные ящики, авторизация через SASL. Первые тесты отправки и получения почты."
|
description: "Установка и настройка Postfix и Dovecot. SMTP/IMAP, виртуальные ящики, авторизация через SASL. Первые тесты отправки и получения почты."
|
||||||
|
summary: "Установка и настройка Postfix и Dovecot. SMTP/IMAP, виртуальные ящики, авторизация через SASL. Первые тесты отправки и получения почты."
|
||||||
tags: ["postfix", "dovecot", "smtp", "imap", "lmtp", "sasl", "self-hosting"]
|
tags: ["postfix", "dovecot", "smtp", "imap", "lmtp", "sasl", "self-hosting"]
|
||||||
categories: ["Почтовые системы"]
|
categories: ["Почтовые системы"]
|
||||||
series: ["Почтовый сервер на Debian 12"]
|
series: ["Почтовый сервер на Debian 12"]
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 994 KiB |
@@ -3,6 +3,7 @@ title: "Почтовый сервер на Debian 12: полное руково
|
|||||||
date: 2026-03-16
|
date: 2026-03-16
|
||||||
draft: false
|
draft: false
|
||||||
description: "Настройка Amavis, ClamAV, SpamAssassin и Postgrey для защиты от вирусов и спама. Fail2ban для защиты от брутфорса SMTP/IMAP. Обучение антиспама, белые списки, мониторинг."
|
description: "Настройка Amavis, ClamAV, SpamAssassin и Postgrey для защиты от вирусов и спама. Fail2ban для защиты от брутфорса SMTP/IMAP. Обучение антиспама, белые списки, мониторинг."
|
||||||
|
summary: "Настройка Amavis, ClamAV, SpamAssassin и Postgrey для защиты от вирусов и спама. Fail2ban для защиты от брутфорса SMTP/IMAP. Обучение антиспама, белые списки, мониторинг."
|
||||||
tags: ["amavis", "clamav", "spamassassin", "postgrey", "fail2ban"]
|
tags: ["amavis", "clamav", "spamassassin", "postgrey", "fail2ban"]
|
||||||
categories: ["Почтовые системы"]
|
categories: ["Почтовые системы"]
|
||||||
series: ["Почтовый сервер на Debian 12"]
|
series: ["Почтовый сервер на Debian 12"]
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 790 KiB |
@@ -4,6 +4,7 @@ slug: mailserver-part-4-tls-dkim-spf-dmarc
|
|||||||
date: 2026-04-19
|
date: 2026-04-19
|
||||||
draft: false
|
draft: false
|
||||||
description: "Настройка TLS через Let's Encrypt, DKIM подписей, SPF и DMARC записей. Шифрование всех соединений SMTP/IMAP, повышение репутации отправителя для защиты от попадания в спам."
|
description: "Настройка TLS через Let's Encrypt, DKIM подписей, SPF и DMARC записей. Шифрование всех соединений SMTP/IMAP, повышение репутации отправителя для защиты от попадания в спам."
|
||||||
|
summary: "Настройка TLS через Let's Encrypt, DKIM подписей, SPF и DMARC записей. Шифрование всех соединений SMTP/IMAP, повышение репутации отправителя для защиты от попадания в спам."
|
||||||
tags: ["tls", "ssl", "lets-encrypt", "certbot", "dkim", "opendkim", "spf", "dmarc", "swaks"]
|
tags: ["tls", "ssl", "lets-encrypt", "certbot", "dkim", "opendkim", "spf", "dmarc", "swaks"]
|
||||||
categories: ["Почтовые системы"]
|
categories: ["Почтовые системы"]
|
||||||
series: ["Почтовый сервер на Debian 12"]
|
series: ["Почтовый сервер на Debian 12"]
|
||||||
|
|||||||
@@ -3,14 +3,13 @@ title: "Ubuntu 24.04: базовая настройка и hardening для prod
|
|||||||
date: 2026-07-07
|
date: 2026-07-07
|
||||||
draft: false
|
draft: false
|
||||||
description: "Пошаговая настройка Ubuntu 24.04 LTS (Noble Numbat) для production: SSH, firewall, fail2ban, swap, sysctl, автообновления, логи, бэкап конфигов."
|
description: "Пошаговая настройка Ubuntu 24.04 LTS (Noble Numbat) для production: SSH, firewall, fail2ban, swap, sysctl, автообновления, логи, бэкап конфигов."
|
||||||
|
summary: "Пошаговая настройка Ubuntu 24.04 LTS (Noble Numbat) для production: SSH, firewall, fail2ban, swap, sysctl, автообновления, логи, бэкап конфигов."
|
||||||
tags: ["ubuntu-24.04", "security", "hardening", "ssh", "ufw", "fail2ban", "sysctl", "production", "linux"]
|
tags: ["ubuntu-24.04", "security", "hardening", "ssh", "ufw", "fail2ban", "sysctl", "production", "linux"]
|
||||||
categories: ["Безопасность"]
|
categories: ["Безопасность"]
|
||||||
series: ["Linux Hardening"]
|
series: ["Linux Hardening"]
|
||||||
series_order: 3
|
series_order: 3
|
||||||
---
|
---
|
||||||
|
|
||||||
# Ubuntu 24.04: базовая настройка и hardening для production
|
|
||||||
|
|
||||||
Ubuntu 24.04 LTS - production-ready дистрибутив с поддержкой до 2029 года (стандартная) и до 2034 года (расширенная через Ubuntu Pro). Из коробки он безопаснее голого Debian - UFW предустановлен, `unattended-upgrades` работает сразу - но настройки по умолчанию далеки от production-ready.
|
Ubuntu 24.04 LTS - production-ready дистрибутив с поддержкой до 2029 года (стандартная) и до 2034 года (расширенная через Ubuntu Pro). Из коробки он безопаснее голого Debian - UFW предустановлен, `unattended-upgrades` работает сразу - но настройки по умолчанию далеки от production-ready.
|
||||||
|
|
||||||
Статья покрывает всё что нужно для сервера без контейнеров. Docker - отдельная тема.
|
Статья покрывает всё что нужно для сервера без контейнеров. Docker - отдельная тема.
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ author:
|
|||||||
byline_title: "Автор"
|
byline_title: "Автор"
|
||||||
|
|
||||||
code:
|
code:
|
||||||
copy: "Копировать"
|
copy: "Копи."
|
||||||
copied: "Скопировано"
|
copied: "ОК"
|
||||||
|
|
||||||
error:
|
error:
|
||||||
404_title: "Страница не найдена: в замешательстве:"
|
404_title: "Страница не найдена: в замешательстве:"
|
||||||
|
|||||||