Для монтирования разделов черз SSH необходимо установить пару пакетов:
apt-get install sshfs fuse
Для автоматического монтирования должен быть настроен вход по ключам. На машине которая подключается содаём rsa-key с указанием к какому серверу подключаемся:
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/rsa.pub username@server
Из получившегося файла rsa.pub берём содержимое и помещаем его в файл
/root/.ssh/authorized_keys
на хосте к которому будем подключаться.
Добавляем на хосте, который подключается в fstab строку:
192.168.50.8:/media/500g/zabbix-back/ /BACKUP fuse.sshfs _netdev,x-systemd.automount 0 0
выставляем права и монтируем:
chmod -R 777 /BACKUP
mount /BACKUP
Если ошибок не было, то можно посмотреть все разделы и увидеть наш:
df -h
Дано:
Ubuntu 18.04.3 LTS
Redmine 4.0.5
Обновляем систему:
apt-get update && apt-get upgrade
Далее устанавливаем mysql и добавляем его в автозагрузку:
apt-get install mysql-server
systemctl enable mysql
Выполняем первоначальную настройку mysql:
mysql_secure_installation
И пробуем зайти:
mysql -uroot -p
Создаём базу данных, пользователя и назначаем права:
CREATE DATABASE redmine;
CREATE DATABASE redmine_development;
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'Password';
GRANT ALL PRIVILEGES ON redmine_development.* TO 'redmine'@'localhost' IDENTIFIED BY 'Password';
FLUSH PRIVILEGES;
exit;
Устанавливаем Ruby и NGINX:
apt-get install ruby-full nginx
Без утомительной теории зарисовка о настройке OpenVPN с доменной авторизацией по сертификатам на Ubuntu 18.04.
Устанавливаем необходимый инструментарий:
apt-get install openvpn easy-rsa
Создаём центр сертификации.
Создаём директорию центра сертификации:
make-cadir ~/openvpn-ca
Переходим в рабочую директорию и правим файл с переменными:
cd ~/openvpn-ca
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:
vk\.ru
ok\.ru
game
porn
teens
xxx
anonim
tube
cloud
disk
proxfree\.com
anonymouse\.org
Создадим whitelist:
(\.)?itsketch\.ru
export KRB5_KTNAME
KRB5RCACHETYPE=none
export KRB5RCACHETYPE
Создаём технологическую УЗ в домене с запретом смены пароля, неограниченным сроком действия и без предварительной провенрки подлиннисти Kerberos.
И в cmd создаём .keytab:
ktpass /princ HTTP/Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. /mapuser Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. /crypto RC4-HMAC-NT /ptype KRB5_NT_PRINCIPAL /pass i8wx6NzLssM4 /out C:\squid.keytab
Копируем полученный ketytab файл в /etc/squd/. Далее пробуем получить билетик по принципалу HTTP/Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
kinit -kV -p HTTP/Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
и если ошибок не было, то klist покажет что-то вроде этого:
Default principal: HTTP/Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
Valid starting Expires Service principal
10.09.2019 10:31:06 10.09.2019 20:31:06 krbtgt/Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
renew until 11.09.2019 10:31:06
Устанавливаем, возможно, необходимые либы:
apt-get install libsasl2-modules-gssapi-mit ldap-utils libsasl2-modules-ldap krb5-user krb5-config libpam-krb5 libpam-winbind libnss-winbind cyrus-sasl-gssapi libauthen-sasl-cyrus-perl libsasl2-2 libgsasl7 libsasl2-modules-gssapi-heimdal libgsasl7 sasl2-bin libsasl2-modules-ldap libsasl2-modules squid-helpers
И проверяем работоспособность хелпера:
/usr/lib/squid/ext_ldap_group_acl -R -d -b "dc=regions,dc=domain,dc=loc" -f "(&(objectclass=user)(sAMAccountName=%v)(memberOf=cn=%a,OU=Groups,OU=nsk,DC=regions,DC=domain,DC=loc))" -D Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. -W /etc/squid/aduser regions.domain.loc
Вводимые параметры - это имя пользователя и группа, через пробел. Параметр -W содержит путь до файла с паролем пользователя ldap_user_ro.
Если всё работает и пользователь находится в группе, по вывод будет примерно таким:
ext_ldap_group_acl.cc(584): pid=24794 :Connected OK
ext_ldap_group_acl.cc(727): pid=24794 :group filter '(&(objectclass=user)(sAMAccountName=user)(memberOf=cn=mm,OU=Groups,OU=nsk,DC=regions,DC=domain,DC=loc))', searchbase 'dc=regions,dc=domain,dc=ru'
OK
Далее правим конфигурационный файл (пример рабочего конфига):
auth_param negotiate program /usr/lib/squid3/negotiate_kerberos_auth -d -s HTTP/vm-uadmsquid.regions.domain.loc
auth_param negotiate children 20 startup=0 idle=1
auth_param negotiate keep_alive off
external_acl_type ldap_verify %LOGIN /usr/lib/squid/ext_ldap_group_acl -R -b "dc=regions,dc=domain,dc=loc" -f "(&(objectclass=user)(sAMAccountName=%v)(memberOf=cn=%a,OU=Groups,OU=nsk,DC=regions,DC=domain,DC=loc))" -D Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. -K -W /etc/squid/aduser regions.domain.loc
acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN)
acl localnet src 10.1.0.0/16 # RFC 1918 local private network (LAN)
acl localnet src 10.2.6.0/23
acl localnet src 10.3.6.0/24
acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN)
append_domain .regions.domain.loc
acl url_filtred src 10.1.0.0/16
acl url_filtred src 10.2.6.0/23
acl url_filtred src 10.3.6.0/24
acl url_filtred src 192.168.5.0/24
acl inet-full external ldap_verify inet-full
acl inet-middle external ldap_verify inet-middle
acl inet-short external ldap_verify inet-short
acl sbis dstdomain .sbis.ru
acl sufd dstdomain .roskazna.local
acl aris dstdomain .ariscommunity.com
acl SSL_ports port 443
acl SSL_ports port 8530 #WSUS
acl SSL_ports port 8006 # Proxmox
acl SSL_ports port 7071 # Zimbra Admin
acl SSL_ports port 8443 # Mail
acl SSL_ports port 9443 # Sber
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl blacklist url_regex -i "/etc/squid/blacklist"
acl whitelist url_regex -i "/etc/squid/whitelist"
acl auth proxy_auth REQUIRED
# Deny requests to certain unsafe ports
http_access deny !Safe_ports
# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports
# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager
http_access allow url_filtred sbis
http_access allow url_filtred sufd
http_access allow url_filtred aris
http_access allow url_filtred
http_access allow inet-full
http_access deny blacklist url_filtred
http_access allow inet-middle !blacklist
http_access deny inet-short !whitelist
#http_access allow localnet
http_access allow auth
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
# Squid normally listens to port 3128
http_port 3128
# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /var/spool/squid 100 16 256
# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid
cache_mem 1024 MB
maximum_object_size_in_memory 1 MB
logfile_rotate 31
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
Устанавливаем на Ubuntu 14.04.6 LTS + Apache/2.4.7 + PHP 5 + Perl 5.18.2
Установить придётся не мало пакетов.
apt-get update
apt-get install make cmake gcc make perl apache2 apache2-dev expat php5 mysql-server
apt-get install libapache2-mod-perl2 libapache-dbi-perl libapache-db-perl libapache2-mod-php libcompress-raw-zlib-perl libdbd-mysql-perl libnet-ip-perl libsoap-lite-perl
apt-get install php-mysql php-gd php-dev php-curl php-json php-mbstring php-soap
Существует не мало ресурсов, выдающих бесплатные 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+ с доменной авторизацией на Ubuntu 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 и пр.
127.0.1.1 host.domain.loc host
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
В 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 или просто:
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 можно всё удалить и прописать только самое необходимое:
Страница 1 из 2