tm

   Без утомительной теории зарисовка о настройке OpenVPN с доменной авторизацией по сертификатам на Ubuntu 18.04.

Устанавливаем необходимый инструментарий:

apt-get install openvpn easy-rsa

 

   Создаём центр сертификации.

Создаём директорию центра сертификации:

make-cadir ~/openvpn-ca

Переходим в рабочую директорию и правим файл с переменными:

cd ~/openvpn-ca
nano vars
export EASY_RSA="`pwd`"
export OPENSSL="openssl"
export PKCS11TOOL="pkcs11-tool"
export GREP="grep"
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
export KEY_DIR="$EASY_RSA/keys"
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
export PKCS11_MODULE_PATH="dummy"
export PKCS11_PIN="dummy"
export KEY_SIZE=2048
export CA_EXPIRE=3650
export KEY_COUNTRY="RU"
export KEY_PROVINCE="NSO"
export KEY_CITY="City"
export KEY_ORG="Organization"
export KEY_EMAIL="Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра."
export KEY_OU="IT Dapartment"
export KEY_NAME="server"

Акцент на переменную KEY_NAME, значение будем использовать с будущем.

Дано:

Ubuntu 18.04.2 LTS

Squid Cache: Version 3.5.27

Вводим в домен.

 Устанвливаем:

apt-get install squid3

Сохраним конфигурацию:

cd /etc/squid/
mv squid.conf squid.conf.back

Создадим blacklist:

nano /etc/squid/blacklist
vk\.com
vk\.ru
ok\.ru
game
porn
teens
xxx
anonim
tube
cloud
disk
proxfree\.com
anonymouse\.org

 

Создадим whitelist:

nano /etc/squid/whitelist
(\.)?regions\.domain\.loc
(\.)?itsketch\.ru

nano /etc/default/squid
KRB5_KTNAME=/etc/squid/squid.keytab
export KRB5_KTNAME
KRB5RCACHETYPE=none
export KRB5RCACHETYPE

Создаём технологическую УЗ в домене с запретом смены пароля, неограниченным сроком действия и без предварительной провенрки подлиннисти Kerberos.

squid ubuntu

И в cmd создаём .keytab:

ktpass /princ HTTP/Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. /mapuser Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. /crypto RC4-HMAC-NT /ptype KRB5_NT_PRINCIPAL /pass i8wx6NzLssM4 /out C:\squid.keytab

 

   Существует не мало ресурсов, выдающих бесплатные SSL, правда на 90 дней. Одним из способов получение сертификата является помещение ключей, подтверждающих Вас как владельцев ресурса, в диреторию с сайтом. Однако, делать это постоянно в ручную муторно и чревато вероятностью не успеть обновить прокисающие сертификаты. Не знаю на счёт остальных ресурсов, а https://letsencrypt.org/ предусматрели процесс автоматизации. Для реализации подключаем репу:

add-apt-repository ppa:certbot/certbot
apt-get update

Проверяем доступность пакетов:

apt-cache search certbot

Ну, и устанавливаем:

apt-get install certbot

Создаём в корне сайта директорию letsencrypt, с правами:

chown root:www-data /var/www/site/letsencrypt
chmod 755 /var/www/site/letsencrypt

   Зарисовка о настройке TACACS+ с доменной авторизацией на Ubuntг 16.

Пакет, находящийся в репозиториях Ubuntu не подходит. Счачиваем или от сюда или с сайта разработчика.

Нужно установить ещё:

apt-get install libnet-ldap-perl

Содаём каталоги:

sudo mkdir /var/log/tac_plus
sudo mkdir /var/log/tac_plus/access
sudo mkdir /var/log/tac_plus/accounting
sudo mkdir /var/log/tac_plus/authentication

Распаковываем архив и переходим в директорию с исходниками:

bzip2 -dc DEVEL.tar.bz2 | tar xvfp -
cd /tmp/PROJECTS

Устанавливаем необходимый инструментарий:

apt-get install libpcre3-dev libpcre3-dev libpcre2-dev gcc make

Выполняем

make

   Для добавления компьютера с ОС Ubuntu 14 в домен потребуются следующие пакеты:

apt-get install  krb5-user samba winbind libnss-winbind libpam-winbind ntpdate ntp smbclient

В процессе установки заполняем realm name домена и прочие параметры. Их потом можно будет отредактировать. Для ввода компа в домен нужно прописать правильные параметры DNS, синхронизировать время с DC. Далее правим настроки сети, DNS и пр.

