2

I trying to installing the Prewikka package a Security Information and Events Management System based a Web Interface for Bionic.

I following the instructions on my terminal, when i getting started to setup Prewikka package, a confirmation appears :

enter image description here

i'm never provide configuring a password for the Prewikka Database, i try to find on a site Docs but i cannot find my issue exactly anything.

How do i know a password for my Prewikka on dbconfig-common? cause i choose the dbconfig-common Database as default on the instructions previously, see below!.

enter image description here

Edit #1

The Developer of Prewikka said As for Prelude, we choose to use dbconfig-common, give the administrator password and enter the DB password. on this Docs for make the integration to Prelude Manager, therefore i choose dbconfig-common in the previous instructions. when i Reading all Docs of the Prelude Developer, i forgot to make a database for my Prewikka!. Oh that's my false. and this moment, i get some the Errors that i don't understand! but i still little bit confusing at the Confirmation a password which I have to enter a password between MySQL Database of Prewikka or DBConfig-Common of Prelude?

Edit #2

at this moment, i get some the Errors that i don't understand and really complicated to me! when i open the default port of Prewikka, the errors appears :

enter image description here

On my terminal appears :

$ sudo prewikka-httpd
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 59, in inner
    ret = func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 489, in __init__
    dh.apply()
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 74, in inner
    ret = func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 424, in apply
    self._apply()
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 91, in inner
    ret = func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 415, in _apply
    [ update.apply() for update in self.list() ]
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 415, in <listcomp>
    [ update.apply() for update in self.list() ]
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 87, in inner
    return func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 221, in apply
    self.run()
  File "/usr/lib/python3/dist-packages/prewikka/sql/install.py", line 72, in run
    """)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 211, in query
    self.db.query(q)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 547, in query
    return preludedb.SQL.query(self, sql)
RuntimeError: All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/prewikka/main.py", line 277, in process
    response = self._process_static(webreq) or self._process_dynamic(webreq)
  File "/usr/lib/python3/dist-packages/prewikka/main.py", line 244, in _process_dynamic
    self._prewikka_init_if_needed()
  File "/usr/lib/python3/dist-packages/prewikka/main.py", line 134, in _prewikka_init_if_needed
    raise self._prewikka_initialized
  File "/usr/lib/python3/dist-packages/prewikka/main.py", line 122, in _prewikka_init_if_needed
    env.db = database.Database(env.config.database)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 873, in __new__
    return MySQLDatabase(config)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 61, in inner
    raise DatabaseError(message=text_type(e))
prewikka.database.DatabaseError: All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/wsgiref/handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
  File "/bin/prewikka-httpd", line 62, in application
    return wsgi.application(environ, start_response)
  File "/usr/lib/python3/dist-packages/prewikka/web/wsgi.py", line 161, in application
    core.process(WSGIRequest(environ, start_response))
  File "/usr/lib/python3/dist-packages/prewikka/main.py", line 280, in process
    response = err.respond()
  File "/usr/lib/python3/dist-packages/prewikka/error.py", line 106, in respond
    return self._html_respond()
  File "/usr/lib/python3/dist-packages/prewikka/error.py", line 90, in _html_respond
    from prewikka import baseview
  File "/usr/lib/python3/dist-packages/prewikka/baseview.py", line 27, in <module>
    from prewikka import error, history, hookmanager, resource, response, template, utils, view
  File "/usr/lib/python3/dist-packages/prewikka/history.py", line 102, in <module>
    crontab.schedule("search_history", N_("Search history deletion"), "0 * * * *", _regfunc=history._history_cron, enabled=True)
  File "/usr/lib/python3/dist-packages/prewikka/crontab.py", line 240, in schedule
    self._init_system_job(ext_type, name, schedule, enabled, _regfunc)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 91, in inner
    ret = func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/prewikka/crontab.py", line 152, in _init_system_job
    res = env.db.query("SELECT 1 FROM Prewikka_Crontab WHERE ext_type=%s AND userid IS NULL", ext_type)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 547, in query
    return preludedb.SQL.query(self, sql)
RuntimeError: Table 'prewikka.Prewikka_Crontab' doesn't exist
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 59, in inner
    ret = func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 489, in __init__
    dh.apply()
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 74, in inner
    ret = func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 424, in apply
    self._apply()
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 91, in inner
    ret = func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 415, in _apply
    [ update.apply() for update in self.list() ]
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 415, in <listcomp>
    [ update.apply() for update in self.list() ]
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 87, in inner
    return func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 221, in apply
    self.run()
  File "/usr/lib/python3/dist-packages/prewikka/sql/install.py", line 72, in run
    """)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 211, in query
    self.db.query(q)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 547, in query
    return preludedb.SQL.query(self, sql)
