sysadminnotes | Blogs

Telegram-канал sysadminnotes - Записки админа

12612

Пишу о Linux и администрировании серверов. Связаться с автором: @servers Заметки в браузере: https://sysadmin.pm/ Буст канала: https://t.me/sysadminnotes?boost

Subscribe to a channel

Записки админа

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

2017-05-25 13:01:01 1aL6cP-00314X-OH <= noreply@superdomain.com H=(localhost) [127.0.0.1]:44591 P=smtp S=9778 T="\320\233\321\216\320\261\321\213\320\265 \320\262\320\276\320\277\321\200\320\276\321\201\321\213!" for superuser@mail.ru

Тут можно воспользоваться perl'ом и прочитать, что же написано в заголовке вот так:

$ perl -e 'print "\320\233\321\216\320\261\321\213\320\265 \320\262\320\276\320\277\321\200\320\276\321\201\321\213! \n"'
Любые вопросы!

#будничное #perl #почта

Читать полностью…

Записки админа

Крис Эванс - эксперт по компьютерной безопасности, опубликовал информацию об уязвимости в пакете ImageMagick. Уязвимость была опробована на почтовом сервисе Yahoo (Им после всех взломов и новостей ещё кто-то пользуется?) - Крис сам себе отправил письмо со специально сформированным изображением во вложении и открыл его предпросмотр через веб-интерфейс почтового сервиса. При открытии предпросмотра, сервером было сформировано изображение, состоящее из данных, оставшихся в памяти при обработке вложений от других пользователей. За найденную уязвимость он получил вознаграждение от компании Yahoo.

Любопытно что в GraphicsMagick (форке ImageMagick) уязвимость была исправлена более года назад, но с согласованием информации об уязвимостях у ребят дела обстоят плохо, что повлияло на ситуацию, и в проекте ImageMagick проблема своевременно не была решена. Сейчас разработчики уже выпустили обновления безопасности, но в репозиториях дистрибутивов обновлённых пакетов пока что нет.

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

#security #imagemagick

Читать полностью…

Записки админа

Иногда проверка и починка базы с помощью mysqlcheck может пройти не совсем удачно, с ошибкой для определённой таблицы в БД:

error : Can't create new tempfile: './testdatabase/phpbb_posts.TMD'
status : Operation failed

В этом случае имеет смысл воспольоваться утилитой myisamchk. Останавливем сервер БД, и чиним нужную нам таблицу следующим образом (пример из CentOS 7):

# systemctl stop mariadb
# myisamchk -r -f /var/lib/mysql/testdatabase/phpbb_posts.MYI
- recovering (with sort) MyISAM-table '/var/lib/mysql/testdatabase/phpbb_posts.MYI'
Data records: 2
- Fixing index 1
# systemctl start mariadb

#будничное #mysql #mariadb

Читать полностью…

Записки админа

Сегодня вечером пришлось заняться вопросом работы нескольких установок MySQL в рамках одного сервера. Хорошей новостью стало то, что ISPmanager 5 с некоторого времени поддерживает такую возможность и позволяет настроить всё необходимое прямо из панели управления. Для одновременной установки доступны версии MySQL 5.5, 5.6, 5.7, MariaDB 10, 10.1. Каждый сервер БД устанавливается в отдельный Docker контейнер и занимает свободный порт в системе, для того что бы обеспечить возможность подключения к нему.

Администратору после такой установки остаётся лишь развернуть БД в нужную инсталляцию MySQL, указать в своих скриптах на какой порт локалхоста необходимо подключиться, и его скрипты сразу начнут работать с нужной версией сервера баз.

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

#будничное #ispmanager #mysql #mariadb

Читать полностью…

Записки админа

Современные технологии и их глубокое проникновение в нашу жизнь, практически не оставляет шансов остаться анонимным условному Васяну, который ведёт переписку с так милой его сердцу условной Алисой. Однако современные же технологии позволяют обеспечить нам достаточный уровень приватности нашего общения и пребывания в сети. Да, условный капитан Рогулькин будет знать, что это тот самый Васян и та самая Алиса контактируют между собой, однако о чём конкретно они переписываются, что конкретно показывают друг другу, и какие ресурсы с открытками и стикерами посещают, капитан Рогулькин знать не будет.

