SCROLL

Посты автора «jakonda»

Active Directory — это сервис каталогов корпорации Microsoft для операционных систем семейства Windows Server. Основная цель Active Directory — облегчить системным администраторам работу по администрированию и обслуживанию компьютеров, серверов и сети.

Развернув FTP-сервер vsftpd на Debian 8 Jessie и настроив использование виртуальных пользователей на базе MySQL, у меня при попытке подключения к FTP выдается вот такая ошибка: libgcc_s.so.1 must be installed for pthread_cancel to work.

 

ftp 10.7.7.97
Connected to 10.7.7.97.
220 Jakonda FTP сервер.
Name (10.7.7.97:jakonda): user1
331 Please specify the password.
Password:
libgcc_s.so.1 must be installed for pthread_cancel to work
Login failed.
421 Service not available, remote server has closed connection

 

Данная ошибка вызвана недостатком доступной процессу виртуальной памяти. Лимит определяется в значении VSFTP_AS_LIMIT в файле defs.h исходников vsftpd.

 

Увеличить значение VSFTP_AS_LIMITможно пересобрав vsftpd из исходников, с нужным нам значением и потом установить исправленную версию. Разберем ниже как это сделать.

 

Обновляем систему до актуального состояния:

sudo apt-get update && sudo apt-get upgrade

 

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

sudo apt-get install fakeroot build-essential

 

Устанавливаем необходимые зависимости и загружаем исходник vsftpd из репозитария:

sudo apt-get build-dep vsftpd
sudo apt-get source vsftpd

 

Переходим в каталог vsftpd (на момент написания статьи, версия vsftpd в репозитариях 3.0.2):

pushd vsftpd-3.0.2/

 

В файле defs.h находим строку — #define VSFTP_AS_LIMIT         100UL * 1024 * 1024 и приводим ее к виду — #define VSFTP_AS_LIMIT         400UL * 1024 * 1024

 

Зафиксируем внесенные изменения (в процессе выполнения вводим имя патч-файла):

sudo dpkg-source --commit

 

Собираем пакет:

sudo fakeroot dpkg-buildpackage

 

Выходим из каталога:

popd

 

У вас должен создаться файл vsftpd_3.0.2-1ubuntu2.14.04.1_amd64.deb .

 

Установим его (можно устанавливать по верх уже установленного vsftpd, конфигурационный файл затронут не будет):

sudo dpkg --install vsftpd_3.0.2-1ubuntu2.14.04.1_amd64.deb

 

После установки пробуем подключится к FTP-серверу и на этот раз авторизация должна пройти успешно.

ftp 10.7.7.97
Connected to 10.7.7.97.
220 Jakonda FTP сервер.
Name (10.7.7.97:jakonda): user1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

Рассмотрим как настроить vsftpd на авторизацию виртуальных пользователей, хранимых в MySQL базе данных.

 

Использование виртуальных пользователей повышает безопасность FTP-сервера, т. к. при авторизации не будут использоваться реальные учетные записи пользователей указанные в системных файлах /etc/passwd и /etc/shadow.

 

# Все ниже действия производились на Debian 8 Jessie.

 

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

apt-get install libpam-mysql mysql-server mysql-client -y

 

Входим в  mysql:

mysql -uroot -p

 

Создаем базу данных пользователей:

CREATE DATABASE vsftpd;
GRANT ALL ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
USE vsftpd;
CREATE TABLE users (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, user VARCHAR(50) NOT NULL, passwd VARCHAR(50) NOT NULL, UNIQUE (user));
QUIT;

 

Создаем нового пользователя:

USE vsftpd;
INSERT INTO users SET user='user1', passwd='passwd';
QUIT;

 

Смена пароля для пользователя:

USE vsftpd;
UPDATE users SET passwd='passwd' WHERE user='user1';
QUIT;

 

Удалить пользователя:

USE vsftpd;
DELETE FROM users WHERE user='user1';
QUIT;

 

Посмотреть имеющихся пользователей в базе:

USE vsftpd;
SELECT * FROM users;
+----+-------+---------+
| id | user  | passwd  |
+----+-------+---------+
| 1  | user1 | 1234    |
+----+-------+---------+

 

Создаем файл политики PAM:

