psono | مدیر اعتبار منبع باز برای تیم ها

Psono نرم افزار مدیریت رمز عبور رایگان

مدیر اعتبار منبع باز برای تیم ها و شرکت ها

PSONO یک مدیر رمز عبور منبع باز است که برای تیم ها طراحی شده است. این می تواند در سمت مشتری خود میزبان باشد و برای حداکثر امنیت رمزگذاری چند لایه ای داشته باشد.

بررسی اجمالی

PSONO یک مدیر رمز عبور رایگان برای تیم ها است. بیشتر مدیران رمزعبور منبع باز که از آنها استفاده می کنند ، به ترتیب گزینه ای برای مقیاس و میزبانی مدیران رمز عبور در تیم یا سرورهای خود را ارائه نمی دهند. با این حال ، با استفاده از PSON ، شما یک مدیر معتبر منبع باز و کاملاً ایمن و کاملاً ایمن و با استفاده از تیم های در ذهن شما طراحی شده است. با استفاده از PSON ، می توانید مدیر رمز عبور را بر روی سرور خود مستقر کنید و به 10 کاربر اجازه دهید اطلاعات مهم خود را ذخیره کرده و به آن نیز دسترسی پیدا کنند. به عنوان یک مدیر رمز عبور منبع باز ، همچنین دارای سازگاری چندین دستگاه و متقاطع مانند iOS ، Android ، MacOS ، Linux و مرورگرهایی مانند Chrome ، Edge ، Safari و موارد دیگر است. راحتی اصلی استفاده از مدیران رمزعبور منبع باز مانند PSONO امکان دسترسی به اطلاعات مهم شما از هرجایی ، در هر زمان و امکان ذخیره اطلاعات دیگر مانند داده های کارت اعتباری ، اطلاعات بانکی و موارد دیگر است. PSONO به خصوص برای تیم هایی که در حال ورود به سیستم هستند و به برنامه های مختلف یا سرورهایی که حساس هستند دسترسی پیدا کرده اند ، راحت و کارآمد است. PSONO یک مدیر رمز عبور خود میزبان است. این می تواند به عنوان یک پسوند وب ، مستقر در سرور شما ، از طریق برنامه Web Client یا نصب شده از طریق Docker استفاده شود. همچنین می توانید به آن در تلفن های همراه خود دسترسی پیدا کنید یا به سادگی آن را در خط لوله CI CD خود برای هر پروژه نصب کنید.

الزامات سیستم


در حین نصب PSONO برای اوبونتو اطمینان حاصل کنید که نیاز سیستم زیر را دارید:

  • اوبونتو 20.04
  • دسترسی به سرور از طریق IP استاتیک یا نام دامنه/میزبان که به آن اشاره دارد.
  • اطمینان حاصل کنید که سرور دارای 2 گیگابایت رم و 2 هسته است
  • یک کاربر غیر ریشه با مجوزهای سودو

امکانات


در اینجا خوب است که از ویژگی های PSON استفاده کنید:

  • PSONO از یک رمزگذاری چند لایه استفاده می کند که در آن سه لایه رمزگذاری هنگام انتقال از مرورگر به سرور برنامه PSONO از داده ها محافظت می کند. سرور داده ها را با استفاده از رمزنگاری Salso20 Stream به همراه کد MAC Poly1305 رمزگذاری می کند که ضرورت تکیه بر DBA (مدیر پایگاه داده) را برای اعتبار سنجی کاهش می دهد.
  • می توانید از ژنراتور رمز عبور برای تولید رمز عبور متشکل از حداقل 6 کاراکتر یا بیشتر متشکل از نمادها ، اعداد ، کاراکترهای موردی/مورد کوچک و غیره استفاده کنید.
  • با PSONO می توانید پس از ارائه جزئیات لازم در مورد برنامه ، اعتبار ورود به سیستم خود را برای وب سایت های مختلف به راحتی خودکار کنید.
  • در صورت آفلاین از طریق برنامه های سمت مشتری ، می توانید به رمزهای عبور نیز دسترسی پیدا کنید.
  • همچنین می توانید در صورت بروز مشکل میراث دیجیتالی مانند درگذشت عضو تیم یا عدم دسترسی در صورت اضطراری ، کدهای اضطراری برای دسترسی به رمزهای عبور ایجاد کنید.
  • PSONO همچنین هرگونه نقض رمز عبور را که ممکن است اتفاق افتاده باشد تشخیص می دهد و به موقع از آن خبر می دهد.
  • چندین کلید API را پیدا خواهید کرد که امکان ادغام رمز عبور را در هنگام ساخت یا اسکریپت های راه اندازی فراهم می کند.