Да, провайдер знает кто наш Вася такой, его паспортные данные, он знает в какое время тот выходит в сеть, где он живёт и в каких платёжных системах у него есть аккаунты, однако провайдеру не доступна сетевая активность Василия. Всё что "видит" провайдер - это подключение по UDP к одному единственному IP адресу, и зашифрованный между ПК Васи и этим IP трафик.

Я уже давно не верю в анонимность в сети, однако верю что определённый уровень приватности можно и нужно сохранить. А с учётом происходящего "бардака", не просто сохранить, а защитить. Например, с помощью использования собственного VPN сервера. Спецы справедливо заметят что это не панацея, что есть много факторов... И они безусловно будут правы. Однако на мой скромный взгляд, это всё равно лучше, чем не делать ничего для защиты своего личного пространства.

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

#будничное #openvpn #security

Читать полностью…

Записки админа

Как вам удобнее всего получать информацию по теме канала?

Коротко на канале, подробности в Instant View. – 25
👍👍👍👍👍👍👍 60%

Коротко на канале, подробности на сайте. – 9
👍👍👍 21%

Статьи целиком прямо на канале. – 8
👍👍 19%

👥 42 people voted so far.

Читать полностью…

Записки админа

А мы с вами давайте сегодня пройдёмся по утилитам для оптимизации и контроля производительности MySQL\MariaDB сервера. Некоторые из них известны широко, другие, к моему удивлению, администраторами используются редко...

1. При установке сервера БД, в директории /usr/share/mysql/ можно найти готовые конфигурационные файлы для разных конфигов сервера. Например владельцы VDS с 512 Mb памяти могут попробовать использовать отсюда конфиг my-small.cnf, либо, если его лимитов будет не достаточно, конфиг my-medium.cnf.

2. На сайте tools.percona.com имеется доступ к генератору конфигов сервера БД. Если предустановленного конфига по какой-то причине оказалось не достаточно, можно авторизоваться на сайте и попробовать сгенерировать конфигурацию здесь.

3. Скрипты для оптимизации mysqltuner.pl и tuning-primer.sh. Первый - популяный сегодня, второй - к сожалению теряющий актуальность для последних версий сервера БД. Принцип работы обоих скриптов аналогичен - скачиваем, запускаем, получаем анализ текущей ситуации и рекомендации по увеличению конкретных параметров в конфиге. Для получения оптимального результата, имеет смысл запускать анализ после того как сервер БД проработал без перезапуска более 24-36 часов.

# wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
# chmod u+x mysqltuner.pl
# ./mysqltuner.pl

# wget https://launchpadlibrarian.net/78745738/tuning-primer.sh
# wget https://launchpadlibrarian.net/251274960/5.7.patch
# patch -p0 -i ./5.7.patch
# chmod u+x ./tuning-primer.sh
# ./tuning-primer.sh


4. Утилиты mytop, mtop, innotop. С помощью этих утилит, мы можем подключится к серверу БД нужным пользователем, при необходимости можем указать конкретную базу данных и посмотреть статистику - какой запрос был сделан, к какой базе, сколько этот запрос выполнялся, от какого хоста, в каком состоянии запрос находится сейчас и т. п. Имеется возможность принудительно завершить любой процесс. Нужные опции утилитам можно передать как через параметры запуска, так и через конфиги. Все три утилиты имеют поддержку ввода команд, которые позволяют администратору использовать весь доступный функционал. Список команд можно получить введя уже в запущеном приложении символ знака вопроса - ?

# mytop -u sysadmin_wtuser -p superpassword -d sysadmin_wtdbase
# mtop --dbuser=root --password=superpassword
# innotop -u root -p superpassword

Расширенная версия заметки (сюда и правда не влезло всё что хотелось показать) доступна на сайте. По возможности рекомендую ознакомиться именно с ней.

#будничное #mariadb #mysql #утилиты

Читать полностью…

Записки админа

Помните писал о том, что в обновлениях Windows появится возможность установить Linux дистрибутивы прямо из Windows Store? Оказывается что ребята таки ввели здесь некоторые ограничения. В рамках этих ограничений в Windows 10 S установка Linux дистрибутивов, некоторых утилит для командной строки и консоли будет запрещена.

Запрет объясняется тем, что эти утилиты и приложения не подходят под концепцию Windows 10 S, которую разработчики в первую очередь представляют как ОС для не подкованных технически пользователей. По мнению Microsoft, ограничение установки "сложных" утилит, есть не что иное как забота о самом пользователе, и о стабильной работе его системы.

