Архив метки: Linux

Как защитить USB-порты в Linux

Как защитить USB-порты через BIOS, и мы также покажем вам, как использовать, устанавить USBguard в Linux.

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

Как защитить BIOS в Linux

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

Если мы хотим установить пароль в начале операционной системы, мы должны перезапустить или запустить, если компьютер выключен, и нажмите клавиши «Esc», «F2», «Delete» или тот, который указан производителя для доступа к BIOS. Как только мы перейдем на вкладку «Security» и перейдем к строке «Password on Boot»:

Чтобы эта опция была активной, мы должны определить пароль в строке «Set user password».

Нажатие «Enter» в этой строке и система отобразит следующий параметр, в котором мы выберем опцию «Enabled».

После того, как пароль включен, нажмите клавишу «F10», чтобы сохранить изменения.

Таким образом, когда система запускается, мы увидим следующее:

Как использовать и устанавить USBGuard на Linux

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

Эти вредоносные USB-устройства также известны как BadUSB.

Для установки USBGuard в Linux, как мы упоминали, мы будем использовать Ubuntu 17.04, и для этого мы выполним следующее:

sudo apt install usbguard

Чтобы запустить процесс авторизации USB-устройства через USBGuard, мы выполним следующие команды:

sudo usbguard generate-policy > rules.conf

sudo nano rules.conf

После открытия файла мы увидим следующее:

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

Мы можем исключить или закомментировать строки устройств, которые мы не хотим разрешать.

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

sudo install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.conf

sudo systemctl restart usbguard

Как проверить USBGuard на Linux

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

Чтобы перечислить подключенные USB-устройства, мы выполним следующее:

lsusb

Там мы увидим USB-устройство, которое мы только что подключили – Kingston Digital.

Чтобы добавить это устройство в список разрешенных устройств, мы перейдем к редактированию следующего файла:

sudo nano /etc/usbguard/rules.conf

Там мы должны добавить идентификатор USB-устройства для авторизации в последней части файла:

Сохраните изменения, используя клавиши Ctrl + O и выйдите из редактора, используя клавиши Ctrl + X.

Мы должны перезапустить службу USBGuard, запустив:

sudo systemctl restart usbguard

Теперь просто отключите и снова подключите USB, и мы можем получить доступ к нему из проводника, как обычно.

Таким образом, Linux позволяет выполнять устройства, которые соответствуют добавленному идентификатору, иначе они будут отклонены.



2018-08-28T10:46:37
Закрытие уязвимостей

linux_kernel_cves: отслеживание CVE для ядра Linux

linux_kernel_cves

Это простой проект для отслеживания CVE в исходном ядре Linux.

Индивидуальные дистрибутивы (RHEL, Debian, Ubuntu и т. д) не часто выполняют хорошую работу по отслеживанию CVE для своих собственных ядер.

Этот проект призван помочь в устранении этой пустоты.

В настоящее время все выходные данные хранятся в файле CVEs.txt.

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

Как просмотреть данные

Существует два способа просмотра / использования данных.

Самый простой – это веб-интерфейс на www.linuxkernelcves.com.

Здесь вы можете просматривать CVE по потоку или по идентификатору CVE.

Второй способ находится здесь на странице GitHub.

На GitHub данные выводятся как в формате JSON, так и в текстовом формате.

Обе страницы предлагают одни и те же данные.

Замечание по безопасности Linux

Отслеживание, смягчение и исправление CVE – это лишь небольшая часть поддержки безопасного ядра.

Позвольте мне пояснить, вы можете исправить все известные CVE и по-прежнему быть уязвимыми.

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

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

Чтение отчетов

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

Единственными CVE, которые должны появиться в потоковом документе, являются те, которые потенциально влияют на этот поток. (то есть те, которые не были установлены до первой версии выпуска и не были введены после версии выпуска).

Если фиксация не известна для CVE, то по умолчанию предполагается, что она присутствует во всех потоках после ее введения.

  • Fix unknown’: нет исправления
  • ‘Fixed with X’:исправление было замечено в потоке и впервые появилась в версии X
  • ‘Fix not seen in stream’: фиксации известна и действительна, но не отображается в этом потоке (т. е. Поток по-прежнему уязвим)