cat << EOF > /etc/pam.d/vsftpd.virtual
auth required pam_mysql.so user=vsftpd passwd=password host=localhost db=vsftpd table=users usercolumn=user passwdcolumn=passwd crypt=0
account required pam_mysql.so user=vsftpd passwd=password host=localhost db=vsftpd table=users usercolumn=user passwdcolumn=passwd crypt=0
EOF

 

Создаем каталог для каталогов ftp виртуальных пользователей:

mkdir /srv/vftp_users

 

Создаем симлинк на необходимую для доступа папку в папку /srv/vftp_users с именем пользователя, например для виртуального пользователя user1 доступ к /srv/ftp:

ln -s /srv/ftp /srv/vftp_users/user1

[stextbox id=’info’]ИНФОРМАЦИЯ. Для закрытия доступа пользователю можно просто удалить его текущий симлинк, а для смены рабочей папки на другую удаляем текущий симлинк и создаем новый уже на другую папку.[/stextbox]

 

Выставим права для пользователя ftp на папку к которой указали симлинк, т.к. виртуальные пользователи будут представляться от имени пользователя ftp:

chown -R ftp:nogroup /srv/ftp

 

В конфигурационный файл /etc/vsftpd.conf добавляем параметры:

local_enable=YES
chroot_local_user=YES
user_sub_token=$USER
local_root=/srv/vftp_users/$USER
virtual_use_local_privs=YES
guest_enable=YES
guest_username=ftp
write_enable=YES
hide_ids=YES
pam_service_name=vsftpd.virtual

 

Небольшое пояснение по некоторым пунктам настройки:

user_sub_token Опция для автоматического создания домашней директории каждому виртуальному пользователю, основана на шаблоне.
local_root Перенаправление подключившихся пользователей вместо домашнего каталога, в иной каталог.
virtual_use_local_privs Виртуальные пользователи пользуются такими же привилегиями, что и локальные.
guest_enable Если опция установлена, все не анонимные логины классифицируются как «guest» логины.
guest_username Задается имя пользователя гостевого логина.
write_enable Разрешить пользователям загружать файлы на сервер.
hide_ids Если опция установлена, вся пользовательская и групповая информация в списке директорий, выводится как «ftp».
pam_service_name Строка содержит имя сервиса PAM, который будет использоваться vsftp.

 

Перезапускаем службу vsftpd:

service vsftpd restart

 

Проверяем работу, пробуем зайти на FTP-сервер используя логин и пароль виртуального пользователя.

Для обеспечения большей безопасности FTP-сервера vsftpd, запретим пользователям доступ к shell (/bin/false).

 

Создаем пользователя без доступа к shell (/bin/false):

sudo useradd username -b /home -m -s /bin/false

 

Задаем пароль пользователя:

sudo passwd username

[stextbox id=’info’]ИНФОРМАЦИЯ. Если необходимо отключить доступ к shell уже существующему пользователю, то в файле /etc/passwd в нужном пользователе меняем /bin/bash на /bin/false.[/stextbox]

 

 

По-умолчанию vsftpd настроен так что доступ к нему могут получить пользователи у которых включен shell, а пользователи у которых отключен shell не смогут авторизоваться на FTP-сервере.

 

Для того чтобы vsftpd авторизовал пользователя с отключенным shell необходимо в файле /etc/pam.d/vsftpd закоментировать строку auth required pam_shells.so и перезапустить службу vsftpd.

sudo service vsftpd restart

В этой статье описано как установить и настроить FTP-сервер vsftpd. Рассмотрим как организовать на vsftpd подключения пользователей с использованием SSL-шифрования.

 

Создаем самоподписной SSL-сертификат для vsftp (В процессе создания сертификата, нужно будет ответить на ряд формальных вопросов):

sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/private/vsftpd.crt

[stextbox id=’info’]ИНФОРМАЦИЯ. Можно так же использовать сертификат выданный местным ЦА или купленным.[/stextbox]

 

В конфигурационном файле /etc/vsftpd.conf указываем путь к сертификату и его закрытому ключу:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

 

Так же указываем параметры SSL Приводим следующие параметры к виду:

ssl_enable=YES
ssl_sslv2=NO
ssl_sslv3=NO
ssl_tlsv1=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_ciphers=DES-CBC3-SHA
require_ssl_reuse=NO

Небольшое пояснение по некоторым пунктам настройки:

