SCROLL

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

Для обеспечения большей безопасности 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 3.5.19.

Все операции проделываться будут на Ubuntu server 14.04.5 с развернутым Squid 3.5.19 по этой инструкции и опираясь на представленный в инструкции конфиг Squid.

Создадим текстовый файл, в котором будут хранится список всех нежелательных элементов URL, содержащие имена файлов с расширениями.

sudo nano /etc/squid/blockfiles.txt

Указываем в файле все нежелательные расширения файлов, которые необходимо блокировать:

\.[Aa][Vv][Ii]$ #Блокировка - .avi
\.[Mm][Pp][Gg]$ #Блокировка - .mpg
\.[Mm][Pp][Ee][Gg]$ #Блокировка - .mpeg
\.[Ff][Ll][Vv]$ #Блокировка - .flv
\.[Mm][Pp]3$ #Блокировка - .mp3

[note]Информация: расширение файлов указано в формате прим. [Mm][Pp]3 чтобы исключить варианты расширений вида: mP3, MP3, Mp3.. Указанный нами формат расширения, исключает возможность любого варианта написания данного расширения.[/note]

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

Все операции проделываться будут на Ubuntu server 14.04.5 с развернутым Squid 3.5.19 по этой инструкции и опираясь на представленный в инструкции конфиг Squid.

Блокировать доступ мы будем с помощью acl — time. Синтаксис acl такой: acl [название правила] time [аббревиатура дней] [h1:m1-h2:m2].

Коды дней недели определяются так: S — Sunday — Воскресенье, M — Monday — Понедельник, T — Tuesday — Вторник, W — Wednesday — Среда, H — Thursday — Четверг, F — Friday — Пятница, A — Saturday — Суббота. А параметры h1:m1 и h2:m2 вставляется время.

[tip]Важно !  h1:m1 всегда должно быть меньше h2:m2[/tip]

Рано или поздно все сталкиваются с задачей ограничения скорости доступа в интернет для пользователей. Рассмотрим решение данной задачи при помощи прокси-сервера 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 перенаправление на определенный сайт в случае если пользователь пытается зайти на сайт который находится в списке заблокированных. Я нашел для себя несколько способов реализовать данную задачу.

 

Рассмотрим способ мгновенного редиректа на заданный сайт и редирект с отображением страницы  ERR_ACCESS_DENIED (входящую в состав Squid) и через несколько секунд выполнять редирект на заданную страницу.

 

[stextbox id=’alert’]Сразу хочу предупредить, что выполнить перенаправление на заданную страницу в Squid возможно только при посещении пользователем HTTP сайтов. К сожалению с HTTPS сайтами перенаправление работать не будет. [/stextbox]

 

Проделываться все будет на Squid 3.5.19 (статья по установке) установленным на Ubuntu server 14.04. Но уверен что способы будут работать и на отличных от моих параметров.

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

 

Звуковые файлы 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

Создание бекапов неотъемлемая часть повседневной работы в IT сфере. Имеющийся в наличии бекап всегда может восстановить работоспособность того или иного узла. Сегодня мы разберем как автоматизировать процесс создания бекапов Групповых политик (GPO) на Windows Server 2008 R2. Делать бекапы мы будем с помощью скрипта для PowerShell.

 

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

powershell -Command Set-ExecutionPolicy RemoteSigned

 

Теперь можно приступать к написанию скрипта, который будет выполнять бекап GPO. В ходе работы над написанием скрипта, у меня получилось два варианта скрипта:

  1. Автоматическое создание бекапа всех GPO, размещение их на сетевом ресурсе в архивированном виде.
  2. Автоматическое первоначальное создание бакапа всех GPO, последующие запуски скрипта будут бекапить GPO только если в них были сделаны какие либо изменения.

Все скрипты с комментариями, поэтому разобраться в них не составит труда.

Появилась необходимость настроить Squid 3.5.19 с авторизацией по логину и паролю. Т.е. чтобы при попытке посетить какой либо интернет ресурс пользователю выдавался запрос авторизации, в случае успешной авторизации доступ в интернет предоставлялся, в ином случае, пользователь получал бы отказ доступа. В Squid реализовать такой метод авторизации можно с помощью basic_ncsa_auth.

