Установка gitlab-runner-а в unix/linux

Установка lynis в Unix/Linux

Lynis — это инструмент для аудита безопасности в Unix и Linux ОС. Он выполняет глубокие проверки безопасности, практически без настройки. Обычно используется системными администраторами, специалистами по безопасности и аудиторами для оценки защиты Unix/Linux систем. Он работает на самом хосте, поэтому он выполняет более обширные проверки безопасности, чем сканеры уязвимостей.

Поддерживаемые ОС

Lynis работает практически во всех Unix системах, включая:

  • AIX;
  • FreeBSD;
  • HP-UX;
  • Linux;
  • Mac OS X;
  • NetBSD;
  • OpenBSD;
  • Solaris;
  • Raspberry PI;
  • QNAP
  • И другие.

Установка lynis на CentOS/RedHat/Fedora

-=== СПОСОБ 1 — Использовать установщик yum===-

Установка очень простая и примитивная:

# yum install lynis -y

-=== СПОСОБ 2 — Использовать git===-

Выполняем:

# git clone https://github.com/CISOfy/lynis-sdk && ./lynis-devkit build rpm

-=== СПОСОБ 3 — Использовать репозиторий===-

Установим вспомогательные пакеты:

# yum update ca-certificates curl nss openssl -y

Создаем репо-файл:

# vim /etc/yum.repos.d/cisofy-lynis.repo

И, вставляем в него:

name=CISOfy Software - Lynis package
baseurl=https://packages.cisofy.com/community/lynis/rpm/
enabled=1
gpgkey=https://packages.cisofy.com/keys/cisofy-software-rpms-public.key
gpgcheck=1

Следующий шаг — установка Lynis:

# yum makecache fast lynis -y

Как-то так.

Установка lynis на Debian/Ubuntu

-=== СПОСОБ 1 — Использовать установщик apt-get===-

Установка очень простая и примитивная:

# apt-get install lynis -y

-=== СПОСОБ 2 — Использовать git===-

Выполняем:

# git clone https://github.com/CISOfy/lynis-sdk && ./lynis-devkit build rpm

-=== СПОСОБ 3 — Использовать репозиторий===-

Скачиваем ключ:

# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C80E383C3DE9F082E01391A0366C67DE91CA5D5F

Или:

# wget -O - https://packages.cisofy.com/keys/cisofy-software-public.key | apt-key add -

Установим вспомогательные пакеты:

# apt install apt-transport-https -y

Использование программного обеспечения на английском языке? Затем настройте APT, чтобы пропустить загрузку переводов. Это экономит полосу пропускания и предотвращает дополнительную нагрузку на серверы репозитория:

$ echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/99disable-translations

Далее, добавляем репозиторий:

Версия Команда
Debian 7 echo «deb https://packages.cisofy.com/community/lynis/deb/ wheezy main» > /etc/apt/sources.list.d/cisofy-lynis.list
Debian 8 echo «deb https://packages.cisofy.com/community/lynis/deb/ jessie main» > /etc/apt/sources.list.d/cisofy-lynis.list
Debian 9 echo «deb https://packages.cisofy.com/community/lynis/deb/ stretch main» > /etc/apt/sources.list.d/cisofy-lynis.list
Др. Debian echo «deb https://packages.cisofy.com/community/lynis/deb/ stable main» > /etc/apt/sources.list.d/cisofy-lynis.list
 Ubuntu 16.04  echo «deb https://packages.cisofy.com/community/lynis/deb/ xenial main» > /etc/apt/sources.list.d/cisofy-lynis.list
Др Ubuntu echo «deb https://packages.cisofy.com/community/lynis/deb/ stable main» > /etc/apt/sources.list.d/cisofy-lynis.list

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

# apt update -y

Выполняем установку:

# apt install lynis -y

Как-то так.

Установка lynis на MacOS X

-=== СПОСОБ 1 — Использовать установщик brew===-

