GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie den RatticDB-Passwortverwaltungsdienst unter Ubuntu 16.04 ein

RatticDB ist ein Open-Source-Django-basierter Passwortverwaltungsdienst. Die von ihm bereitgestellte API wird für den Zugriff durch externe Programme und Prüfprotokolle verwendet, um eine vollständige Verantwortlichkeit sicherzustellen. Es gibt auch eine "Änderungswarteschlange", um nachzuverfolgen, welche Passwörter wann geändert werden müssen.

1. Voraussetzung installieren

Aktualisieren Sie Ihr System und installieren Sie alle Voraussetzungen, einschließlich MySQL und Apache.

root@demohost:~# apt-get update
root@demohost:~# apt-get install apache2 php git gcc mysql-server python-setuptools gcc openssl libxml2 python-dev libxml2-dev libxslt1-dev zlib1g-dev libldap2-dev python-ldap python-mysqldb gettext apache2-dev libmysqlclient-dev libsasl2-dev python-dev libldap2-dev libssl-dev pyflakes
root@demohost:~# easy_install pip

Konfigurieren Sie den FQDN für Ihren Host, indem Sie den richtigen Eintrag für den Host- und Domänennamen in /etc/hosts &/etc/hostname(Optional)

hinzufügen
root@demohost:~# cat /etc/hosts
127.0.0.1 localhost
172.31.24.18 demohost.com demohost

root@demohost:~# cat /etc/hostname
demohost

Netzwerk neu starten

root@demohost:~# service networking restart

Prüfen Sie nun den FQDN Ihres Hosts

root@demohost:~# hostname
demohost
root@demohost:~# hostname -f
demohost.com

2. RatticWeb herunterladen

Laden Sie RatticWeb herunter und installieren Sie die erforderlichen Python-Module mit pip.

root@demohost:~# cd /opt
root@demohost:/opt# mkdir apps
root@demohost:/opt# cd apps
root@demohost:/opt/apps# git clone https://github.com/tildaslash/RatticWeb.git
Cloning into 'RatticWeb'...
remote: Counting objects: 6192, done.
remote: Total 6192 (delta 0), reused 0 (delta 0), pack-reused 6192
Receiving objects: 100% (6192/6192), 1.63 MiB | 707.00 KiB/s, done.
Resolving deltas: 100% (3553/3553), done.
Checking connectivity... done.
root@demohost:/opt/apps# cd RatticWeb/
root@demohost:/opt/apps/RatticWeb# /usr/local/bin/pip install -r requirements-mysql.txt -r requirements-dev.txt

3. MySQL-Datenbank/Benutzer erstellen

MySQL-Datenbank/Benutzer erstellen und Berechtigungen erteilen.

root@demohost:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1807
Server version: 5.7.17-0ubuntu0.16.04.1 (Ubuntu)

Copyright (c) 2000, 2016, 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 database rattic CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)

mysql> SET GLOBAL innodb_file_per_table = ON, innodb_file_format = Barracuda, innodb_large_prefix = ON;
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON rattic.* TO 'rattic'@'localhost' identified by 'somepassword';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

4. RatticWeb konfigurieren

Standardmäßig läuft RatticWeb im Debug-Modus unter Verwendung einer SQLite-Datenbank. Um dies zu ändern und die MySQL-Verbindung zu konfigurieren, erstellen Sie eine /opt/apps/RatticWeb/conf/local.cfg-Datei mit folgendem Inhalt.

root@demohost:~# cd /opt/apps/RatticWeb
root@demohost:/opt/apps/RatticWeb# vi conf/local.cfg

[ratticweb]

debug =Falsesecretkey =linoxidehostname =demohost.com

[Dateipfade]

static =/opt/apps/RatticWeb/static

[Datenbank]

engine =django.db.backends.mysqlname =ratticuser =ratticpassword =somepasswordhost =localhostport =3306

Geben Sie Ihre Zeitzone, die Ablauftage des Passworts und den Hostnamen an.

root@demohost:/opt/apps/RatticWeb# vim conf/defaults.cfg

timezone = Asia/Kolkata
passwordexpirydays = 90
hostname = demohost.com

5. RatticWeb migrieren

