Немного девичьих IT-шных записок

среда, 5 апреля 2023 г.

Прошивка точки Ubiquiti AP AC Lite из OpenWRT обратно в UniFi


Попалась в руки чудная точка Ubiquiti AP AC Lite, видимо предыдущие руки решили, что так не интересно и перешили её в OpenWRT. А нам нужно обратно все вернуть. 

Далее в целом идет Инструкция по загрузке прошивки через TFTP Recovery.

Для прошивки точки, нужно перевести точку в режим TFTP Recovery mode. Для этого нужно отключить точку от питания, зажать кнопку Reset. Подключить питание, не отпуская кнопку. Дождаться, пока диоды поочередно загорятся - белый, синий, выкл. Это значит, что точка перешла в режим TFTP Recovery.



Далее качаем нужную прошивку с расширением .bin с официального сайта:

И качаем Pumpkin TFTP (думаю версия особо значения не имеет, но у меня была 2.7.2):

Подключаем точку к сетевому интерфейсу компьютера, для подключения необходимо использовать ПЕРЕКРЕСТНЫЙ кабель, можно обжать по следующей схеме: 



Следующим шагом будет - назначить адрес для сетевого интерфейса, к которому подключена точка:



IP-адрес: 192.168.1.25
Маска: 255.255.255.0
Шлюз: 192.168.1.20 

Адрес может быть любым из сети 192.168.1.0, кроме 192.168.1.20, т.к. этот адрес присваивается точке по умолчанию в этом режиме. Точка по этому адресу пингаться не будет! 

Запускаем Pumpkin TFTP и пробуем залить прошивку через Put File:
Если получаем Transer of... has successfully completed! то всё прошло успешно. Точку от компьютера и сети не отключаем. Ждем. После того как диод загорится белым цветом и будет гореть постоянно, значит точка прошилась и перешла в рабочий режим. 



воскресенье, 12 сентября 2021 г.

Расшифровка OID сертификатов, выпущенный Федеральным Казначейством

Для тех, кого раздражает непонятный набор циферек в сертификатах, написала вот такой reg-файл. 

Т.е. когда в реестре не зарегистрированы данные OID мы видим набор цифр вместо описания полномочий в сертификате или же сообщение "Неизвестное использование ключа".


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


Добавляла вручную с Описания структуры и порядка использования полей квалифицированного сертификата ключа проверки электронной подписи, выданного Удостоверяющим центром Федерального казначейства (за 2020 год), а так же из нескольких предыдущих документов.

Скачать: OIDs_UFK.reg

Скачать: Описание структуры и порядка использования полей КСКП ЭП, выданного УЦ ФК.pdf

 







среда, 19 сентября 2018 г.

Как перевести Windows Server 2016 из редакции Standart в редакцию Datacenter

На самом деле редакции Standart и Datacenter ОС Windows Server 2016 по спецификациям сильно не отличаются (см. wiki на момент написания блога), но для организации хранилища, файловых "помоек" и всего тому подобного, в Datacenter в отличии от Standart есть интересный компонент Реплика хранилища (Storage Replica).

Но имея под рукой установленную редакцию Standart, можно легко превратить ее в Datacenter.

Запускаем PowerShell, проверяем установленную редакцию с помощью команды:
DISM /online /Get-CurrentEdition

Проверяем доступность редакций для апгрейда, в списке должна присутствовать DatacenterEdition:
DISM /online /Get-TargetEditions

И переходим к апгрейду до нужной редакции, что займет не больше 10 минут:
DISM /online /Set-Edition:ServerDatacenter /ProductKey:$$$$$-$$$$$-$$$$$-$$$$$-$$$$$ /AcceptEula

Ключ для апгрейда до Datacenter был взят отсюда.

Вот и всё, после перезагрузки можно проверить редакцию первой командой.

четверг, 10 мая 2018 г.

Генерация и установка SSL-сертификата для сервера MDaemon

Имеется почтовый сервер MDaemon 16 версии, необходимо получить SSL сертификат у стороннего авторизованного центра сертификации, для дальнейшего использования протоколов POP3 SSL, IMAP SSL, SMTP SSL. Весь процесс того, как это сделать опишу здесь.

Коротко о самом сертификате. 
Сертификат - это открытый ключ, необходимый для шифрования в работе указанных протоколов. Сертификату обязательно соответствует закрытый ключ, контейнер закрытого ключа должен храниться на web-сервере, на котором будут использоваться SSL-протоколы. Так же, необходимо наличие корневого и промежуточных (если такие имеются) сертификатов центра сертификации, для того, чтобы система понимала путь сертификации и знала откуда Ваш сертификат происходит и что он действителен. Т.е. полный список того, чтобы SSL-сертификат работал:

  • SSL-сертификат домена или хоста домена,
  • закрытый ключ,
  • промежуточный сертификат центра сертификации,
  • корневой сертификат центра сертификации.

Как и где взять сертификат?
Есть два варианта:

  • развернуть свой центр сертификации и выпустить самоподписанный сертификат 

или же

  • обратиться к стороннему удостоверяющему центру, такому как Thawte, Comodo, Let's Encrypt и т.д. 

Сертификаты от известных УЦ имеют преимущество в том, что их корневые сертификаты предустановлены в браузерах, и вопросов о возникновении Вашего сертификата в браузере не возникнет. Чаще всего получить SSL-сертификат у такого УЦ стоит некоторую сумму денег, и цена различается в зависимости от того, что именно сертификат подтверждает - домен, организацию, степень доверия. Но, например, у Comodo можно заказать бесплатный сертификат, действие которого продлится не более 90 суток. Он будет подтверждать только определенный хост домена в двух вариациях - domen.ru и www.domen.ru. Такие же бесплатные сертификаты можно заказать у Let's Encrypt.

О получении бесплатного сертификата от Let's Encrypt и настройке автоматического продления можно почитать тут.

Остановились на том, что сертификат будет куплен на год у компании RuCenter. Это будет сертификат Thawte SSL 123 для подтверждения домена. Причем покупка SSL-сертификата у партнеров, чем у самих УЦ часто бывает выгодней.
Для того, чтобы заказать сертификат нужно создать файл запроса. И опять есть несколько вариантов: создать запрос на сайте УЦ или на своем сервере (компьютере) с помощью различного программных продуктов (например, можно использовать пакет OpenSSL, но мы пойдем путем проще).

P.S. Доверять созданию запроса на сайте я бы не стала, столкнулась с тем , что первый раз при генерации запроса закрытый ключ не сохранился (хотя техподдержка говорит о том, что он должен был сохраниться автоматически), из-за отсутствия закрытого ключа сертификат пришлось перевыпускать.

Запрос сертификата.
В нашем случае воспользуемся стандартными средствами Windows, и статьей из базы знаний о MDaemon (пруф-линк).
MDaemon не имеет встроенных средств для создания файла запроса сертификата (Certificate Signing Request, CSR), который необходим для получения SSL-сертификата у стороннего центра сертификации (Certification authority, CA).
В ОС Windows имеется встроенная утилита командной строки certreq.exe, которая позволяет создать запрос и импортировать новые сертификаты в хранилище сертификатов Windows, а далее MDaemon уже может воспользоваться ими оттуда.
Необходимо создать CSR-запрос на сертификат с длиной ключа в 2048 бита и заказать сертификат у Центра сертификации.

1. Логинимся на нашем сервере с MDaemon под учетной записью с правами администратора.
2. Создаем файл с именем "CSRParameters.inf" в корне диска C с помощью Блокнота или другого текстового редактора.


;----------------- request.inf -----------------
[NewRequest]
 Subject="CN=mail.vlc.ru,O=Administration Vladivostok,S=Primorsky krai,L=Vladivostok,C=RU"
 KeySpec=1
 KeyLength=2048
 Exportable=TRUE
 MachineKeySet=TRUE
 SMIME=False
 PrivateKeyArchive=FALSE
 UserProtected=FALSE
 UseExistingKeySet=FALSE
 ProviderName="Microsoft RSA SChannel Cryptographic Provider"
 ProviderType=12
 RequestType=PKCS10
 KeyUsage=0xa0
 Silent=TRUE
 [EnhancedKeyUsageExtension]
 OID=1.3.6.1.5.5.7.3.1
 OID=1.3.6.1.5.5.7.3.2