نصب و راه اندازی


این راهنما سرور PSONO را نصب می کند و آن را با Gunicorn و Nginx اجرا می کند. در اوبونتو 18.04 آزمایش شده است.

  • ریشه پیدا کنید
sudo su
  • برخی از مطالب عمومی را نصب کنید
apt-get update
apt-get install -y \
        git \
        libyaml-dev \
        libpython3-dev \
        libpq-dev \
        libffi-dev \
        python3-dev \
        python-pip \
        python3-pip \
        python3-psycopg2 \
        postgresql-client \
        haveged \
        libsasl2-dev \
        libldap2-dev \
        libssl-dev \
        supervisor
pip3 install gunicorn
  • ایجاد کاربر psono
adduser psono
  • کاربر Psono شوید
su psono
  • مخزن کلون git
git clone https://gitlab.com/psono/psono-server.git ~/psono-server
  • الزامات پایتون را نصب کنید
Ctrl + D
cd /home/psono/psono-server
pip3 install -r requirements.txt
su psono
  • پوشه تنظیمات را ایجاد کنید
mkdir ~/.psono_server
  • یک تنظیمات ایجاد کنید.

# generate the following six parameters with the following command
# python3 ~/psono-server/psono/manage.py generateserverkeys
SECRET_KEY: 'SOME SUPER SECRET KEY THAT SHOULD BE RANDOM AND 32 OR MORE DIGITS LONG'
ACTIVATION_LINK_SECRET: 'SOME SUPER SECRET ACTIVATION LINK SECRET THAT SHOULD BE RANDOM AND 32 OR MORE DIGITS LONG'
DB_SECRET: 'SOME SUPER SECRET DB SECRET THAT SHOULD BE RANDOM AND 32 OR MORE DIGITS LONG'
EMAIL_SECRET_SALT: '$2b$12$XUG.sKxC2jmkUvWQjg53.e'
PRIVATE_KEY: '302650c3c82f7111c2e8ceb660d32173cdc8c3d7717f1d4f982aad5234648fcb'
PUBLIC_KEY: '02da2ad857321d701d754a7e60d0a147cdbc400ff4465e1f57bc2d9fbfeddf0b'

# The URL of the web client (path to e.g activate.html without the trailing slash)
# WEB_CLIENT_url:  'https://www.psono.pw'

# Switch DEBUG to false if you go into production
DEBUG: False

# Adjust this according to Django Documentation https://docs.djangoproject.com/en/2.2/ref/settings/
ALLOWED_HOSTS: ['*']

# Should be your domain without "www.". Will be the last part of the username
ALLOWED_DOMAINS: ['psono.pw']

# If you want to disable registration, you can comment in the following line
# ALLOW_REGISTRATION: False

# If you want to disable the lost password functionality, you can comment in the following line
# ALLOW_LOST_PASSWORD: False

# If you want to enforce that the email address and username needs to match upon registration
# ENFORCE_MATCHING_USERNAME_AND_EMAIL: False

# If you want to restrict registration to some email addresses you can specify here a list of domains to filter
# REGISTRATION_EMAIL_FILTER: ['company1.com', 'company2.com']

# Should be the URL of the host under which the host is reachable
# If you open the url and append /info/ to it you should have a text similar to {"info":"{\"version\": \"....}
HOST_url:  'https://www.psono.pw/server'