Разработчикам, сисадминам и технарям, желающим использовать запрещённые для установки утилиты и приложения, Microsoft рекомендует установить полноценную Windows 10, в которой весь необходимый инструментарий будет доступен для использования.

За подробностями можно сходить в соответствующий блог.

Читать полностью…

Записки админа

А вот вам удобный инструмент для быстрой записи действий в терминале - Asciinema. Очень выручает, когда клиенту или коллеге нужно показать какую-то последовательность действий/команд и их результаты. Пакеты с утилитой доступны для установки во всех популярных дистрибутивах.

Для того что бы начать запись действий в терминале необходимо ввести команду:

# asciinema rec

Далее можно продолжить работу. Для окончания записи нажать нужно нажать Ctrl+D или ввести exit, затем программа предложит загрузить запись на удалённый сервер:

# exit
exit
~ Asciicast recording finished.
~ Press <Enter> to upload, <Ctrl-C> to cancel.

https://asciinema.org/a/2240qchisau5k3f4zhrnix90j

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

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

#будничное

Читать полностью…

Записки админа

Иногда в ходе работ появляется задача запустить какую-то команду на нескольких серверах одновременно, либо отправить на неколько серверов какой-то файл. Например на VPN серверы раскидать обновлённый конфиг и перезапустить OpenVPN после этого. Не всегда есть возможность (и необходимость) ставить для этого полноценную систему управления конфигурациями. В таких случаях на выручку приходит простая утилита pssh.

1. Создаём для утилиты список хостов, с которыми будем работать:

$ cat ./hosts.pssh
uptime@bob.sysadmin.pm:2222
uptime@alice.sysadmin.pm:2222

2. И выполняем команду (на них предварительно должна быть настроена авторизация по ключам):

$ pssh -i -h ./hosts.pssh uptime

3. Для копирования файлов на несколько серверов выполняем:

$ pscp.pssh -h ./hosts.pssh ./test12345.txt /tmp/

Если авторизация по ключам на серверах не настроена, можно воспользоваться sshpass и автоматизровать при этом ввод пароля. Подробнее об этом можно прочитать в заметке на сайте.

#будничное #ssh

Читать полностью…

Записки админа

В связи с последней проблемой блокировки писем от некоторых IP, возникли вопросы как быстро эту блокировку обойти. Самый простой вариант здесь - попробовать отправить почту с дополнительного IP на сервере. На примере Exim всё будет выглядеть так... Открываем конфиг exim.conf и находим там строки:

remote_smtp:
driver = smtp

Дописываем к ним параметр interface, и указываем для него наш дополнительный IP, который уже поднят на сервере:

remote_smtp:
driver = smtp
interface = 1.2.3.4

Сохраняем конфиг exim'а, перезапускаем его и отправляем тестовое письмо. В заголовках письма должен остаться прописанный нами IP адрес.

#будничное #exim

Читать полностью…

Записки админа

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

https://github.com/minipli/linux-unofficial_grsec

#grsecurity

Читать полностью…

Записки админа

Если во время попытки получить доступ к ISPmanager 5 мы этого не можем сделать из-за вот такой вот ошибки:

"Доступ к панели заблокирован администратором. Возможно панель в данный момент обновляется"

И если при этом, мы точно ничего не обновляем, то стоит проверить лог панели, скорее всего там будет вот такая строка:

May 14 22:30:02 [25962:1] core ERROR ispmgr locked. If you think that is error remove file tmp/ispmgr.lock

Так что просто удаляем файл /usr/local/mgr5/tmp/ispmgr.lock и пробуем получить доступ к панели вновь.

#будничное #ispmanager

Читать полностью…

Записки админа

Настроен ли IPv6 у вас дома, у домашнего провайдера?

Нет, IPv6 не использую. – 38
👍👍👍👍👍👍👍 95%

Да, использую IPv6 дома. – 2
▫️ 5%

👥 40 people voted so far.

Читать полностью…

Записки админа

В процессе обсуждения атаки шифровальщика, в одном из чатов зашёл разговор о переходе на Linux. Я предпочитаю использовать Fedora на десктопе, однако начинающим всё же рекомендую обратить внимание на Ubuntu, причём на её LTS релиз. Отлчиным пособием для старта будет прикреплённая ниже небольшая книга. Описание процесса установки, знакомство с рабочим окружением, установкой пакетов и т. п. Минимум консоли, все основные действия выполняются из графического интерфейса. Тем кто только знакомится с Linux, тем кто очень хотел попробовать, но всё время откладывал "потому что этот ваш Линукс - это страшная консоль", книга рекомендуется к изучению.