Möglicherweise erhalten Sie bei Migrationen den folgenden Fehler.

..................
..................
django.core.exceptions.ImproperlyConfigured:
For South support, customize the SOUTH_MIGRATION_MODULES setting
to point to the correct migrations module:

SOUTH_MIGRATION_MODULES = {
'kombu_transport_django': 'kombu.transport.django.south_migrations',
}

Um dies zu korrigieren, kopieren Sie das richtige Migrationsmodul.

root@demohost:# cd /usr/local/lib/python2.7/dist-packages
root@demohost:/usr/local/lib/python2.7/dist-packages# rm -rf kombu/transport/django/migrations djcelery/migrations
root@demohost:/usr/local/lib/python2.7/dist-packages# mv kombu/transport/django/south_migrations kombu/transport/django/migrations
root@demohost:/usr/local/lib/python2.7/dist-packages# mv djcelery/south_migrations djcelery/migrations

Führen Sie jetzt die Migration durch

root@demohost:# cd /opt/apps/RatticWeb/
root@demohost:/opt/apps/RatticWeb# ./manage.py syncdb --noinput
root@demohost:/opt/apps/RatticWeb# ./manage.py migrate [ create and setup the database ]
root@demohost:/opt/apps/RatticWeb# mkdir static
root@demohost:/opt/apps/RatticWeb#  ./manage.py collectstatic -c --noinput [ populate the static files directory ]
root@demohost:/opt/apps/RatticWeb# ./manage.py demosetup [ to create an initial user account ]

6. Kompilieren/installieren Sie mod_wsgi

Laden Sie mod_wsgi herunter und kompilieren Sie es. Für die Installation von mod_wsgi benötigen Sie python-dev und apache2-dev. Beide werden in Schritt 1 installiert.

root@demohost:~# wget https://github.com/GrahamDumpleton/mod_wsgi/archive/develop.zip
root@demohost:~# unzip develop.zip
root@demohost:~# cd mod_wsgi-develop
root@demohost:~/mod_wsgi-develop#./configure --with-python=/usr/bin/python3.5
root@demohost:~/mod_wsgi-develop# make
root@demohost:~/mod_wsgi-develop# make install

root@demohost:~/mod_wsgi-develop# cd /etc/apache2/mods-available
root@demohost:/etc/apache2/mods-available# vi wsgi.load
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so

root@demohost:/etc/apache2/mods-available# cd /etc/apache2/mods-enabled
root@demohost:/etc/apache2/mods-enabled# ln -s ../mods-available/wsgi.load .

root@demohost:/etc/apache2/mods-enabled# service apache2 start

Weitere Einzelheiten zum Kompilieren von mod_wsgi finden Sie hier.

7. Apache konfigurieren

SSL-Zertifikat und -Schlüssel mit OpenSSL erstellen.

root@demohost:~# sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/demohost.com.key -out /etc/ssl/certs/demohost.com.crt

Bearbeiten Sie die Standardkonfigurationsdatei von Apache und ändern Sie ServerName und ServerAlias. Stellen Sie sicher, dass Sie alles von http auf https umleiten. Bearbeiten Sie auch default-ssl.conf und fügen Sie SSL-Schlüssel/Zertifikatspfad hinzu, fügen Sie Aliasse und Verzeichniskonfiguration für RatticWeb hinzu.

root@demohost# vi /etc/apache2/sites-available/000-default.conf

ServerAdmin [email protected]
DocumentRoot /var/www/html
ServerName demohost.com
ServerAlias demohost.com
Redirect permanent / https://demohost.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

Bearbeiten Sie nun default-ssl.conf

root@demohost# vi /etc/apache2/sites-available/default-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
SSLEngine on
SSLCertificateFile /etc/ssl/certs/demohost.com.crt
SSLCertificateKeyFile /etc/ssl/private/demohost.com.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>

BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

Alias /robots.txt /opt/apps/RatticWeb/static/robots.txt
Alias /favicon.ico /opt/apps/RatticWeb/static/favicon.ico

AliasMatch ^/([^/]*\.css) /opt/apps/RatticWeb/static/styles/$1
Alias /media/ /opt/apps/RatticWeb/media/
Alias /static/ /opt/apps/RatticWeb/static/

