beame-insta-ssl
Version:
Quick TLS (SSL) security for you server by Beame.io
85 lines (56 loc) • 4.37 kB
Plain Text
Usage information and examples:
beame-insta-ssl creds getCreds --regToken BIG_TOKEN_FROM_EMAIL
Creates 'SOMETHING.beameio.net' certificate.
beame-insta-ssl creds list
Lists certificates
beame-insta-ssl tunnelClient make --dst DESTINATION_PORT --fqdn CLIENT_SIDE_CERT --src DESTINATION_HOST:DESTINATION_PORT
Client side of the TCP tunnel (see below). DESTINATION_PORT points to local Client application (e.g. 3389 for RDP client)
This implementation requires valid certificate for connection (CLIENT_SIDE_CERT - fqdn of a credential existing
on local machine)
beame-insta-ssl tunnel make --dst DESTINATION_PORT --proto tcp [--fqdn MY_FQDN] [--highestFqdn PARENT_FQDN] [--trustDepth LEVEL]
Creates tunnel from https://MY_FQDN.beameio.net to the
DESTINATION_PORT. Client access allowed with client certificate that satisfies conditions:
* Is not "lower" than "trustDepth LEVEL" beneath MY_FQDN credential
* Has in its certificate chain one credential that can be found under(including) "highestFqdn PARENT_FQDN"
These parameters (highestFqdn & trustDepth) can be skipped, then any credential that was created under MY_FQDN
will be allowed
Using beame-insta-ssl for RDP / VNC / SSH etc
Set DESTINATION_PROTO to "tcp", this will create a native tcp tunnel with termination on your machine and option to
control access by setting "highestFqdn" (to allow search up my trust tree) and "trustDepth" (to define how levels below
are valid to connect). If no auth required, "--noAuth" true shall be set. This type of tunnel requires "beame-insta-ssl client" to be used on the other side of the tunnel
with client-certificate that satisfies the trust criteria (unless --noAuth is set on server side)
Example RDP:
Server side (host Windows machine):
beame-insta-ssl tunnel make --dst 3389 --proto tcp --fqdn rdpFqdn.v1.p.beameio.net --highestFqdn oneOfMyParents.v1.p.beameio.net --trustDepth 1
Client side (connecting client machine):
beame-insta-ssl tunnelClient make --dst 3389 --fqdn myclientcert.oneOfMyParents.v1.d.beameio.net --src rdpFqdn.v1.p.beameio.net:443
Now run RDP client on client machine (point it to 127.0.0.1 and pre-configure username/password)
beame-insta-ssl tunnel make --dst [DESTINATION_HOST:]DESTINATION_PORT --proto DESTINATION_PROTO [--hostname <HOSTNAME>] [--fqdn FQDN]
Creates tunnel from https://SOMETHING.beameio.net to the
specified destination.
If DESTINATION_PROTO is "http", the tunnel will terminate TLS
traffic and transform the requests to HTTP. This way you can
run existing HTTP server unmodified.
Examples:
beame-insta-ssl tunnel make --dst 8080 --proto http
beame-insta-ssl tunnel make --dst 192.168.0.200:8443 --proto https --hostname web200.localdomain
DESTINATION_HOST - your end of the tunnel, defaults to localhost
DESTINATION_PORT - your end of the tunnel
DESTINATION_PROTO - protocol to use on your end of the tunnel ("http" or "https")
HOSTNAME - The "Host:" header to set in incoming requests (terminating tunnel only)
FQDN - The FQDN to use for the remote end of the tunnel. If you only have one,
which should be the usual case, you don't need to specify the FQDN.
beame-insta-ssl creds exportCred --fqdn <FQDN> --dir <DESTINATION_FOLDER>
Example:
beame-insta-ssl creds exportCred --fqdn lvqba57mf13sitz7.xxxxxxxxxxxxxxxx.v1.d.beameio.net --dir my_cert_dir
FQDN - the FQDN of the certificate to export
DESTINATION_FOLDER - the folder to export the certificate to. The folder must exist.
The export operation will place 'FQDN.*' files in the folder.
No files will be overwritten. Please make sure you have restrictive
permissions for that folder. Current version of beame-insta-ssl
does not handle resulting files' permissions.
beame-insta-ssl creds renewCert --fqdn fqdn
Renew certificate_
beame-insta-ssl creds revokeCert --signerFqdn <SIGNER_FQDN> --fqdn <FQDN>
Revoke certificate. If revoking your own certificate, for which you
have a private key, SIGNER_FQDN should be same as FQDN.