Compare commits

..

2 Commits

30 changed files with 54 additions and 38 deletions
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

+35 -34
View File
@@ -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"]
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

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"]
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

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"]
Binary file not shown.

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: эксплуатация и обслуживание"]
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

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"]
Binary file not shown.

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"]
Binary file not shown.

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"]
Binary file not shown.

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 - отдельная тема.
+2 -2
View File
@@ -38,8 +38,8 @@ author:
byline_title: "Автор" byline_title: "Автор"
code: code:
copy: "Копировать" copy: "Копи."
copied: "Скопировано" copied: "ОК"
error: error:
404_title: "Страница не найдена: в замешательстве:" 404_title: "Страница не найдена: в замешательстве:"