GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit službu správy hesel RatticDB na Ubuntu 16.04

RatticDB je open source služba pro správu hesel založená na Django. Rozhraní API, které poskytuje, se používá pro přístup externích programů a protokolů auditu, aby byla zajištěna plná odpovědnost. K dispozici je také „Fronta změn“, která umožňuje sledovat, která hesla je třeba změnit a kdy.

1. Předpoklad instalace

Aktualizujte svůj systém a nainstalujte všechny nezbytné předpoklady včetně MySQL a 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

Nakonfigurujte FQDN pro svého hostitele přidáním správné položky pro název hostitele a domény do /etc/hosts &/etc/hostname(Volitelné)

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

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

Restartujte síť

root@demohost:~# service networking restart

Nyní zkontrolujte FQDN vašeho hostitele

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

2. Stáhněte si RatticWeb

Stáhněte si RatticWeb a nainstalujte python požadované moduly pomocí 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. Vytvořte MySQL databázi/uživatele

Vytvořte databázi/uživatele MySQL a udělte oprávnění.

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. Nakonfigurujte RatticWeb

Ve výchozím nastavení RatticWeb běží v režimu ladění pomocí databáze SQLite. Chcete-li to změnit a nakonfigurovat připojení MySQL, vytvořte soubor /opt/apps/RatticWeb/conf/local.cfg s následujícím obsahem.

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

[ratticweb]

debug =Falsesecretkey =linoxidehostname =demohost.com

[cesty k souborům]

static =/opt/apps/RatticWeb/static

[databáze]

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

Zadejte své časové pásmo, dny vypršení platnosti hesla a název hostitele.

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

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

5. Migrujte RatticWeb

Při migracích se může zobrazit následující chyba.

..................
..................
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',
}

Chcete-li to opravit, zkopírujte správný migrační modul.

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

Nyní proveďte migraci

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. Kompilace/instalace mod_wsgi

Stáhněte a zkompilujte mod_wsgi. Pro instalaci mod_wsgi potřebujete python-dev a apache2-dev. Oba se instalují v kroku 1.

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

Další podrobnosti o kompilaci mod_wsgi naleznete zde.

7. Nakonfigurujte Apache

Vytvořte SSL certifikát a klíč pomocí OpenSSL.

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

Upravte výchozí konfigurační soubor Apache a změňte ServerName a ServerAlias. Ujistěte se, že vše přesměrujete z http na https. Také upravte default-ssl.conf a přidejte cestu klíče/certifikátu SSL, přidejte Aliasy a konfiguraci adresáře pro RatticWeb.

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

Nyní upravte 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>

Povolit moduly Apache

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

8. Nakonfigurujte bránu firewall

Upravte pravidla brány firewall tak, aby umožňovala provoz na portech č. 80 a 443

Pro uživatele IPTABLES

[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

Pro uživatele UFW

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

9. Přístup k RatticDB

Pro přístup k rattic zadejte https://FQDN_Or_IP_Address_Of_Your_Server

Přihlaste se pomocí výchozího uživatelského jména jako admin a hesla jako rattic, budete přesměrováni na řídicí panel hesel. Změňte výchozí heslo pro uživatele admin.

Kliknutím na "Profil" na levém postranním panelu zobrazíte stránku profilu správce. Klikněte na "Změnit heslo"

Zadejte nové heslo a klikněte na „Změnit heslo“

Klikněte na „Správa personálu“ a poté na „Přidat skupinu“

Zadejte název skupiny a odešlete.

Vyberte „Správa zaměstnanců“ a poté klikněte na „Přidat uživatele“. Vyplňte údaje o uživateli a klikněte na „Odeslat“

Chcete-li vypsat uživatele, vyberte „Správa personálu“, zobrazí se všichni uživatelé a skupiny.

To je pro Rattic-DB vše, nyní můžete bezpečněji spravovat uživatele/skupiny a hesla a přistupovat k nim prostřednictvím zabezpečených API

Závěry:

Nainstalovali jsme a nakonfigurovali velmi pěkný systém správy hesel, tj. RatticDB. Má několik výhod, jako je jednoduché použití, jednoduchá kontrola přístupu, protokoly auditu pro odpovědnost, dostupnost API, šifrování na souborovém systému, lze jej nastavit s libovolnou databází, spravovat změny pomocí fronty změn atd. Existují další open source správci hesel jsou k dispozici jako teampass, keypass, visací zámek, které můžete také zvážit pro své požadavky.


Ubuntu
  1. Jak nainstalovat aplikaci pro správu hesel KeePassXC na Ubuntu

  2. Jak nastavit HAProxy v Ubuntu 16.04

  3. Jak obnovit heslo Ubuntu?

  1. Jak nainstalovat MySQL na Ubuntu 20.04

  2. Jak nastavit MySecureShell SFTP Server na Ubuntu 18.04

  3. Jak nastavit UFW Firewall na Ubuntu 18.04

  1. Jak spustit službu při spouštění na Ubuntu 22.04

  2. Jak nainstalovat Nginx na Ubuntu 18.04

  3. Jak změnit uživatelské heslo v Ubuntu