Устанавливаем homebrew, если не знаете как, можно ознакомиться тут:

После чего выполняем поиск (для подтверждения наличия пакета в ОС):

$ brew search lynis

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

$ brew install lynis

-=== СПОСОБ 2 — Использовать git===-

Я опишу процесс установки ниже.

Установка lynis в других Unix/Linux ОС

Исходный код можно скачать следующим образом:

# mkdir /usr/local/lynis && cd /usr/local/lynis && wget https://cisofy.com/files/lynis-2.5.7.tar.gz && tar -xvf lynis-*.tar.gz

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

# ./lynis --check-all

Можно скачать с github:

# git clone https://github.com/CISOfy/Lynis

И выполняем:

$ cd lynis; ./lynis audit system

Утилита pv — прогресс bar для консольных утилит в Unix/Linux

pv — это утилита которая имеет сокращение от pipeviewer и позволяет пользователю видеть прогресс выполнение той или иной команды по конвейеру и предоставляя информацию (прошедшее время, процент завершения (с индикатором выполнения), текущую пропускную способность, общий объем данных и ETA) — это просмоторщик пайпов.

Установка pv утилиты, очень простая, выполняем:

# aptitude install pv

или

# apt-get install pv

Для начала, подключаем репозиторий EPEL:

Установка pv утилиты, очень простая, выполняем:

# yum install pv

Установка pv в FreeBSD

Установка pv утилиты, очень простая, выполняем:

# cd /usr/ports/sysutils/pv/
# make install clean

Или:

# pkg_add -r pv

Устанавливаем homebrew: Установка homebrew на Mac OS X после чего, выполняем:

$ brew install pv

Если Вы пользователь OpenSolaris:

$ pfexec pkg install pv

Установка pv для других Unix/Linux

Если не имеется пакета для установки, то переходим на официальную страницу pv, загружаем архив и выполняем ряд действий:

$ tar -zxf pv-version.tar.gz
$ cd pv-version
$ ./configure && sudo make install

Возможные ошибки

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

1. Consider increasing /proc/sys/fs/inotify/max_user_watches

Данную ошибку мы можем увидеть в логе или статусе сервиса lsyncd. При этом, сама служба останавливается с ошибкой.

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

Решение: необходимо увеличить предел наблюдения за ядром inotify. Для этого создаем файл настройки ядра:

vi /etc/sysctl.d/10-max_user_watches.conf

fs.inotify.max_user_watches = 524288

Применяем настройки:

sysctl -p /etc/sysctl.d/10-max_user_watches.conf

Перезапускаем сервис:

systemctl restart lsyncd

И проверяем его состояние:

systemctl status lsyncd

2. bash: rsync: command not found

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

… lsyncd: bash: rsync: command not found
… lsyncd: rsync: connection unexpectedly closed (0 bytes received so far)
… lsyncd: rsync error: error in rsync protocol data stream (code 12) at io.c(226)

Причина: на компьютере, с которым мы устанавливаем соединение по rsync не установлена одноименная утилита.

Решение: для установки необходимого пакета выполняем подходящую команду.

а) на CentOS:

yum install rsync

б) на Ubuntu:

apt-get install rsync

На компьютере с lsync перезапускаем сервис:

systemctl restart lsyncd

Установка Secure-Delete на Unix/Linux

Secure-Delete — это комплект консольных утилит для «параноика», которые предназначены для безвозвратного удаления данных. Программа юзает алгоритм стирания по методу Гутмана (Secure Deletion of Data from Magnetic and Solid-State Memory by Peter Gutmann, 1996). Это его был доклад на тему криптографии.

Установка Secure-Delete на Debian/Ubuntu/Mint

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

# apt-get install secure-delete

Ничего сложного, просто установка пакета.

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

# yum install secure-delete

PS: может и не быть такого пакета в ОС.

Установку для других Unix/Linux систем