# The email used to send emails, e.g. for activation
# ATTENTION: If executed in a docker container, then "localhost" will resolve to the docker container, so
# "localhost" will not work as host. Use the public IP or DNS record of the server.
EMAIL_FROM: <span id="cloak820118571330d66e81d06c4c2b562de4">This email address is being protected from spambots. You need JavaScript enabled to view it.</span><script type="text/javascript">document.getElementById('cloak820118571330d66e81d06c4c2b562de4').innerHTML='';var prefix='&#109;a'+'i&#108;'+'&#116;o';var path='hr'+'ef'+'=';var addy820118571330d66e81d06c4c2b562de4='&#039;th&#101;-m&#97;&#105;l-f&#111;r-f&#111;r-&#101;x&#97;mpl&#101;-&#117;s&#101;r&#97;cc&#111;&#117;nt-&#97;ct&#105;v&#97;t&#105;&#111;ns'+'&#64;';addy820118571330d66e81d06c4c2b562de4=addy820118571330d66e81d06c4c2b562de4+'t&#101;st'+'&#46;'+'c&#111;m';var addy_text820118571330d66e81d06c4c2b562de4='&#039;th&#101;-m&#97;&#105;l-f&#111;r-f&#111;r-&#101;x&#97;mpl&#101;-&#117;s&#101;r&#97;cc&#111;&#117;nt-&#97;ct&#105;v&#97;t&#105;&#111;ns'+'&#64;'+'t&#101;st'+'&#46;'+'c&#111;m';document.getElementById('cloak820118571330d66e81d06c4c2b562de4').innerHTML+='<a '+path+'\''+prefix+':'+addy820118571330d66e81d06c4c2b562de4+'\'>'+addy_text820118571330d66e81d06c4c2b562de4+'<\/a>';</script>'
EMAIL_HOST: 'localhost'
EMAIL_HOST_USER: ''
EMAIL_HOST_PASSWORD : ''
EMAIL_PORT: 25
EMAIL_SUBJECT_PREFIX: ''
EMAIL_USE_TLS: False
EMAIL_USE_SSL: False
EMAIL_SSL_CERTFILE:
EMAIL_SSL_KEYFILE:
EMAIL_TIMEOUT:

# In case one wants to use mailgun, comment in below lines and provide the mailgun access key and server name
# EMAIL_BACKEND: 'anymail.backends.mailgun.EmailBackend'
# MAILGUN_ACCESS_KEY: ''
# MAILGUN_SERVER_NAME: ''

# In case you want to offer Yubikey support, create a pair of credentials here https://upgrade.yubico.com/getapikey/
# and update the following two lines before commenting them in
# YUBIKEY_CLIENT_ID: '123456'
# YUBIKEY_SECRET_KEY: '8I65IA6ASDFIUHGIH5021FKJA='

# If you have own Yubico servers, you can specify here the urls as a list
# YUBICO_API_URLS: ['https://api.yubico.com/wsapi/2.0/verify']

# Cache enabled without belows Redis may lead to unexpected behaviour

# Cache with Redis
# By default you should use something different than database 0 or 1, e.g. 13 (default max is 16, can be configured in
# redis.conf) possible URLS are:
#    redis://[:password]@localhost:6379/0
#    rediss://[:password]@localhost:6379/0
#    unix://[:password]@/path/to/socket.sock?db=0
# CACHE_ENABLE: False
# CACHE_REDIS: False
# CACHE_REDIS_LOCATION: 'redis://127.0.0.1:6379/13'

# Disables Throttling (necessary for unittests to pass) by overriding the cache with a dummy cache
# https://docs.djangoproject.com/en/2.2/topics/cache/#dummy-caching-for-development
# THROTTLING: False

# Enables the management API, required for the psono-admin-client / admin portal
# MANAGEMENT_ENABLED: False

# Enables the fileserver API, required for the psono-fileserver
# FILESERVER_HANDLER_ENABLED: False

# Enables files for the client
# FILES_ENABLED: False

# Allows that users can search for partial usernames
# ALLOW_USER_SEARCH_BY_USERNAME_PARTIAL: True

# Allows that users can search for email addresses too
# ALLOW_USER_SEARCH_BY_EMAIL: True

# Disables central security reports
# DISABLE_CENTRAL_SECURITY_REPORTS: True

# Configures a system wide DUO connection for all clients
# DUO_INTEGRATION_KEY: ''
# DUO_SECRET_KEY: ''
# DUO_API_HOSTNAME: ''