Читать полностью…

Записки админа

Один из клиентов разместил свой сайт на хостинге, где доступен php selector (возможность выбрать версию PHP для аккаунта\домена), однако версии PHP 5.6 и выше были собраны с заданной по умолчанию кодировкой UTF-8. Сайт клиента работал в CP-1251, и при описанных условиях корректно на хостинге не отображался. Очевидные способы решения проблемы с помощью, например, AddDefaultCharset не помогали.

Исправило ситуацию указание в скриптах следующего параметра:

ini_set(default_charset, "");

Кроме этого, можно попробовать сразу же передать в скрипте нужную кодировку:

header("Content-type: text/html; charset=cp1251");

Оба варианта помогут решить проблему работы сайта в случае если его кодировка отличается от той, с которой PHP работает по умолчанию.

#будничное #php

Читать полностью…

Записки админа

Оказывается, в мире до 80 людей ежечасно нуждаются в помощи с выходом из Vim. История о том, как Stackoverflow помог миллиону специалистов сделать это. 🤓

#забавно #vim

Читать полностью…

Записки админа

Сегодня принёс Вам достойную внимания системных администраторов книгу - Matotek D., Turnbull J., Lieverdink P. - Pro Linux System Administration, 2nd Edition. Издание 2017 года.

#книга #linux

Читать полностью…

Записки админа

По умолчанию, панель ISPmanager 5 позволяет указать для WWW-домена только одну кодировку - UTF-8, однако у администратора есть возможность добавить к данному выбору и другие варианты. Для этого, на сервере достаточно открыть файл /usr/local/mgr5/etc/charset и прописать в нем нужные варианты кодировок. Файл необходимо сохранить, а после перезапустить панель.

# cat /usr/local/mgr5/etc/charset
UTF-8
CP1251
# killall core

Если всё будет сделано верно, при последующем редактировании настроек WWW-домена мы получим возможность указать любую кодировку из списка.

#будничное #ispmanager

Читать полностью…

Записки админа

Появилось немного времени и я таки нашёл способ публикации материала в Instant View без использования Telegraph и Medium ресурсов, так что бы контент оставался на собственном сайте, и в то же время вы, друзья мои, смогли бы получить его в удобном для пользователя Telegram виде. Короткая заметка об этом, для того что бы поделиться ею с другими заинтересованными людьми, останется на канале. А вместе с этим сообщением я протестирую новый способ публиковать материал.

Читать полностью…

Записки админа

Друзья, кажется мне предстоит пропасть на следующие 36 часов, а пока меня не будет, хотел бы обратиться к вам за помощью вот в каком вопросе - расскажите мне, как вам удобнее получать материал на канале? Удобно ли использование отдельного сайта и чтение статьи в отдельном браузере? Или же было бы лучше публиковать статьи с применением instant view, что бы их можно было читать прямо в приложении? А может быть и вовсе кому-то удобно получать весь материал целиком прямо в ленте канала? Будет здорово если вы проявите активность и поучавствуете в опросе. Это займёт у вас всего минуту времени, а мне поможет определить дальнеший путь развития канала. Заранее благодарен вам.

Читать полностью…

Записки админа

Друзья, в Asterisk 13.15.1 и 14.4.1 разработчиками были устранены опасные уявимости, эксплуатация которых может привести к краху работы ПО. Не забудьте проверить обновления и установить их по мере возможности.

Подрбности http://www.mail-archive.com/asterisk-announce@lists.digium.com/msg00667.html

#security #asterisk

Читать полностью…

Записки админа

Отличная актуальная книга о Zabbix на русском языке. В архиве доступна как сама книга в формате djvu, так и исходники скриптов и примеров использования.

#book #zabbix

Читать полностью…

Записки админа

Lynis - очень хорошая утилита для аудита безопасности. Анализатор выполняет проверку всех компонентов системы, и формирует для администратора отчёт с предупреждениями и рекомендациями по увеличению уровня безопасности на сервере. Проверяются настройки загрузки, настройки ядра, фаервола, параметры сети, активные порты, установленное ПО, доступные и запущенные сервисы в системе и ещё много чего, в зависимости от того какой софт на сервере установлен и работает.