allow_anon_ssl Если установлена в YES, анонимные пользователи могут использовать защищенное SSL соединение.
force_local_data_ssl Если установлена в YES, все не анонимные логины вынуждены использовать защищенные SSL соединения при передаче и получении данных, при соединении.
force_local_logins_ssl Если она активирована, все не анонимные логины вынуждены использовать защищенные SSL соединения при передаче паролей.
ssl_ciphers Задается допустимые методы шифрования.
require_ssl_reuse Многократное использование одной сессии.

Появилось на одном из серверов ESXi 5.5.0 вот такое предупреждающее сообщение: Lost connectivity to the device mpx.vmhba32:C0:T0:L0 backing the boot filesystem /vmfs/devices/disks/mpx.vmhba32:C0:T0:L0. As a result, host configuration changes will not be saved to presistent storage.

esxi_5-5-0_1

 

Это предупреждающее сообщение говорит о том что вставленная Flash-карта/SD-карта (с которой был установлен и с которого происходит загрузка ESXi) не доступна на ESXi хосте из за потери соединения с ней. Потеря соединения в загрузочным устройством могло произойти из за какого либо сбоя в работе ESXi, либо в следствии выхода из строя самого загрузочного устройства.

 

Так как ESXi ОС загружается в память при загрузке, то система будет нормально работать до отключения питания. Можно отключить загрузочное устройство и проверить его на целостность, т.к. возможно оно вышло из строя. Данное предупреждение не исчезнет автоматически при восстановлении соединения с загрузочным устройством и будет висеть пока мы не исправим проблему.

 

Если с загрузочным устройством все нормально, то нам всего лишь нужно перезапустить агентов управления. Перезапустить агентов управления можно двумя способами, через подключение к ESXi по SSH или локально на самом ESXi используя встроенный интерфейс управления ESXi.

Разберем как установить и настроить FTP-сервер VSFTPD на на Debian 8 Jessie.

 

Перед установкой, обновляем систему до актуального состояния:

sudo apt-get update && sudo apt-get upgrade

 

Установка и настройка

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

sudo apt-get install vsftpd

 

Настройка vsftpd производится через конфигурационный файл /etc/vsftpd.conf.

 

Конфигурация FTP-сервера, для работы с анонимными пользователями:

listen=YES
anonymous_enable=YES
anon_root=/srv/ftp
use_localtime=YES
connect_from_port_20=YES
dirmessage_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

 

Создаем ftp каталог который указали в файле конфигурации vsftpd и задаем права доступа:

mkdir -p /srv/ftp

chown nobody:nogroup /srv/
chmod 775 /srv
chmod 777 /srv/ftp

 

Перезапускаем vsftpd:

sudo /etc/init.d/vsftpd restart

Контролируем предоставления доступа в интернет по времени и дням недели. Не будем оставлять повода сотрудникам задерживаться на работе, дабы посидеть в интернете.

Рано или поздно все сталкиваются с задачей ограничения скорости доступа в интернет для пользователей. Рассмотрим решение данной задачи при помощи прокси-сервера Squid (установить его можно по этой статье)

 

За ограничение скорости в Squid отвечает параметр delay_pools. Принцип работы delay_pools каждый запрашиваемый объект сначала попадает в пул, а затем передается клиенту. Каждый пул определяется двумя параметрами: скоростью его заполнения и размером буфера. Прим. размер пула 8000 и размер буфера 8000, означает что скорость заполнения буфера будет 64 кБ/с. Неограниченный размер буфера и скорости задается как -1/-1. Размер буфера и скорость задается в байта.

 

Скорость заполнения пула зависит от класса delay_class. Варианты доступных классов:

  1. Общие ограничения скорости загрузки для всех.
  2. Общие ограничения скорости загрузки и скорость каждого хоста.
  3. Общие ограничения скорости загрузки, скорость сети и скорость каждого хоста.
  4. Все ограничения класса 3 + ограничения на уровне отдельно взятых пользователей (требуется аутентификация пользователей в правилах http_access).
  5. Запросы группируются по тэгам определяемым в external_acl

 

Вид записей delay_parameters, в зависимости от выбранного класса:

  1. delay_parameters <номер пула> <общие ограничения для всех>
  2. delay_parameters <номер пула> <общие ограничения для всех> <ограничения для хоста>
  3. delay_parameters <номер пула> <общие ограничения для всех> <ограничения для подсети> <ограничения для хоста>
  4. delay_parameters <номер пула> <общие ограничения для всех> <ограничения для подсети> <ограничения для хоста> <ограничения для пользователя>
  5. delay_parameters <номер пула> <тегированные ограничения>