# If you are using the DUO proxy, you can configure here the necessary HTTP proxy
# DUO_PROXY_HOST: 'the-ip-or-dns-name-goes-here'
# DUO_PROXY_PORT: 80
# DUO_PROXY_TYPE: 'CONNECT'
# If your proxy requires specific headers you can also configure these here
# DUO_PROXY_HEADERS: ''

# Normally only one of the configured second factors needs to be solved. Setting this to True forces the client to solve all
# MULTIFACTOR_ENABLED: True

# Allows admins to limit the offered second factors in the client
# ALLOWED_SECOND_FACTORS: ['yubikey_otp', 'google_authenticator', 'duo']

# Your Postgres Database credentials
# ATTENTION: If executed in a docker container, then "localhost" will resolve to the docker container, so
# "localhost" will not work as host. Use the public IP or DNS record of the server.
DATABASES:
    default:
        'ENGINE': 'django.db.backends.postgresql_psycopg2'
        'NAME': 'psono'
        'USER': 'psono'
        'PASSWORD': 'password'
        'HOST': 'localhost'
        'PORT': '5432'
# for master / slave replication setup comment in the following (all reads will be redirected to the slave
#    slave:
#        'ENGINE': 'django.db.backends.postgresql_psycopg2'
#        'NAME': 'YourPostgresDatabase'
#        'USER': 'YourPostgresUser'
#        'PASSWORD': 'YourPostgresPassword'
#        'HOST': 'YourPostgresHost'
#        'PORT': 'YourPostgresPort'

# Update the path to your templates folder
# If you do not want to change it (yet) you can leave it like it is.
TEMPLATES: [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['/home/psono/psono-server/psono/templates'],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]	
  • اعتبارنامه های پایگاه داده / اسرار / مسیرهایی را که در نظرات بالا توضیح داده شده است به روز کنید.

  • برای ارسال نامه الکترونیکی تست به somethingsomethingcom اجرا: Python3 ~/psono-server/psono/managem -در صورت دریافت این نامه الکترونیکی آزمون ، نامه الکترونیکی باید به طور مناسب پیکربندی شود.

  • پایگاه داده ما را ایجاد کنید
python3  ~/psono-server/psono/manage.py migrate
  • سرور psono را اجرا کنید
cd ~/psono-server/psono
gunicorn --bind 0.0.0.0:10100 wsgi
  • این سرور PSONO را در پورت 10100 شروع می کند. اگر اکنون http: // your-ip: 10100/info/باید چیزی شبیه به این را ببینید:
{"info":"{\"version\": \"....}
  • دوباره ریشه پیدا کنید
Ctrl + D
  • ایجاد پیکربندی سرپرست. با محتوای زیر یک psono-server.conf in /etc/supervisor/conf.d/ ایجاد کنید:
[program:psono-server]
command = /usr/local/bin/gunicorn --bind 127.0.0.1:10100 wsgi
directory=/home/psono/psono-server/psono
user = psono
autostart=true
autorestart=true
redirect_stderr=true
  • ممکن است متوجه شده باشید که ما اتصال را تغییر داده ایم. به این ترتیب PSONO فقط از LocalHost قابل دسترسی است ، که خوب است زیرا ما درخواست های پروکسی را با NGINX ارائه خواهیم داد.
  • بارگذاری مجدد SupervisorCtl
supervisorctl reload
  • کار پاکسازی راه اندازی
crontab -e
  • و خط زیر را اضافه کنید:
30 2 * * * psono python3 /home/psono/psono-server/psono/manage.py cleartoken >> /var/log/cron.log 2>&1
  • برای اجرای مدیر رمز عبور PSONO در تولید ، یک پروکسی معکوس مورد نیاز است ، تا بتواند SSL را بارگیری کند و سرور PSONO و WebClient را به هم چسبیده و چسب کند. راهنمای پروکسی معکوس تنظیم را به عنوان مرحله بعدی دنبال کنید.

کاوش


در این مقاله ما در مورد نمای کلی و ویژگی های PSONO بحث کرده ایم که آن را به یک مدیر معتبر معتبر تبدیل می کند. برای کسب اطلاعات در مورد سایر نرم افزار مدیریت اعتبار منبع باز ، لطفاً صفحات زیر را بررسی کنید:

 فارسی