nano /etc/hosts
127.0.0.1       localhost
127.0.1.1       host.domain.loc host
nano /etc/hostname
host.domain.loc
nano /etc/network/interfaces
auto enp2s0
iface enp2s0 inet static
address 192.168.50.21
netmask 255.255.255.0
gateway 192.168.50.1
dns-nameservers 192.168.50.20
dns-search domain.loc
nano /etc/resolvconf/resolv.conf.d/head
domain domain.loc

   В Ubuntu разделы монтируются командой mount, напрмер:

mount /dev/имя диска /куда/монтируем/

 Однако, смонтированный диск таким способом, будет доступен только до первой перезагрузки. После reboot диск будет не доступен.

   Что бы этого не произошло необходимо прибегнуть к редактированию файла /etc/fstab. Но, прежде чем его редактировать нам нужен UUID диска. Выполняем:

fdisk -l

это позволит нам узнать имя диска (sda или sdb1 ...). После этого можно выполнить команду

blkid

   Когда строчить длинные команды уже нет сил, а самое главное времени, придут на помощь алиасы. В Ubuntu создать алиас можно через ввод команды в терминале, например:

alias error-forum="tail -444 /var/log/apache2/error-nef-forum.log | egrep -v '192.168.|213.87'"

Это означает, что создаётся алиас error-forum, который запускает команду tail с определённым условием. Однако. алиасы, созданные таким способом будут работать только до перезагрузки компьютера. Для того, что бы алиасы были в системе всегда их нужно записывать в файл /home/директория пользователя/.bashrc или просто:

nano ~/.bashrc
alias bot-nef="tail -444 /var/log/apache2/bot-nef.log | egrep -v '192.168.|213.87'"
alias bot-aqua="tail -444 /var/log/apache2/bot-aqua.log | egrep -v '192.168.|213.87'"
alias bot-forum="tail -444 /var/log/apache2/bot-nef-forum.log | egrep -v '192.168.|213.87'"

Для того, что бы алиасы стали доступны в системе, нужно выполнить

source ~/.bashrc

Как обычно, начнём с установки:

 apt-get install tacacs+

  После установки проверяем, что демон запущен:

ps -e | grep tac
1468 ?      00:08:03 tac_plus

 И можно смело приступать к настройке. Всё, что можно настроить лежит в tac_plus.conf

sudo nano /etc/tacacs+/tac_plus.conf

 В качестве примера приведу конфигурацию для одного пользователя состоящего в одной группе. Для простейшей настройки из tac_plus.conf можно всё удалить и прописать только самое необходимое:

Эту команду использую для создания бэкапов сайта. Т. е. ищет директорию и создаёт архив в другой директории.

cd /var/www/ && find . -name 'html' -type d -maxdepth 1 -exec tar -cvjf /media/500g/backup/site.xx/html_`date '+%Y-%m-%d'`.tar.bz2 {} \;

Разберём по порядку:

 cd /var/www/ - переход в нужную директорию.

далее выполняется

 find . -name 'html' -type d -maxdepth 1 - поиск в текущей директории папки с имененм 'html' и грубиной поиска в 1 каталог.

 После этого параметр -exec tar -cvjf  запаковывает найденную директорию в указанную директорию. В имя архива добавляется дата создания архива.

   С покупкой очередного телевизора с LAN портом я понял, что пора объединять всё это царство электроники в одну сеть. Сеть, конечно, дело простое, а создать место от куда все цифровые устройства, находящиеся в сети, могут получить доступ к медиа контенту (музыка, фото, видео) - дело интересное. Поскольку сервер на Ubuntu уже был установлен дома, платфома была определена сразу. Среди множества решений был выбран MiniDLNA.

   Всё, как обычно, начинается с установки.

sudo apt-get install minidlna

Установка одного пакеты потянет за собой установку кучу других зависимых пакетов. Это просто нужно пережить :) После окончания установки можно переходить к редактированию конфигурационного файла:

   В дополнение к своему DLNA серверу захотел добавить torrent клиент для скачивания фильмов и просмотра их на всех мультимедийных устройствах в домашней сети. Естественно, для использования torrent клиента не хотелось включать компьютер, а воспользоваться тем же планшетом или телефоном, которые всегда под рукой. Мой выбор, как и у многих, пал на Transmission.

Устанавливаем:

apt-get install transmission-daemon

Установка потянет за собой кучу других зависимостей - соглашаемся на установку. После установки можно заглянуть в параметры запуска демона.

nano /etc/default/transmission-daemon

Параметр ENABLE_DAEMON должен быть равен "1", т.е. ENABLE_DAEMON=1. Всё остальное я оставил по-умолчанию. Перед тем, как редактировать конфигурацию Transmission, необходимо отключить процесс. В противном случае изменения не применятся.

/etc/init.d/transmission-daemon stop

или

service transmission-daemon stop