Если не получилось установить утилиты с пакетов, то можно их собрать с исходного кода.

Скачиваем srm пакет и распаковываем его:

# cd /usr/local/src && wget https://freefr.dl.sourceforge.net/project/srm/1.2.15/srm-1.2.15.tar.gz && tar xfvz srm-*.tar.gz

Выполняем сборку:

# cd srm-* && ./configure && make && make install

Для работы я нашел несколько пакетов, если кто-то знает больше просьба дополнить.

Полезные опции

Рассмотрим примеры использования некоторых настроек, которые могут показаться полезными.

Исключения

Мы можем настроить исключение файлов по маске, которые не нужно передавать в другую директорию. Это делается с помощью опций exclude или excludeFrom в разделе sync, например:

sync {
    …
    exclude = { ‘*.bak’ , ‘*.tmp’ },
}
sync {
    …
    excludeFrom=»/etc/lsyncd.exclude»,
}

* в первом блоке мы исключим все файлы, которые заканчиваются на .bak или .tmp. Для второго мы будем использовать файл /etc/lsyncd.exclude, в котором перечислим исключения.

Для второго блока создаем файл с исключениями:

vi /etc/lsyncd.exclude

*.tmp
*.bak
testfile.txt
test/

* в данном примере мы игнорируем файлы, заканчиваются на .bak или .tmp,а также файл testfile.txt и содержимое каталога test.

Комментарии

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

sync {
    — протокол синхронизации
    default.rsyncssh,
    — источник данных
    source = «/tmp/source»,
    — сервер назначения
    host = «dmosk@192.168.1.15»,
    — каталог назначения
    targetdir = «/tmp/target»,
}

Порт SSH

Отдельный порт для подключения по ssh мы можем указать в блоке sync, разделе ssh:

sync {
    default.rsyncssh,
    source = «/tmp/source»,
    …
    ssh = {
        port = 2222
    }
}

* в этом примере мы указываем использовать порт 2222 для подключения по SSH.

Ограничения

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

settings {
    …
    statusInterval = 5
    maxDelays = 900,
    maxProcesses = 6,
}

* где:

  • statusInterval — как говорилось выше, задает интервал обновления статус-файла в секундах. Чем ниже значение, тем быстрее файлы попадают в очередь для синхронизации.
  • maxDelays — задает количество файлов в очереди, при достижении которого задачи синхронизации будут запускаться ниже таймера задержки.
  • maxProcesses — максимальное количество процессов, которое сможет запустить lsync.

Установка прав

Мы можем задать права после синхронизации. Это настраивается в блоке sync, разделе rsync:

sync {
    …
    rsync = {
        …
        owner=true,
        chown=»nginx:nginx»
        chmod=»775″
        perms=true
    }
}

* где:

  • owner — говорит, сохранять ли владельца файла.
  • chown — задает конкретного владельца и группу.
  • chmod — задает права на синхронизированные файлы.
  • perms — говорит, сохранять ли права.

Установка xhost в Unix/Linux

Иногда, данная утилита не присутствует в ОС и по этому, нужно ее установить.

Установка xhost в DEB ОС

Выполняем установку:

# apt-get install x11-xserver-utils x11-utils

Для поиска можно использовать:

# apt-cache search xhost
x11-xserver-utils - X server utilities

Как-то так.

Установка xhost в RPM ОС

Выполняем установку:

# yum install xorg-x11-server-utils -y

Дополнительные пакеты:

# yum install -y xorg-x11-app*
# yum groupinstall -y 'X Window System'
# yum install -y xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils xterm
# yum -y groupinstall fonts

Для поиска можно использовать:

# yum whatprovides "*/xhost"

Как-то так.

Установка xhost в MacOS X

Выполняем установку homebrew — Установка homebrew на Mac OS X и после чего, выполняем:

$ brew install Caskroom/cask/xquartz

Как-то так.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: