OpenVAS на CentOS7 Redis не запускается

Я пытаюсь заставить OpenVAS работать согласно статье ниже.

https://www.atlantic.net/community/howto/install-openvas-vulnerability-scanner-centos-7

Однако это не работает, когда я запускаю openvas-check-setup, я получаю эту ошибку ниже, и когда я проверяю /var/log/redis/redis.log, он говорит: "Открытие сокета Unix: bind: Permission denied"

openvas-check-setup 2.3.7   Test completeness and readiness of OpenVAS-8   (add '--v6' or '--v7' or '--v9'    if you want to check for another OpenVAS version)

  Please report us any non-detected problems and   help us to improve this check routine:   http://lists.wald.intevation.org/mailman/listinfo/openvas-discuss

  Send us the log-file (/tmp/openvas-check-setup.log) to help analyze the problem.

  Use the parameter --server to skip checks for client tools   like GSD and OpenVAS-CLI.

Step 1: Checking OpenVAS Scanner ...
        OK: OpenVAS Scanner is present in version 5.0.7.
        OK: OpenVAS Scanner CA Certificate is present as /var/lib/openvas/CA/cacert.pem.
        OK: redis-server is present in version v=3.0.7.
        OK: scanner (kb_location setting) is configured properly using the redis-server socket: /tmp/redis.sock
        ERROR: redis-server is not running or not listening on socket: /tmp/redis.sock
        FIX: You should start the redis-server or configure it to listen on socket: /tmp/redis.sock

 ERROR: Your OpenVAS-8 installation is not yet complete!

3 ответа

Решение

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

Итак, причина, по которой redis не запускается, в том, что SELinux запрещает redis-серверу писать в /tmp, Вы можете увидеть это в журналах аудита:

type=AVC msg=audit(1482284806.464:112): avc:  denied  { write } for  pid=1275 comm="redis-server" name="tmp" dev="dm-0" ino=33574981 scontext=system_u:system_r:redis_t:s0 tcontext=system_u:object_r:tmp_t:s0 tclass=dir
type=SYSCALL msg=audit(1482284806.464:112): arch=c000003e syscall=49 success=no exit=-13 a0=5 a1=7ffe55938670 a2=6e a3=7ffe55938614 items=0 ppid=1 pid=1275 auid=4294967295 uid=997 gid=995 euid=997 suid=997 fsuid=997 egid=995 sgid=995 fsgid=995 tty=(none) ses=4294967295 comm="redis-server" exe="/usr/bin/redis-server" subj=system_u:system_r:redis_t:s0 key=(null)

Скорее, чем /tmp, файл сокета должен находиться в /run/redis, например:

unixsocket /run/redis/redis.sock

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

Во время редактирования /etc/redis.conf, обязательно проверьте нижнюю часть файла на секунду unixsocket директива, которая была добавлена openvas-setup и удалите его как избыточный.

Конечно, обычно в системах с поддержкой SELinux redis должен быть настроен на прослушивание TCP-порта на локальном хосте, а не на использовании сокета, поскольку другим демонам может быть запрещено взаимодействовать с redis через сокет, но только через TCP. На самом деле это не проблема, поскольку OpenVAS (пока) не ограничен SELinux, но также не поддерживает контакт с redis через TCP. В результате этого установка Redis не может использоваться совместно с другими службами, кроме локальной копии OpenVAS.


Но в этом уроке есть что-то не так!

Во-вторых, нигде в OpenVAS не настроено использование Redis. Он основан на скомпилированном по умолчанию, что, как мы видели, неверно. Чтобы исправить это, необходимо установить директиву конфигурации в /etc/openvas/openvassd.conf, то, что в учебнике никогда не упоминается:

kb_location = /run/redis/redis.sock

В- третьих, он использует стороннее хранилище, называемое атомарным, которое предоставляет пакеты, конфликтующие с пакетами в обычных репо, таких как EPEL, - которое уже предоставляет redis и OpenVAS! Непонятно, почему Atomic сделали это, и почему этот учебник использует Atomic для начала. Использование репозиториев с конфликтующими пакетами потенциально опасно. Если вы продолжите использовать атомарные пакеты, вы должны быть абсолютно уверены, что эта (виртуальная) машина никогда не используется ни для чего другого по какой-либо причине.

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

firewall-cmd --add-port=9392/tcp    # though this opens it to the world
firewall-cmd --runtime-to-permanent

Как только вы закончите, openvas-check-setup Должен сказать, между прочим...

        OK: scanner (kb_location setting) is configured properly using the redis-server socket: /run/redis/redis.sock
        OK: redis-server is running and listening on socket: /run/redis/redis.sock.
        OK: redis-server configuration is OK and redis-server is running.

Ирония заключается в том, что тогда он также скажет:

        ERROR: SELinux is enabled. For a working OpenVAS installation you need to disable it.
        FIX: Please disable SELinux.

Что кажется совершенно бесполезным и ненужным, поскольку OpenVAS в любом случае не работает в ограниченном SELinux.

Я столкнулся с той же проблемой. Проблема заключалась в том, что в Kali Linux OpenVas нет файла: /etc/openvas/openvassd.conf по умолчанию.

Поэтому я создал этот файл и ввел ниже содержимое, чтобы перезаписать значение по умолчанию для Redis Server. kb_location=/ вар / запустить / Redis/redis.sock

Это исправило мою проблему. Я написал полное руководство на этом сайте: https://waqasahmedkhan.com/openvas-bug-in-kali-linux-2017-3-5/

У меня была такая же проблема при установке OpenVAS на Kali Linux.введите сюда описание изображения

Все команды делайте в ROOT !

Мое решение:

       1. apt-get purge --auto-remove redis*

 2. apt-get install openvas

 3. apt-get install redis

 4. In these files /etc/redis/redis.conf && /etc/redis/redis-openvas.conf, you change et uncheck these parameters : 

    bind 127.0.0.0.1 ::1 => bind 0.0.0.0

    unixsocket run/redis.sock (OR) unixsocket /var/run/redis-openvas/redis-server.sock  => unixsocket /var/run/redis/redis.sock

    unixsocketperm 700 => unixsocketperm 770

 5. In this file /etc/openvas/openvas.conf, you change this parameter :
    
    db_address = /var/run/redis-openvas/redis-server.sock => db_address = /var/run/redis/redis.sock

 6. systemctl daemon-reload

 7. systemctl restart redis-server.service

 8. gvm-setup

 9. gvm-check-setup

У меня это сработало, удачи!

введите сюда описание изображения

Другие вопросы по тегам