Для установки утилиты можно использовать подготовленные разработчиками пакеты и репозитории. На примере CentOS установка и запуск проверки выглядят так:

# yum install lynis
# lynis audit system

В ходе проверки Lynis вычисляет некий индекс безопасности системы. На эту циферку можно ориентироваться при выполнении рекомендаций сканера и последующих проверках.

Hardening index : 75 [############### ]
Tests performed : 226
Plugins enabled : 0

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

#будничное #security #lynis

Читать полностью…

Записки админа

Ещё одна тематическая подборка бесплатных книг от O'Reilly. В подборке затрагиваются вопросы безопасности систем. Полистайте при возможности. Может быть найдёте для себя что-то интересное.

#книга #oreilly #security

Читать полностью…

Записки админа

К обсуждаемым по всему рунету проблемам с потенциальной блокировкой Telegram и законе о блокиовке на территории Украины ряда российских ресурсов, людям которые занимаются хостингом, добавилась ещё одна головная боль. Хостеры и владельцы серверов пытаются добиться от mail.ru ответов на вопросы о блокировке входящей почты с некоторых IP адресов. Если кратко, то с недавнего времени, некоторые хостеры и просто владельцы серверов при попытке отправить почту на серверы mail.ru могут получить примерно такой отлуп:

550 Try again later (1.2.3.4). Please contact abuse@corp.mail.ru.

К сожалению, при обращении в поддержку, получить оперативный ответ удаётся далеко не всегда. Кому-то просто говорят что разблокировка не возможна - так попал один клиент на работе, и надо сказать что он не спамер, но некоторое время назад несколько сайтов у него были взломаны и с них была выполнена рассылка. С кем-то диалог слабо, но выстраивается. Те кому удаётся, смогли прояснить, что основные претензии mail.ru связаны с большим количеством спама и/или большим количеством писем, нарушающих политику DMARC доменов mail.ru с указанного IP.

Похоже что mail.ru надоело текущее положение дел, и кто-то решил немного закрутить гайки. Печально что при этом, под удар попали как простые клиенты, так и хостеры, к которым теперь клиенты идут с жалобами на недоставленную почту.

#нужнобольшеблокировок

Читать полностью…

Записки админа

Человеческая лень порой творит чудеса. Смотрите, вжух...

for book in `wget -qO- http://www.oreilly.com/webops/free/ | cat | grep -o "http://.*csp" | sed -e 's|/free/|/free/files/|g; s|.csp|.pdf|g;'`; do wget $book; done;

... и у меня для вас есть 31 достойная внимания бесплатная мини-книга (скорее это мини-доклады) от O'Reilly для DevOps\WebOps специалистов. Если ещё не видели их раньше, выберите время для ознакомления.

P. S. Здесь для sed используются вертикальные разделители, такое может сработать не везде, так что если вы решите поробовать эту команду, а sed будет отдавать ошибку, используйте стандартный разделитель и экранируйте слеш в нужном месте.

#книга #oreilly #devops

Читать полностью…

Записки админа

За время работы админом, сформировалась собственная небольшая инфраструктура из нескольких серверов. Среди этих серверов есть такие, на которых задачи по обновлению можно автоматизировать. Но ставить на автомате абсолютно все обновления не безопасно. С помощью утилиты yum-cron администратор может выбрать, обновления какого типа будут установлены автоматически. Например, на своих площадках, там где это допустимо, я настроил автоустановку обновлений безопасности, а все остальные обновления ставлю в ручную по мере возможности. Небольшая заметка по быстрой настройке yum-cron на сайте.

#будничное #yum #centos

Читать полностью…

Записки админа

Уточнил у своего провайдера по поводу IPv6 - сказали что выдать не могут, и пока что запускать поддержку не планируют. В мире с IPv6 дела обстоят примерно вот так.

#ipv6

Читать полностью…

Записки админа

Сегодняшняя заметка о том, как можно легко контролировать соединения со всех виртуальных серверов на KVM ноде. Рассматриваю ситуацию, в которой потребовалось заблокировать трафик на 25 порт для всех VPS и разрешить только нескольким использовать эту возможность.

С помощью iptables такое делается достаточно просто:

# iptables -I FORWARD -o vmbr0 -p tcp --dport 25 -j DROP
# iptables -I FORWARD -o vmbr0 -p tcp -s 11.12.13.14 --dport 25 -j ACCEPT

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

Читать полностью…
Subscribe to a channel