;-----------------------------------------------

3. Открываем командную строку, переходим в корень диска C
cd C:\
Вводим следующую команду
certreq -new CSRParameters.inf CSROutput.pem

4. Проверяем наличие файла CSROutput.pem на диске C.

5. Открываем файл CSROutput.pem текстовым редактором и копируем его содержимое в поле для запроса на сайте УЦ. Сам запрос будет выглядеть следующим образом:

-----BEGIN NEW CERTIFICATE REQUEST-----
3DQIDMQwWCjYuMS43NjA.....[запрос, закодированный по схеме Base64]
-----END NEW CERTIFICATE REQUEST-----

6. В ответ на запрос УЦ пришлет сертификат в формате .crt и корневые сертификаты (если корневых сертификатов не было приложено, их можно взять на сайте УЦ).

Установка сертификата.
1. Открываем консоль mmc, добавляем оснастку "Сертификаты" (локального компьютера). Переходим во вкладку "Личное" и нажимаем в консольном меню "Импорт".

P.S. Сначала необходимо установить полученный SSL-сертификат на том компьютере, где генерировался запрос. Т.к. контейнер закрытого ключа был сохранен именно там. Если запрос генерировался на сервере, где сертификат будет использоваться, то Экспорт и перенос сертификата не нужен.

2. Импортируем SSL-сертификат в "Личное", промежуточные в "Промежуточные центры сертификации", а корневой в "Доверенные центры сертификации". В "Личном" появится сертификат для Вашего домена с иконкой сертификата с ключом. Это значит, что сертификат установлен так, как нам нужно.

3. Если сертификат необходимо перенести на сервер, то следует из "Личного" выполнить экспорт в формате PKCS #12 с экспортом закрытого ключа, а так же отметить:
- Экспортировать все расширенные свойства.
Необходимо также будет установить пароль, который позже потребуется при импорте сертификата на сервер.

4. Импортировать .pfx сертификат в "Личное". Промежуточные в "Промежуточные центры сертификации", а корневой в "Доверенные центры сертификации".

Если всё сделано верно, то в настройках MDaemon "Безопасность", далее "Параметры безопасности", далее "SSL & TLS", далее "MDaemon" отразиться установленный сертификат для нашего домена.

Повторная установка сертификата.
Нужен OpenSSL, открываем его C:\Program Files (x86)\OpenSSL-Win32\bin\OpenSSL.exe
Пишем:
pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt 

среда, 21 февраля 2018 г.

Создание базы данных в MySQL для Zabbix на Debian 9

В связи с выходом нового выпуска Debian 9, с кодовым именем Stretch, инструкция по установке Zabbix 3.4 (тут) стала немножко неактуальна. Поэтому для любителей Ctrl+C/Ctrl+V внесем небольшие поправки для установки Zabbix, а так же уточнения для создания базы данных в MySQL.

Для установки пакетов необходимо ввести следующие команды:
# wget http://repo.zabbix.com/zabbix/3.4/debian/pool/main/z/zabbix-release/zabbix-release_3.4-1+stretch_all.deb
# dpkg -i zabbix-release_3.4-1+stretch_all.deb
# apt-get update

Не забываем установить MySQL:
# apt-get install zabbix-server-mysql zabbix-frontend-php


Теперь необходимо создать системного пользователя Zabbix и базу данных. Откроем консоль MySQL, для этого введем:
mysql -uroot -p


Далее потребуется ввести пароль нашего суперпользователя root. Откроется консоль MySQL. Сразу создадим базу данных с именем Zabbix с кодировкой UTF8:
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

Теперь создадим пользователя так же с именем Zabbix и придумаем пароль.
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';

Теперь необходимо задать права на все таблицы базы данных Zabbix (zabbix.*) для пользователя Zabbix:
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';

Чтобы изменения вступили в силу, обновим наши привилегии:
FLUSH PRIVILEGES;

Теперь перейдем в каталог, где находится скрипт create.sql.gz для создания таблиц в базе данных.
cd /usr/share/doc/zabbix-server-mysql

Выполним его следующей командой, распаковка занимает значительное время, так что следует немного подождать.
sudo zcat create.sql.gz | mysql -uroot zabbix -p

Далее проверим настройки Zabbix'а для подключения к базе данных, они находятся в файле, по указанному ниже пути. Пароль password - это пароль пользователя базы данных Zabbix.
# sudo nano /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password

Далее проверим настройки Zabbix'а для подключения к базе данных, они находятся в файле, по указанному ниже пути. Пароль password - это пароль пользователя базы данных Zabbix.
# sudo nano /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password

Так же выполним настройку часового пояса для Apache, откроем файл и изменим все параметры для Timezone на необходимый нам часовой пояс. Список поясов можно посмотреть тут.
/etc/apache2/conf-enabled zabbix
Asia/Vladivostok

Сервер Zabbix полностью установлен, запустим его и добавим службу в автозапуск.
# service zabbix-server start
# update-rc.d zabbix-server enable

Дальнейшая настройка сервера будет производится через веб-интерфейс, который будет расположен по ip-адресу Вашего сервера - http://ip-адрес/zabbix. Первый вход осуществляется с логином Admin и паролем zabbix, но для последующего входа, пароль рекомендуется поменять, да и вообще неплохо бы подумать над безопасностью сервера. 

четверг, 5 октября 2017 г.

Не пускает в MySQL сразу после установки и новая парольная политика MySQL 5.7

Версия ОС: CentOS 6.9
Версия ПО: MySQL-server 5.7.19

Столкнулась с такой проблемой, установила mysql-server и сразу попыталась зайти в mysql, создать нужную базу.. Но зайти под root-ом в mysql так и не получилось. Ни с паролем, ни без пароля, и вопроса о задании пароля при установке, тоже не было.
Ломимся в mysql и получаем подобные ошибки:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Хочу обратить внимание на то, что на форумах довольно много советов на тему, как поменять пароль для пользователя. Однако я столкнулась с тем, что в моей системной базе mysql в таблице user нет поля password. 👀 Wtf?! Версию mysql я ставила 5.7.. В этой версии поле password решили заменить authentication_string. И теперь пользовательские пароли хранятся именно там.

Запускаем mysql в режиме с отключением проверки прав доступа:

service mysqld stop
mysqld_safe --skip-grant-tables &

Подключаемся к системной базе данных:

mysql
mysql> use mysql; 

И задаем пароль нашему root-у:

mysql> update user set authentication_string=password('qwerty') where user='root'; 

У меня в поле с отметкой об истечении пароля стоял Y, который позже был причиной появившейся ошибки:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

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

mysql> update user set password_expired='N' where user='root';
mysql> exit

Перезапускаем демона:

service mysqld restart

И радуемся работающему входу с паролем 😄



P.S.

В версии mysql 5.7 ужесточились требования к парольной политике. Интересующие нас параметры записаны в глобальных переменных, которые можно посмотреть при помощи команды:

show variables like 'validate_password%';

validate_password_length 5 
validate_password_mixed_case_count 1
validate_password_number_count 1
validate_password_policy MEDIUM
validate_password_special_char_count 1

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

set global validate_password_length = 5; 

Обязательность использования символов в верхнем регистре можно изменить:

set global validate_password_mixed_case_count = 0;

Количество цифр в пароле, или вообще их необязательность, как в этом примере, можно задать так:

set global validate_password_number_count = 0;

И присутствие специальных символов в пароле меняется так:

set global validate_password_special_char_count = 0;

В целом за парольную политику отвечает переменная validate_password_policy, она может принимать значения LOW, MEDIUM, STRONG.