SCROLL

Статьи в категории «Linux»

Python — это высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью.

Rust — мультипарадигменный компилируемый язык программирования общего назначения. Сочетает парадигмы функционального и процедурного программирования с объектной системой, основанной на типажах.

DRBD (Distributed Replicated Block Device — распределённое реплицируемое блочное устройство) — это блочное устройство, предназначенное для построения отказоустойчивых кластерных систем на операционной системе Linux. DRBD занимается полным отражением (mirroring) по сети всех операций с блочным устройством.

Syncthing — приложение, позволяющее синхронизировать файлы между несколькими устройствами. Разберем как поднять Syncthing на Debian 11 Bullseye.

RADIUS — расширенный протокол удаленной аутентификации пользователей, представляет собой ключевой элемент в обеспечении безопасности и управлении доступом в сетях.

Samba  — это программное обеспечение для организации обмена файлами и работы с общими ресурсами между компьютерами под управлением Linux/Unix и операционной системой Windows

В различных ситуациях может понадобится выполнение sudo без ввода пароля. Рассмотрим как это сделать на Linux на нескольких примерах.

Ранее я уже описывал как добавить поддержку шифрования по ГОСТ Р 34.10-2012 в OpenSSL на Debian 9, недавно возвращался к этому вопросу но уже на системе Debian 11, поэтому решил актуализировать под Debian 11.

 

# Все ниже действия будут производится от root.

 

Устанавливаем необходимые пакеты:

apt-get install g++ gcc make git libssl-dev

 

Поддержу GOST-Engine будем реализовывать для OpenSSL 1.1.1p.

 

Выполняем сборку OpenSSL 1.1.1p, выполняем команды (скачиваем, распаковываем, собираем билд, устанавливаем, настраиваем):

wget https://www.openssl.org/source/openssl-1.1.1p.tar.gz
tar -zxvf openssl-1.1.1p.tar.gz
cd openssl-1.1.1p

./config --prefix=/usr/ssl --openssldir=/usr/ssl
make all
make install

cd .. && rm /usr/bin/openssl
ln -s /usr/ssl/bin/openssl /usr/bin/openssl
echo "/usr/ssl/lib" >> /etc/ld.so.conf.d/ssl.conf
ldconfig

 

Проверяем версию OpenSSL, должно быть так:

openssl version -v
OpenSSL 1.1.1p  21 Jun 2022

 

# Для сборки GOST Engine нужна версия CMake 3.0 и выше.

Рассмотрим как ввести систему Debian в домен Windows с помощью realmd, SSSD.

 

Realmd (Realm Discovery) – сервис D-Bus, позволяющий производить настройку сетевой аутентификации и членства в домене (Active Directory) без сложных настроек. Информация о домене обнаруживается автоматически. Для аутентификации и проверки учетных записей realmd использует SSSD (через Kerberos и LDAP) или Winbind.

 

SSSD (System Security Services Daemon) — это клиентский компонент централизованных решений для управления идентификацией, таких как Microsoft Active Directory, Kerberos, OpenLDAP  и других серверов каталогов. SSSD обслуживает и кэширует информацию, хранящуюся на удаленном сервере каталогов, и предоставляет услуги идентификации, аутентификации и авторизации хост-машине.

 

Исходные данные:

  • Контроллер домена (DC1) на Windows Server 2019, домен JAKONDA.LOCAL (IP — 192.168.1.100)
  • Linux система (debian) на Debian 11 Bullseye (IP — 192.168.1.10)

 

Подготовка системы

# Обновляем информацию о репозиториях и обновляем установленные пакеты:

apt-get update && apt-get upgrade -y

 

Указываем FQDN (Fully Qualified Domain Name) имя системы, в файле /etc/hostname:

debian.jakonda.local

 

Файл /etc/hosts приводим к виду таким образом, чтобы в нём была запись с полным доменным именем компьютера и с коротким именем, ссылающаяся на один из внутренних IP хоста:

127.0.0.1	localhost
192.168.1.10	debian.jakonda.local debian

 

 

Настраиваем клиент DNS на хосте. Файл /etc/resolv.conf приводим к виду с учетом ваших данных:

domain jakonda.local
search jakonda.local
nameserver 192.168.1.100

 

Настройка синхронизации времени

Очень важно для корректной работы чтобы разница во времени между хостом и домен контроллером была минимальная или не превышала более 5 минут, в противном случае не возможно получить билет от Kerberos. Настроим синхронизацию времени с контроллером домена.

 

# Устанавливаем необходимые пакеты:

apt-get install ntp ntpdate

 

В файле /etc/ntp.conf, указываем контроллер домена в качестве точки синхранизации, остальные комментируем :

# You do need to talk to an NTP server or two (or three).
server dc1.jakonda.local

# pool.ntp.org maps to about 1000 low-stratum NTP servers.  Your server will
# pick a different set every time it starts up.  Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>
# pool 0.debian.pool.ntp.org iburst
# pool 1.debian.pool.ntp.org iburst
# pool 2.debian.pool.ntp.org iburst
# pool 3.debian.pool.ntp.org iburst

 

Выполняем единовременную синхронизацию времени с контроллером домена и запускаем службу:

/etc/init.d/ntp stop
ntpdate -bs jakonda.local
/etc/init.d/ntp start

В рамках теста разворачивал ownCloud и при попытке установки внутренного приложения External Storage: Windows Network Drives видел ошибку:

 

Приложение не может быть установлено, следующие зависимости не удовлетворены:

  • The library libsmbclient is not available.

 

Ниже описание как выполнить установку libsmbclient для php7.4 в Debian 11.

 

Устанавливаем необходимые пакеты:

apt-get install php7.4-dev libsmbclient-dev -y

 

С помощью PECL (репозиторий модулей для PHP) устанавливает smbclient для версии 7.4:

pecl -d php_suffix=7.4 install smbclient

 

В файл конфигурации /etc/php/7.4/apache2/php.ini добавляем описание включение модуля

echo 'extension=smbclient.so' >> /etc/php/7.4/apache2/php.ini

 

Перезапустим apache для применения изменений:

/etc/init.d/apache2 restart

Collabora Online — это мощный офисный пакет на базе LibreOffice для совместной работы с документами в браузере. В рамках статьи будем устанавливать Collabora Online Development Edition (CODE) версию.

Разберем как установить из исходников актуальную (на момент написания статьи) версию VPN-сервера OpenConnect 1.2.2 на Debian 11 Bullseye.

Опишу порядок действий по обновлению GVM (Greenbone Vulnerability Management) с версии 22.4.1 до 22.7.3 (самая актуальная на дату написания статьи).

PKI (Public Key Infrastructure) — это система, которая использует цифровые сертификаты для проверки подлинности и шифрования данных между устройствами и службами.

Иногда сталкиваюсь с таким явлением как место не освобождается после удаления файла в Linux, это случает в случае если удаленный файл все еще занят каким-либо процессом.