Обзор процесса

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

  1. Возьмите список всех CVE ядра (в настоящее время ограничено после 2004 года, см. № 3).
  2. Если проблема отмечена как конкретная для поставщика, проигнорируйте ее.
  3. Получите удаляющие / исправляющие действия. Сначала он извлекается из внутреннего кеша, если не решение присутствует, он извлекает из Ubuntu, Debian и т. д., чтобы попытаться заполнить эту информацию.
  4. Используя эти идентификаторы commit, получите первые теги в основной строке, которые они отображают.
  5. Используя эту временную шкалу, для каждого потока, который будет уязвим, выполните шаги с 6 по 8.
  6. Найдите коммит, у которого есть сообщение фиксации, которое соответствует сообщению фиксации из основной линии.
  7. Запишите идентификатор фиксации и получите самый ранний тег в потоке, который имеет эту фиксацию.
  8. Вывести информацию для потока документа.
  9. Обновите JSON.

Скачать



2018-07-31T12:43:25
Закрытие уязвимостей

Как сделать исключения в auditd – аудит Linux

Иногда в логах сложно что-то разобрать из-за большого количества сообщений.

Это можно исправить.

Для этого необходимо отредактировать файл audit.rules:

 # nano /etc/audit/audit.rules 

Внесем в файл, строки исключения например:

-a exclude,always -F msgtype=CWD

-a exclude,always -F msgtype=PROCTITLE

-a exclude,always -F msgtype=SECCOMP

В приведенном примере мы исключаем события типа CWD , PROCTITLE, SECCOMP

См.также

Лучше практики Auditd  для Linux

Как настроить дату и время в Auditd

 



2018-07-16T10:34:06
Аудит ИБ

Как работает мостовая сеть в Virtualbox?

Я просмотрел руководства VirtualBox, но ничего чрезвычайно технического не вышло (это был просто общий блеск по этой теме).

  • Как он назначает другой IP виртуальному копмьютеру, используя одну и ту же сетевую карту?
  • Почему этот другой IP (с ip addr под Linux) не отображается в разделе «подключенные устройства» моего маршрутизатора, но я могу перенаправить его на него?
  • Почему, если я подключаюсь к защищенной паролем сети WiFi, мне не требуется вводить мой пароль?
  • Это многопоточность?

В руководстве по VirtualBox, Глава 6 виртуальных сетей в разделе сетевой мост :

При использовании мостовой сети VirtualBox использует драйвер устройства в вашей хост-системе, фильтрующий данные от физического сетевого адаптера. Этот

поэтому драйвер называется «сетевым фильтром». Это позволяет

VirtualBox перехватывать данные из физической сети и вводить в нее данные, эффективно создавая новый сетевой интерфейс в программном обеспечении.

Когда Гость использует такой новый программный интерфейс, он смотрит на

хост-систему, как если бы Гость был физически подключен к

интерфейсу с помощью сетевого кабеля: хост может отправлять данные гостю

через этот интерфейс и получать данные от него. Это значит, что вы

можете настроить маршрутизацию или мосты между гостями и остальной частью вашей сети.

Материал из Википедии Мостиковых связей (сетей) :

Сетевой мост — это сетевое устройство, которое соединяет более одного сегмента сети. В модели OSI, мосты действуют в первых двух слоях,

ниже уровня сети.

VirtualBox и другие виртуальные менеджеры

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

притворяются физическим адаптером.

Поскольку все пакеты отправляются по всей сети, каждое устройство, считывает только пакеты

которые отмечены его адресом, виртуальный драйвер просто вводит пакеты собственным виртуальным MAC-адресом и реагирует на пакеты, предназначенные для этого

MAC-адреса, хотя физически такого адаптера не существует.

Это делается на достаточно низком уровне сетевой модели, так что хост

не будет реагировать на эти сообщения на более высоких уровнях,

так как они имеют штамп с другим Mac-адресом, чем у хоста.

Это точно такая же техника, что используется хакерами для атак

с использованием подмены IP-адресов.

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

или может быть укузан или изменен в любое время. Это может быть любой MAC-адрес,

который не дублирует работу какого-либо другого устройства в локальной сети.

IP-адрес выделяется этому виртуальному адаптеру сервером DHCP,

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

Причина, по которой вы можете подключиться к защищенной паролем сети WiFi без

ввода пароля более озадачивает, но я предполагаю, что драйвер VirtualBox

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

Это также объяснит, почему он не появляется в разделе «подключенные устройства»

вашего маршрутизатора, потому что он никогда формально не подключается к сети.

Переадресация все еще работает, потому что маршрутизатор просто повторно отправляет

пакет на пересылаемый адрес и драйвер VirtualBox отвечает.

Наконец, это не многопоточность, которая на одном компьютере

а один компьютер с одной операционной системой, имеющей несколько IP-адресов через несколько адаптеров,

все из которых известны этой ОС.

Дополнительные сведения см. в статье Википедии о модели OSI,

и особенно в отношении слоев OSI.



2018-07-11T17:14:54
Вопросы читателей

Как установить CHKROOTKIT на Ubuntu 18.04 / Centos 7

