Админим с Буквой
5.51K subscribers
302 photos
8 videos
59 files
1.16K links
Канал о системном администрировании, DevOps и немного Инфобеза.

По всем вопросам обращаться к @bykva. Рекламу не размещаю.
Download Telegram
Kreon о selinux. PHDays
Forwarded from OpenNews
Удалённая root-уязвимость в DHCP-клиенте из состава RHEL и Fedora
В скрипте интеграции с NetworkManager, входящем в состав пакета dhcp-client, предлагаемого в Red Hat Enterprise Linux и Fedora, выявлена критическая уязвимость (CVE-2018-1111), которая позволяет удалённо выполнить код с правами root. Проблема может быть эксплуатирована при обработке специально оформленного DHCP-ответа в системах c NetworkManager, настроенных на получение конфигурации сети через протокол DHCP. Проблеме присвоен наивысший уровень опасности.
копируем содержимое папки с dot-файлами

Казалось бы, чего сложного, cp -r /opt/* /app/, однако, есть нюансы. Квантификатор * не учитывает файлы и папки, начинающиеся с точки, поэтому в список аргументов для копирования они не попадают.

Для решения этой проблемы можно использовать такую конструкцию, которая скопирует все содержимое директории, включая dot-файлы и папки:


cp -r /opt/. /app


#bash_tips_and_tricks
bareos config on windows

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

C:\ProgramData\Bareos\bareos-fd.conf


#bareos #windows
1c_backup.ps1
1 KB
Небольшой скрипт на posh для выплнения резервного копирования #1с

#backup #posh
Удаляем из директории все, исключая несколько файлов

Встретил несколько реализаций этой задачи - когда надо полностью почистить папку, включая dot-файлы, но при этом когда нужно сохранить какие-то определенные. Писать длинные скрипты, парсить вывод ls? слишком мутно. Проще всего включить опцию extglob в bash.

shopt -s extglob
rm -rf !(package*.json|node_modules) .[!.]* ..?*


!(regexp) - список файлов в виде регулярки, которые нужно сохранить
.[!.]* - исключить из списка аргументов символ .
..?* - исключить из списка аргументов символ ..
два последних - для того чтобы rm не удалял ./. и ./.. - он их не удалит, но процесс завершится с ошибкой. (хотя и отработает, удалив все что нужно)

выключить обратно extglob можно с помощью ключа -u

#bash_tips_and_tricks
Forwarded from Information Hardening
#network #exploit #обновления

Чудеса от Длинка - DSL 3782 отслеживает сессию администратора не по кукам, не по данным в хранилищах на стороне клиента, и даже не по отпечатку браузера, а по таймауту! Причем, судя по отчету ресечера, еще и IP источника запросов не отслеживается. В итоге CVE-2018-8898: можно вот просто отправлять запросы с правами администратора. Примеры запросов в "эксплойте": https://www.exploit-db.com/exploits/44657/. Апдейтов нет пока...

И еще одна свежая бага там же (DSL 3782) - выполнение произвольного кода с правами root авторизованным HTTP-клиентом (CVE-2018-8941). PoC: https://github.com/SECFORCE/CVE-2018-8941. Для этого даже выкатили обновление: ftp://ftp2.dlink.com/SECURITY_ADVISEMENTS/DSL-3782/REVA/

Ну а если у вас длинк есть, но другой, имеет смысл посмотреть последний релиз прошивки для конкретной модели: ftp://ftp2.dlink.com/SECURITY_ADVISEMENTS
procps security update

Package: procps
CVE ID: CVE-2018-1122 CVE-2018-1123 CVE-2018-1124 CVE-2018-1125 CVE-2018-1126
Debian Bug: 899170

The Qualys Research Labs discovered multiple vulnerabilities in procps, a set of command line and full screen utilities for browsing procfs. The Common Vulnerabilities and Exposures project identifies the following problems:

CVE-2018-1122

top read its configuration from the current working directory if no $HOME was configured. If top were started from a directory writable by the attacker (such as /tmp) this could result in local privilege escalation.

CVE-2018-1123

Denial of service against the ps invocation of another user.

CVE-2018-1124

An integer overflow in the file2strvec() function of libprocps could result in local privilege escalation.

CVE-2018-1125

A stack-based buffer overflow in pgrep could result in denial of service for a user using pgrep for inspecting a specially crafted process.

CVE-2018-1126

Incorrect integer size parameters used in wrappers for standard C allocators could cause integer truncation and lead to integer overflow issues.

#security
Hetzner немного приболел

Проблема на этот раз не с РКН:

Due to a current disruption of the power supply at our location Falkenstein, there are currently accessibility problems of some customer servers. Our technicians are currently analyzing the source of the problem and we will keep you up to date.


недоступные адреса по трассировке запарываются на core24.fsn1.hetzner.com
👨🏻‍🎤 DevOps бандл готов.

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

https://mega.nz/#F!fTo31IhT!6t8NU50wUi_X2cUE0bvwoQ

#книги #видео #devops #фидбечат
Где монтируется протокол mtp

Подключил android телефон к debian, открыл в проводнике, перенес файлы, все дела, ничего необычного. Но возникла идея по фильру поудалять лишнее. по-привычке ctrl+c ctrl+v путь из адресной строки и... путь то не существует! тыкаюсь в /media/user - и там пусто. ПКМ - открыть в проводнике и оказалось, что монтируется он оказывается вот как:

/run/user/1000/gvfs/mtp:host=%5Busb%3A001%2C006%5D/Internal shared storage


а вывод команды mount показывает вот что:

gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)


GVfs (abbreviation for GNOME Virtual file system) - это виртуальная файловая система, созданная как альтернатива для GnomeVFS. GVFS позволяет по желанию подключать виртуальные файловые системы, монтируя их через FUSE. Mounting refers to the traditional concept of arranging multiple file systems and devices in a single tree, rooted at /. Classical mounting happens in the kernel and is controlled by the mount utility. GIO expands this concept by introducing mount daemons that can make file systems available to GIO applications without kernel involvement.

Посмотреть смонтированные устройства можно так:

gvfs-mount -l
Drive(0): LITEON CV3-8D256
Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
Volume(0): Android
Type: GProxyVolume (GProxyVolumeMonitorMTP)
Mount(0): Android -> mtp://[usb:001,006]/
Type: GProxyShadowMount (GProxyVolumeMonitorMTP)
Mount(1): mtp -> mtp://[usb:001,006]/
Type: GDaemonMount


в паре с ключом -i, покажет подробную информацию, например физическое устройство в системе: `unix-device: '/dev/bus/usb/001/006'

#android
ESXI изменение MAC адреса при смене сетевой карты

Для тех кто как и я попал в лужу с hetzner (после скачка напряжения, видимо, погорел порт на сетевухе), вот вам инструкция с wiki, что же делать и как исправить.

В кратце - мак адрес был считан и забит в конфиг esxi при его установке. в будущем именно он анонсируется в сеть. При смене карточки независимо от наличия нового мака анонсироваться будет старый. Это вредит нам с точки зрения port security, который везде настроен в Hetzner. Для смены придется заказать себе IP KVM, зайти в shell (alt+f1) и ввести команду из мануала. затем reboot и все. Ну и еще помучаться в некоторых частных случаяех если на alt+f1 у вас стоит хоткей, и передать команду через интерфейс kvm нельзя =) (нужно отключить хоткей меню).

https://wiki.hetzner.de/index.php/VMware_ESXi/en#Change_MAC_address

#hetzner #esxi #troubleshooting
Выпуск DNS-сервера BIND 9.13.0 с изменением схемы нумерации версий

https://www.opennet.ru/opennews/art.shtml?num=48655

Консорциум ISC опубликовал новую ветку DNS-сервера BIND 9.13. Прошлая ветка 9.12 была выпущена в январе и на её подготовку было потрачено два года. Столь существенное сокращение сроков между значительными номерами версий обусловлено переходом проекта на новую схему подготовки выпусков. Нечётные номера релизов отныне будут присваиваться экспериментальным веткам, в которых будет развиваться функциональность для будущих стабильных веток, имеющих чётный номер выпуска.

#bind
Монтируем datastore vmware из-под linux

В случае, когда у вас по тем или иным причинам нет возможности запустить esxi, но есть возможность загрузиться с live-cd, то примонтировать хранилище и выдернуть с него данные можно вот так:

apt install vmfs-tools
fdisk -l #смотрим номер нужного раздела
vmfs-fuse /dev/sdb5 /mnt/vmfs


#vmware #troubleshooting
Возвращаем пропавший звук

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

# pulseaudio -k
# alsa force-reload


#sound #troubleshooting
Похоже на этот раз приболел OVH
При логине в панель они попросили прислать код подтверждения, отправленный на почту. Почта, судя по их статус-странице, лежит. Шах и мат
Восстановление данных из ceph

А чем я занимался все выходные? разгребал последствия падения серверов в hetzner. У меня там наколенная инсталляция k8s+ceph в числе 3+3 vm, причем 4\6 на одном сервере. Как результат - когда у меня сгорела сетевуха, кластер развалился, поскольку 2\3 мониторов упало с повреждением базы, а третий выпал из кворума. Один из вариантов развития событий - вытащить данные и сложить их в сторону. Будет ли это новый кластер, или некоторая попытка сделать резервное копирование\достать самую новую версию, которая еще не успела скопироваться - не важно. Стало интересно как это сделать, если все упало напрочь и все что есть - только в чистом раздел с данными ceph. Наткнулся на готовое решение, в виде sh-скриптов, которые все уже сделают за вас:

https://gitlab.lbader.de/kryptur/ceph-recovery.git

все что нужно сделать - натравить скрипт на директорию с osd. скрипт изучает метаданные, заголовочные файлы и по найденному оффсету копирует указанное вами количество данных с помощью dd в образ. По сути за вас определяется информация "откуда начать", но вам надо задать информацию "где закончить" - это есть размер вашего image в пуле ceph, в байтах. Все это помещается в отдельный файл image.raw, который по сути и является тем самым диском с той самой ФС и данными, которые вы задавали при создании image. Монтируется обычным способом - mount image.raw /mnt и далее забираете свои данные. Единственное замечание - если последний скрипт отрабатывает моментально, у меня для вас плохие новости. Кол-во найденных блоков должно быть явно больше 1 =). Да, кстати, автор скрипта прекрасно отвечает на почту.

#ceph #troubleshooting
Переименование интерфейсов в deb-дистрибутивах

А вот еще момент, связанный со сгоревшим оборудованием в hetzner - сменили сетевую карту, сервер перезагрузили, вроде должно все работать. Ну сменился мак-адрес, но мне-то какое до этого дело? А вот нет. Серверу более 2 лет, а значит был он еще под управлением debian8, хоть сейчас и под debian9. Раньше все интейрфейсы именовались как eth0, eth1 итп, а теперь стали указывать имя слота. таким образом все if-up, interfaces.d/* конфиги связаны с eth0, а интерфейс по факту называется enp0s2. Потому и не кусает.

Будьте внимательны при смене сетевого оборудования у удаленных машин.

#networking #troubleshooting