Запрет доступа по протоколу https «для всех кроме»

Задача: на нескольких серверах ограничить доступ к сайту по протоколу http/https для всех, кроме избранных IP.

Решить можно несколькими способами:

  • поправить .htaccess, добавив в него deny from all и allow from IP
  • на уровне файревола

Мне предпочтительней было сделать это на уровне файревола, т.к. таким образом не нужно прописывать запрет на доступ на каждом сайте, а запрещаю на ВСЕХ сайтах размещенных на этом сервере одновременно.

Принцип прописывания правил для всех файреволов одинаков: запрещаем по умолчанию всё, кроме того что нужно. Так как у меня немного зоопарк по серверам, то два различных файревола.

Ubuntu и иже с ним:

ufw default deny outgoing
ufw default deny incoming
ufw allow out 53
ufw allow from 19.82.24.12 to any port 443
ufw allow from 19.82.34.12 to any port 80
service ufw restart

CentOS и иже с ним:

firewall-cmd --zone=public --remove-service=http
firewall-cmd --zone=public --remove-service=https
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="15.8.15.1" port port="443" protocol="tcp" accept'
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="15.8.15.1" port port="80" protocol="tcp" accept'
systemctl restart firewalld.service

Ошибка обновления Ubuntu с 20.04 до 22.04

При попытке выполнить do-release-upgrade, получаем ошибку:

Failed to connect to https://changelogs.ubuntu.com/meta-release-lts-development.

Решение:

В моём случае в логах проскочило:

esult of meta-release download: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841)

Так-же можно проверить «тухлость» сертификата при помощи:

wget https://changelogs.ubuntu.com/meta-release-lts-development

Рекомендация обновить корневые сертификаты не помогла. Одно из решений — отключить проверку сертификатов при обновлении вообще. Для этого нужно отредактировать файл /usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py, добавив в него строки:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

После чего обновление прошло штатно.

UBUNTU: настройка ротации логов

В Ubuntu за ротацию логов отвечает утилита logrotate. Обычно она уже установлена в «базе».

Для настройки используется каталог /etc/logrotate.d В этой папке необходимо добавить файл вида:

/home/user/ocpp_servers/*.log {
        weekly
        missingok
        rotate 90
        compress
        delaycompress
        notifempty
        create 755 root adm
        sharedscripts
}

Собственно просто указываем файлы которые нуждаются в «ротации», и внутри скобок — что делать с ними.

  • rotate — указывает сколько старых логов нужно хранить, в параметрах передается количество;
  • create — указывает, что необходимо создать пустой лог файл после перемещения старого;
  • dateext — добавляет дату ротации перед заголовком старого лога;
  • compress — указывает, что лог необходимо сжимать;
  • delaycompress — не сжимать последний и предпоследний журнал;
  • extension — сохранять оригинальный лог файл после ротации, если у него указанное расширение;
  • mail — отправлять Email после завершения ротации;
  • maxage — выполнять ротацию журналов, если они старше, чем указано;
  • missingok — не выдавать ошибки, если лог файла не существует;
  • olddir — перемещать старые логи в отдельную папку;
  • postrotate/endscript — выполнить произвольные команды после ротации;
  • start — номер, с которого будет начата нумерация старых логов;
  • size — размер лога, когда он будет перемещен;
  • hourly — каждый час;
  • daily — каждый день;
  • weekly — каждую неделю;
  • monthly — каждый месяц;
  • yearly — каждый год.

Тестирование получившейся конфигурации:

logrotate -d /etc/logrotate.d/ocpp

alsa : нет звука

Потратил минут 20 чтобы собрать сборник рецептов почему может не быть звука в терминале Ubuntu

1) Проверить нашла ли alsa вашу звуковую карту вообще

2) Установить/переустановить alsa и pulseaudio

3) Проверить регуляторы звука, может быть просто в mute

4) Перезагрузить настройки

5) Посмотреть туда ли вставлен джек

6) Переинициализировать




Обновление устаревшей версии Ubuntu

Иногда при попытке установить (apt-get update) какой то пакет в Ubuntu можно увидеть ошибки вида:

Скорее всего это лишь означает, что версия Ubuntu устарела, и обновления и пакеты далее доступны по другому адресу:

http://old-releases.ubuntu.com/ubuntu/pool/main/

Что делать: открываем файл источников ПО, и заменяем ссылки вида http://security.ubuntu.com на http://old-releases.ubuntu.com/




1 2 3 5