Появилась необходимость настроить в Squid перенаправление на определенный сайт в случае если пользователь пытается зайти на сайт который находится в списке заблокированных. Я нашел для себя несколько способов реализовать данную задачу.

По-умолчанию, для оповещений системы, которые слышит пользователь в трубке, не установлен русский язык. Разберем как поставить русский язык, чтобы слышать оповещения системы на родном языке.

 

Звуковые файлы Asterisk, располагаются — /var/lib/asterisk/sounds.

 

Скачиваем русские голосовые оповещения:

wget http://jakondo.ru/wp-content/uploads/file-manager/Asterisk/asterisk-core-sounds-ru-alaw-current.tar.gz

Создаем каталог для их размещения и распаковываем:

mkdir -P /var/lib/asterisk/sounds/ru
tar -zxvf asterisk-core-sounds-ru-alaw-current.tar.gz -C /var/lib/asterisk/sounds/ru

Сегодня мы разберем как автоматизировать процесс создания бекапов Групповых политик на Windows Server 2008 R2. Делать бекапы мы будем с помощью скрипта для PowerShell.

NCSA-авторизация — это метод аутентификации в прокси-сервере Squid, основанный на использовании связки логин и пароль. Он позволяет ограничить доступ к сервису за счёт применения учётных данных, закодированных в base64 и хранящихся в текстовом файле.

Работая в организации с большим парком ПК, всегда есть необходимость контролировать/инвентаризировать этот парк ПК. Для этой цели есть замечательный бесплатный продукт GLPI (Gestionnaire libre de parc informatique/Свободный менеджер ИТ-инфраструктуры). Его развертывание мы и рассмотрим.

 

Разворачивать я буду GLPI 0.90.5 в связке с FusionInventory 0.90.1.4 на Ubuntu 14.04 Trusty Tahr.

 

Войдем в систему под root для удобства установки:

sudo su

Обновляем систему до актуального состояния:

apt-get update && apt-get upgrade

 

Для работы GLPI установим пакет lamp-server и дополнительные необходимые зависимости

apt-get install tasksel
tasksel install lamp-server

В ходе установки lamp-server, будет запрос создания пароля для пользователя root

glpi_1

apt-get install php5-gd php5-curl -y

Создадим базу данных для работы GLPI, заходим в MySQL

mysql -u root -p

Создаем базу данных glpi

create database glpi;

Создаем пользователя для базы данных glpi и назначаем ему права доступа на эту базу данных

create user 'glpi'@'%';
grant all privileges on glpi.* to 'glpi'@'%' identified by 'glpi';
flush privileges;
exit

[stextbox id=’warning’]Обращаю внимание что база данных, пользователь и пароль должны быть glpi[/stextbox]

Недавно столкнулся с такой проблемой как сброс пароля к учетной записи admin на видео-регистраторе Polyvision PVDR-08WDL2.

От прошлых системных администраторов достался этот видео-регистратор, пароля от учетной записи admin никто не знал, перебор возможных паролей не помогал получить доступ к настройкам регистратора…

Имеется развернутый Asterisk 11 + FreePBX (по этой статье) на Ubuntu server 14.04.5 LTS и следующая ситуация, что при постановки звонящего на удержание вызова, звонящий слышит в трубке гробовую тишину, дабы как то развлечь звонящего в режиме удержания установим модуль Music On Hold. Т.к. у нас вместе с Asterisk работает FreePBX, то устанавливать модуль мы будем через FreePBX.

Перейдем в Admin Module Admin

moh1

Сейчас разберем как пробросить порт на оборудовании Mikrotik RB201 1UiAS-RM. А в частности рассмотрим на примере если нужен доступ по RDP к рабочей станции из вне, т.е. используя не VPN подключение, а просто путем подключения к внешнему IP-адресу вашего интернета на заданный порт.

 

Запускаем Winbox и подключаемся к роутеру. Переходим IPFirewall во вкладку Filter Rules. Создадим правило разрешающее принимать запросы из вне на указанные порты. Нажимаем кнопку «+«.

 

Вкладка General

поле Chain - указываем input
поле Protocol - указываем 6 (tcp)
поле Dst. Port - указываем 3389

В этой статье мы рассматривали как задать настройки прокси-сервера на доменных рабочих станциях пользователей. Теперь появилась необходимость запретить изменения данных параметров без прав администратора.

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