GithubHelp home page GithubHelp logo

outbit / pivportal Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 3.0 463 KB

Secure Linux access using a PIV (HSPD-12), CAC, SmartCard, or x509 Client Certificate remotely without a physical card reader.

Home Page: https://outbit.com

License: MIT License

Shell 2.87% Makefile 2.56% C 21.54% Python 51.15% CSS 3.84% HTML 4.71% JavaScript 8.24% C++ 1.61% Dockerfile 3.48%
smartcard security hspd12 pkcs11 pam-module piv cac linux-client hspd-12

pivportal's Introduction

pivportal

Secure Linux sudo access using a PIV (HSPD-12), CAC, SmartCard, or x509 Client Certificate.

Build Status PIP Version Coverage Status Gitter IM

alt tag alt tag

Installing pivportal Server

$ docker pull outbit/pivportal

Configuring pivportal Server

docker run -d -p 80:80 -p 442:442 -p 443:443 outbit/pivportal

In the running docker instance, you are required to:

  • Copy CA and intermediate certificates (in x509 PEM format) in /etc/ssl/private/pivportalCA.crt.
  • Edit /etc/pivportal-server.conf and add the Designated Names you authorize to use the application. The file includes examples.

In the running docker instance, it is recommended to:

  • Copy the CRL (certificate revokation list) to /etc/ssl/private/pivportal.crl and uncomment the line in /etc/apache2/sites-enabled/httpd-pivportal.conf.
  • Copy your valid SSL public certificate to /etc/ssl/private/pivportal.crt.
  • Copy your valid SSL private certificate to /etc/ssl/private/pivportal.key.

Connect using a web browser to the pivportal server.

PAM Configuration on Linux Client

  • Build and Install pam_pivportal.so.
  • Copy /etc/ssl/private/pivportalClient.pem from the docker container to /etc/ssl/certs/pivportalClient.pem on each Linux Client.

Example /etc/pam.d/sudo file:

auth required pam_pivportal.so
account include system-auth
password include system-auth
session optional pam_keyinit.so revoke
session required pam_limits.so

Example /etc/pivportal.conf:

hosts - Hostname or IP Address of the server. Default is 127.0.0.1.

port - TCP Port for pam_pivportal to authenticate to the server. Default is 442.

client_ssl_cert - Client SSL certificate used by the pam_pivportal module to authenticate to the pivportal server. Default is /etc/ssl/certs/pivportalClient.pem.

ssl_verify_host - SSL verify server certificate is valid. 0 = false, 1 = true. Default is false.

[server]
hosts=192.16.0.1;192.168.0.2
port=442
client_ssl_cert=/etc/ssl/certs/pivportalClient.pem
ssl_verify_host=0

License

pivportal is released under the MIT License.

Author

David Whiteside ([email protected])

pivportal's People

Contributors

thedavidwhiteside avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pivportal's Issues

give GUI a new color scheme

Update Color Scheme for UI.

Update the logo icon for the UI (browser icon).

Update screenshot on README.md of the new color scheme.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.