<Directory /opt/apps/RatticWeb/static>
Require all granted
</Directory>
<Directory /opt/apps/RatticWeb/media>
Require all granted
</Directory>
WSGIScriptAlias / /opt/apps/RatticWeb/ratticweb/wsgi.py
WSGIPassAuthorization On
WSGIDaemonProcess rattic processes=2 threads=25 home=/opt/apps/RatticWeb/ python-path=/opt/apps/RatticWeb display-name=%{GROUP}
WSGIProcessGroup rattic
<Directory /opt/apps/RatticWeb/ratticweb>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
</IfModule>

Apache-Module aktivieren

root@demohost:~# sudo a2enmod wsgi
root@demohost:~# a2enmod rewrite
root@demohost:~# a2ensite default-ssl
root@demohost:~# a2enmod ssl
root@demohost:~# service apache2 restart

8. Firewall konfigurieren

Passen Sie die Firewall-Regeln an, um Datenverkehr zu den Ports Nr. 80 und 443 zuzulassen

Für IPTABLES-Benutzer

[root@demohost ~]# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

[root@demohost ~]# iptables-save > /etc/iptables/rules.v4
[root@demohost ~]# service iptables-persistent restart

Für UFW-Benutzer

[root@demohost ~]# ufw allow 80/tcp
[root@demohost ~]# ufw allow 443/tcp
[root@demohost ~]# ufw reload

9. Greifen Sie auf RatticDB

zu

Um auf Rattic zuzugreifen, geben Sie https://FQDN_Or_IP_Address_Of_Your_Server

ein

Melden Sie sich mit dem Standardbenutzernamen als admin und dem Passwort als rattic an, Sie werden zum Passwort-Dashboard weitergeleitet. Ändern Sie das Standardpasswort für den Benutzer admin.

Klicken Sie in der linken Seitenleiste auf „Profil“, um die Admin-Profilseite anzuzeigen. Klicken Sie auf "Passwort ändern"

Geben Sie das neue Passwort ein und klicken Sie auf "Passwort ändern"

Klicken Sie auf „Personalverwaltung“ und dann auf „Gruppe hinzufügen“

Geben Sie einen Gruppennamen ein und senden Sie ihn ab.

Wählen Sie „Personalverwaltung“ und klicken Sie dann auf „Benutzer hinzufügen“. Füllen Sie die Benutzerdaten aus und klicken Sie auf „Senden“

Um Benutzer aufzulisten, wählen Sie "Personalverwaltung", alle Benutzer und Gruppen werden aufgelistet.

Das ist alles für Rattic-DB, Sie können jetzt Benutzer/Gruppen und Passwörter sicherer verwalten und über sichere APIs darauf zugreifen

Schlussfolgerungen:

Wir haben ein sehr schönes Passwortverwaltungssystem installiert und konfiguriert, nämlich RatticDB. Es hat mehrere Vorteile wie einfache Verwendung, einfache Zugriffskontrolle, Audit-Protokolle für Rechenschaftspflicht, Verfügbarkeit von API, Verschlüsselung im Dateisystem, kann mit jeder Datenbank eingerichtet werden, verwaltet Änderungen mit einer Änderungswarteschlange usw. Es gibt andere Open-Source-Passwort-Manager sind verfügbar wie Teampass, Keypass, Vorhängeschloss, die Sie auch für Ihre Anforderungen berücksichtigen können.


Ubuntu
  1. So installieren Sie die Passwortverwaltungs-App KeePassXC auf Ubuntu

  2. So richten Sie HAProxy in Ubuntu 16.04 ein

  3. So richten Sie den MySecureShell-SFTP-Server unter Ubuntu 18.04 ein

  4. So richten Sie die UFW-Firewall unter Ubuntu 18.04 ein

  5. Wie setzt man das Ubuntu-Passwort zurück?

So installieren Sie Moodle unter Ubuntu 20.04

So setzen Sie das Root-Passwort in Ubuntu 17.10 zurück

So richten Sie OpenVPN auf Ubuntu Server ein

So richten Sie den Git-Server unter Ubuntu 20.04 ein

So starten Sie Bluetooth in Ubuntu 20.04 neu

So richten Sie den Rsyslog-Server unter Ubuntu ein