В этой статье я расскажу, как установить chkrootkit на наши новейшие системы Ubuntu 18.04 и CentOS 7.

Chkrootkit – это общий сканер безопасности, который помогает администраторам искать в локальной системе признаки того, что он заражен «руткитом».

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

Это означает, что руткит способен выполнять файлы и изменять конфигурацию системы на целевой машине и многие другие, которые могут выполняться только как суперпользователь Linux-машины.

Имейте в виду, что вы можете использовать chkrootkit для поиска файлов и процессов, связанных с руткитом, но вы не можете быть на 100% уверены, что все куски руткитов найдены и удалены.

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

Установка chkrootkit на Ubuntu 18.04

Гораздо проще установить chkrootkit на сервер Ubuntu 18.04, поскольку он доступен в самих пакетах репозитория Ubuntu.

Мы можем установить его, выполнив следующую команду:

# apt-get update

# apt install chkrootkit

# chkrootkit -V

chkrootkit version 0.52

Нам просто нужно убедиться, что у нас есть привилегии root для использования chkrootkit.

Включить автоматическое сканирование серверов

Пакет chkrootkit в репозитории Ubuntu поставляется с конфигурацией crontab.

Этот crontab планируется запустить ежедневно.

Чтобы включить ежедневную проверку, вы можете открыть /etc/chkrootkit.conf и изменить этот файл, как показано ниже:

Замените первую строку:

RUN_DAILY=”false”

на

RUN_DAILY=”true”

Установка chkrootkit на CentOS 7.5

Этот инструмент недоступен в пакетах репозитория CentOS.

Следовательно, нам нужно загрузить последнюю доступную версию и настроить ее.

1. Установка компиляторов и библиотек C / C ++

В Chkrootkit есть программы C.

Перед компиляцией исходного пакета chkrootkit вам необходимо установить компилятор GCC (C и C ++) и glibc-static, чтобы избежать ошибок во время процесса использования.

#yum update

#yum install wget gcc-c++ glibc-static

2. Загрузите последний доступный chkrootkit.

Как упоминалось ранее, вы можете скачать последнюю версию chkrootkit с веб-сайта chkrootkit.

# wget -c ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

3. Загрузите хэш-файл пакета md5

Затем мы можем загрузить хеш-файл md5, связанный с нашей загрузкой chkrootkit, чтобы проверить, не поврежден ли он.

# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.md5

# md5sum -c chkrootkit.md5

chkrootkit.tar.gz: OK

4. Извлеките сжатый файл и установите его.

Теперь вы можете перейти в загруженную папку и извлечь файл.

Вы можете извлечь его по тому же пути и переместить двоичный файл chkrootkit в папку / usr / bin, или вы можете переместить извлеченное содержимое в отдельную папку с таким именем, как описано здесь, и установить его.

В любом случае это сработает.

#tar –xzf chkrootkit.tar.gz

#mkdir /usr/local/chkrootkit

#mv chkrootkit-0.52/* /usr/local/chkrootkit

#cd /usr/local/chkrootkit

#make sense

Теперь вы можете запустить chkrootkit для сканирования сервера.

 /usr/local/chkrootkit/chkrootkit 

5. Включите автоматическое сканирование сервера.

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

Создайте и добавьте следующие записи в “/etc/cron.daily/chkrootkit.sh”

#!/bin/sh

(

/usr/local/chkrootkit/chkrootkit

) | /bin/mail -s 'CHROOTKIT Daily Run (ServerName)' your@email.com

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

Понимание chkrootkit

Chkrootkit – это инструмент для проверки руткитов. Он содержит скрипт оболочки chkrootkit, который сканирует все системные двоичные файлы для любых модификаций руткитов.

Кроме того, он содержит несколько программ на C, которые выполняют различные проверки безопасности, как показано ниже:

ifpromisc.c: Он проверяет, находится ли сетевой интерфейс в беспорядочном режиме.

chklastlog.c: Он проверяет удаление последнего.

chkwtmp.c: Он проверяет удаление wtmp.

chkproc.c: Он  проверяет наличие признаков троянов LKM.

chkdirs.c: Он проверяет наличие признаков троянов LKM.

strings.c: Выполняет быструю и грязную замену строк.

chkutmp.c: Он проверяет удаление utmp.

 



2018-07-03T09:57:49
Закрытие уязвимостей

Подключение к lxc контейнеру Centos 7 по ssh в proxmox

Решил потестировать работу lxc контейнеров в последнем proxmox 5.2. Столкнулся с неожиданной проблемой, выраженной в том, что не получается подключиться по ssh к созданному контейнеру. Решение очень простое, ниже расскажу в чем суть.

 

Читать