При данном методе авторизации имя пользователя и пароль будут хранится в текстовом файле. Логин и пароль будем создавать при помощи утилиты htpasswd входящую в состав apache-utils. Пароли будут хранится в хешированном виде.

Итак все действия ниже я буду производить на Ubuntu server 14.04.5 x64 с установленным Squid 3.5.19 по данной статье.

Работая в организации с большим парком ПК, всегда есть необходимость контролировать/инвентаризировать этот парк ПК. Для этой цели есть замечательный бесплатный продукт 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

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

Запрещать изменения мы будем через групповые политики домена путем изменения параметров реестра. Используемые домен контроллер на базе Windows server 2008 R2. Создаем GPO политику и в разделе User Configuration (или Computer Configuration) — PreferencesWindows Settings политики используем параметр Registry.

gpo7

Появилась необходимость задать настройки прокси-сервера для пользователей компании. Подходить к каждому ПК и ручками задавать эти настройки как то не практично, да и долгое это занятие. Т.к. все ПК находятся в домене, то логично задать настройки прокси-сервера путем Групповых политик домена. Имеется домен контроллер на базе Windows server 2008 R2. Но как выяснилось в Windows server 2008 R2 возможность настройки Internet Explorer только версий 5,6,7,8. Для старших версий настройки не применяться.

gpo1

Развернутый мною Squid по данной статье, успешно работает. Но столкнулся с такой ситуацией что сразу не понял почему логи Squid хранятся крайне мало и для детального анализа трафика проходящего в компании не достаточно.

 

По умолчанию ротация логов в Squid выставлена всего на три дня, поэтому яразобрался как увеличить срок жизни логов и выставить ротацию логов в период одного месяца. В моем случае этого достаточно.

 

Осуществлять ротацию логов мы будем с помощью системной службы logrotate.

[stextbox id=’info’]Ротация логов осуществляет периодическую замену старых логов новыми, помещая устаревшие данные в архив или просто удаляя их. В зависимости от настроек архив логов может храниться как в сжатом, так и в несжатом виде и иметь необходимую глубину.[/stextbox]

 

Основные настройки logrotate хранятся в /etc/logrotate.conf, настройки отдельных сервисов (в нашем случае Squid) хранятся в /etc/logrotate.d/squid, и эти настройки имеют приоритет над logrotate.conf. Сама служба вызывается раз в сутки через планировщик cron.

Разберем как настроить связь Squid 3.5 c Active Directory через kerberos авторизацию, чтобы доступ в интернет предоставлялся только по доменным учетным записям, а так же возможность использования Active Directory групп для разграничения прав доступа в интернет.

 

 

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

  • Установленный на Ubuntu 14.04 Trusty Tahr (srv-squid-s) Squid 3.5
  • Домен контроллер SRV-DC1 (testzone.local) на базе Windows Server 2008 R2

 

Подготовка системы Ubuntu 14.04 Trusty Tahr (srv-squid-s)

Укажем корректное имя системы для работы с Active Directory. В файле (/etc/hostname) дописываем к имени системы название вашего домена (в моем случае я дописываю .testzone.local):

srv-squid-s.testzone.local

В файле (/etc/hosts) под записью «127.0.0.1 localhost» прописываем данные нашей системы:

192.168.1.5 srv-squid-s.testzone.local srv-squid-s

Для применения изменений перезагрузим систему:

sudo reboot

В этой статье мы разобрали как развернуть прокси-сервер Squid 3.5.19 на Ubuntu 14.04 Trusty Tahr . В этой статье мы разберем как развернуть анализатор логов прокси-сервера Squid и просмотр сформированных с помощью Sarg логов в удобном для нас виде через Web браузер.

 

Разворачивать я буду Sarg на той же машине где и стоит Squid, ОС используемая Ubuntu 14.04 Trusty Tahr. Устанавливать Sarg будем из репозитариев Ubuntu. На момент написания статьи в репозитария доступна 2.3.6 версия Sarg.

 

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

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

 

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

sudo apt-get install sarg

 

После установки выполним конфигурацию Sarg. Выполним резервное копирование файла конфигурации.

sudo cp /etc/sarg/sarg.conf /etc/sarg/sarg.conf.backup