RuntimeError: All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/prewikka/main.py", line 277, in process
    response = self._process_static(webreq) or self._process_dynamic(webreq)
  File "/usr/lib/python3/dist-packages/prewikka/main.py", line 244, in _process_dynamic
    self._prewikka_init_if_needed()
  File "/usr/lib/python3/dist-packages/prewikka/main.py", line 134, in _prewikka_init_if_needed
    raise self._prewikka_initialized
  File "/usr/lib/python3/dist-packages/prewikka/main.py", line 122, in _prewikka_init_if_needed
    env.db = database.Database(env.config.database)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 873, in __new__
    return MySQLDatabase(config)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 61, in inner
    raise DatabaseError(message=text_type(e))
prewikka.database.DatabaseError: All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/wsgiref/handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
  File "/bin/prewikka-httpd", line 62, in application
    return wsgi.application(environ, start_response)
  File "/usr/lib/python3/dist-packages/prewikka/web/wsgi.py", line 161, in application
    core.process(WSGIRequest(environ, start_response))
  File "/usr/lib/python3/dist-packages/prewikka/main.py", line 280, in process
    response = err.respond()
  File "/usr/lib/python3/dist-packages/prewikka/error.py", line 106, in respond
    return self._html_respond()
  File "/usr/lib/python3/dist-packages/prewikka/error.py", line 90, in _html_respond
    from prewikka import baseview
  File "/usr/lib/python3/dist-packages/prewikka/baseview.py", line 27, in <module>
    from prewikka import error, history, hookmanager, resource, response, template, utils, view
  File "/usr/lib/python3/dist-packages/prewikka/history.py", line 102, in <module>
    crontab.schedule("search_history", N_("Search history deletion"), "0 * * * *", _regfunc=history._history_cron, enabled=True)
  File "/usr/lib/python3/dist-packages/prewikka/crontab.py", line 240, in schedule
    self._init_system_job(ext_type, name, schedule, enabled, _regfunc)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 91, in inner
    ret = func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/prewikka/crontab.py", line 152, in _init_system_job
    res = env.db.query("SELECT 1 FROM Prewikka_Crontab WHERE ext_type=%s AND userid IS NULL", ext_type)
  File "/usr/lib/python3/dist-packages/prewikka/database.py", line 547, in query
    return preludedb.SQL.query(self, sql)
RuntimeError: Table 'prewikka.Prewikka_Crontab' doesn't exist

Edit #3

I tried to following from this issue and he solved with following :

  • Deleted the Prewikka Database
  • Recreated the Prewikka Database
  • Retry to run the Prewikka

But it doesn't work to me, i also using the instructions like a mentioned it Howto : https://www.prelude-siem.org/projects/prelude/wiki/InstallingPackageUbuntu. so what i missing something guys??

Hope anyone can help me!, Thanks in advance.

  • as you said "i forgot to make a database for my Prewikka!" you want to continue without that? your question is with this clause? how to configure after forgetting to make a database? – PRATAP Dec 4 '18 at 9:37
  • @PRATAP no, when i tried to configuration of Prewikka, i forgot to make the MySQL Database for my Prewikka before i installing Prewikka package. so i still little bit confusing at the Confirmation a password which I have to enter a password between MySQL Database of Prewikka or DBConfig-Common of Prelude??? – abu-ahmed al-khatiri Dec 4 '18 at 9:50
0

For Installation Prelude and Prewikka Packages at first time :

  1. Pre-Installation we need to have a database to store the alerts, i chose to make database in MySQL

    $ mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 8
    Server version: 8.0.13 MySQL Community Server - GPL    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.    
    Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.    
    mysql>CREATE USER user1@localhost IDENTIFIED BY 'pass';
    Query OK, 1 row affected (0,11 sec)    
    mysql>CREATE DATABASE prelude;
    Query OK, 1 row affected (2,09 sec)    
    mysql> GRANT ALL PRIVILEGES ON prelude.* TO user1@localhost;
    Query OK, 0 rows affected (0,93 sec)    
    mysql>CREATE DATABASE prewikka;
    Query OK, 1 row affected (2,10 sec)    
    mysql> GRANT ALL PRIVILEGES ON prelude.* TO user1@localhost;
    Query OK, 0 rows affected (0,94 sec)    
    mysql>FLUSH PRIVILEGES;
    mysql>EXIT;  
    
  2. Prelude and Prewikka Installation required

    $ sudo apt install prelude-utils prelude-manager prelude-lml libpreludedb*
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following additional packages will be installed:
      dbconfig-common libmaxminddb0 prelude-lml-rules
    Suggested packages:
      dbconfig-mysql | dbconfig-pgsql | dbconfig-sqlite | dbconfig-sqlite3 | dbconfig-no-thanks mmdb-bin
    Recommended packages:
      default-mysql-client | postgresql-client
    The following NEW packages will be installed:
      dbconfig-common libmaxminddb0 libpreludedb0 libpreludedb7 libpreludedbcpp2 libpreludedb-dev libpreludedb-doc libpreludedb7-mysql libpreludedb7-pgsql libpreludedb7-sqlite prelude-lml prelude-lml-rules
      prelude-manager
    0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded.
    Need to get 968 kB of archives.
    After this operation, 3.881 kB of additional disk space will be used.
    Do you want to continue? [Y/n] y
    

    While dpkg is configuring, we will create a User Database, Name Database and Password Database stored on dbconfig-common. If we forgot them like in my case, we can check them in /etc/prewikka/prewikka.conf file.

  3. Configuration of Agents Registration.

    The Manager Agent and The LML Client Agent are requires to run commands packages as analyzer log on Prelude admin.

    • First thing to add The Manager Agent with following :

      $ prelude-admin add prelude-manager --uid 0 --gid 0 #for user id and group id, you can check on `/etc/passwd` file.
      Generating 2048 bits RSA private key... This might take a very long time.
      [Increasing system activity will speed-up the process].
      Generation in progress... 
      Created profile 'prelude-manager' with analyzerID 'xxxxxxxxxxxxxxxx'.  
      
    • Second things to Register The LML Agent with following :

      $ prelude-admin register prelude-lml "idmef:w admin:r" 127.0.0.1 --uid 0 --gid 0
      Generating 2048 bits RSA private key... This might take a very long time.
      [Increasing system activity will speed-up the process].
      Generation in progress...   
      You now need to start "prelude-admin" registration-server on 127.0.0.1:
      example: "prelude-admin registration-server prelude-manager"  
      Enter the one-shot password provided on 127.0.0.1: 
      Confirm the one-shot password provided on 127.0.0.1:  
      Connecting to registration server (127.0.0.1:5553)... Authentication succeeded.
      Successful registration to 127.0.0.1:5553.  
      

On The Manager Agent run:

$ prelude-admin registration-server prelude-manager
The "password" password will be requested by "prelude-admin register"
in order to connect. Please remove the quotes before using it.  
Generating 1024 bits Diffie-Hellman key for anonymous authentication...
Waiting for peers install request on 0.0.0.0:5553...
Waiting for peers install request on :::5553...      
Connection from 127.0.0.1:45796...
Registration request for analyzerID="xxxxxxxxxxxxxxxx" permission="idmef:w admin:r".
Approve registration? [y/n]: y
127.0.0.1:45796 successfully registered.

After validation of certificate, don't forget to configuration the listener of server on the /etc/prelude/default/client.conf file, /etc/prelude/default/global.conf file, /etc/prelude-manager/prelude-manager.conf file and /etc/prelude-lml/prelude-lml.conf file. and then we can start the service of Prelude :

$ sudo systemctl enable prelude-manager
$ sudo systemctl start prelude-manager
$ sudo systemctl enable prelude-lml
$ sudo systemctl start prelude-lml

Finally after executing /usr/bin/prewikka python script and we will get the listener server as 0.0.0.0:8000 and we can type to browse with localhost:8000, if the output errors is not appears then it will appears like below :

enter image description here

enter image description here

Sources : Prelude-WikiStart, Installing-from-SourcesCode, Installing-from-PackageUbuntu.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.