GithubHelp home page GithubHelp logo

casvisor / casvisor Goto Github PK

View Code? Open in Web Editor NEW
258.0 8.0 21.0 1.65 MB

An open-source security log auditing & RDP, VNC, SSH bastion platform, online demo: https://door.casvisor.com

Home Page: https://casvisor.org

License: Apache License 2.0

Go 98.54% Dockerfile 0.60% Less 0.57% Shell 0.29%
audit auditing bastion casvisor log logging rdp ssh telnet vnc

casvisor's Introduction

📦⚡️ Casvisor

An open-source logging and auditing system developed by Go and React.

semantic-release docker pull casbin/casvisor GitHub Release Docker Image Version (latest semver)

Go Report Card license GitHub issues GitHub stars GitHub forks

image

Online demo

Documentation

https://casvisor.org

Architecture

Casvisor contains 2 parts:

Name Description Language Source code
Frontend Web frontend UI for Casvisor Javascript + React https://github.com/casvisor/casvisor/tree/master/web
Backend RESTful API backend for Casvisor Golang + Beego + MySQL https://github.com/casvisor/casvisor

Installation

Casvisor uses Casdoor to manage members. So you need to create an organization and an application for Casvisor in a Casdoor instance.

Necessary configuration

Get the code

go get github.com/casdoor/casdoor
go get github.com/casvisor/casvisor

or

git clone https://github.com/casdoor/casdoor
git clone https://github.com/casvisor/casvisor

Setup database

Casvisor will store its users, nodes and topics informations in a MySQL database named: casvisor, will create it if not existed. The DB connection string can be specified at: https://github.com/casvisor/casvisor/blob/master/conf/app.conf

dataSourceName = root:123@tcp(localhost:3306)/

Casvisor uses XORM to connect to DB, so all DBs supported by XORM can also be used.

Configure Casdoor

After creating an organization and an application for Casvisor in a Casdoor, you need to update clientID, clientSecret, casdoorOrganization and casdoorApplication in app.conf.

Run Casvisor

  • Configure and run Casvisor by yourself. If you want to learn more about casvisor.
  • Open browser: http://localhost:16001/

Optional configuration

Setup your Casvisor to enable some third-party login platform

Casvisor uses Casdoor to manage members. If you want to log in with oauth, you should see casdoor oauth configuration.

OSS, Mail, and SMS services

Casvisor uses Casdoor to upload files to cloud storage, send Emails and send SMSs. See Casdoor for more details.

RDP service

Run guacd for rdp connection.

docker run --name some-guacd -d -p 4822:4822 guacamole/guacd

Contribute

For Casvisor, if you have any questions, you can give Issues, or you can also directly start Pull Requests(but we recommend giving issues first to communicate with the community).

License

Apache-2.0

casvisor's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

casvisor's Issues

Add remote desktop tabs page

Now the assets page (https://door.casvisor.com/assets) allows to open a new browser tab to establish connection to the machine.

The web UI can be further improved by adding a tabs page like below picture, left panel is the list of machines. For right side, tabs of active connected machines will show on the top, the active remote desktop shows on the bottom.

It's also very similar to the experiences of VMware Workstation.

image

feature: add file manager to Casvisor

Support File Access on assets for Access Control and Auditing.
with features ex: control add/edit/delete/rename/ ... files in assets

Ex: SMB Protocol

Change casdoor config in front end after the deploy

Frontend code written for a React project with default casdoor settings when compiled. If we want to change the addresses related to casdoor after being placed on the operational server, how should we do it?

Allow to connect to machines with private IP only

Some machines are only inside Intranet and don't have public IP. We want to connect to them from Internet. After supporting this, Casvisor will reach the same functionality as professional remote desktop software like TeamViewer, RustDesk, etc.

About how to implement it, I think an agent can be installed into the machine to get this issue done. It may work in a similar way like frp: https://github.com/fatedier/frp

Setting up Swagger

Setting up Swagger for easier management of API commands between frontend and backend

Web Not Building Locally

Steps to Reproduce

  1. git clone [email protected]:casbin/casvisor.git
  2. cd web
  3. yarn start
yarn run v1.22.19
$ set PORT=18001 && craco start
/bin/sh: craco: command not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
  1. npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/react-scripts
npm ERR!   react-scripts@"5.0.1" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react-scripts@"^4.0.0" from @craco/[email protected]
npm ERR! node_modules/@craco/craco
npm ERR!   @craco/craco@"6.4.5" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See /Users/satinder/.npm/eresolve-report.txt for a full report.

Environment

  • macOS m2
  • Node.js v16.18.0

Extra Notes
Both of the following sites in the README, after clicking login, show a blank webpage. I'm trying for the USA

Read-only site: https://door.casvisor.com/ (any modification operation will fail)
Writable site: https://demo.casvisor.com/ (original data will be restored for every 5 minutes)

Session recording

In this project, is there a plan to record the meetings and paly them online/offline for the managers of that organization (defined organization)?

Support Web protocol for auditing and control

Some of the systems that network administrators use to discuss monitoring and management are web-based systems. It can be interesting to tweak and support access to web protocols (HTTP(S)) along side existing features

logout user not disconnect session

If the user is disconnected by himself or for other reasons, his established sessions will not be interrupted/Disconnect and will continue to work

[bug] Sessions not terminated

in below state session not terminated and work:
1- when logout
2- when copy url and run in new tab (casvisor is logout in this state)
3- when close the session in tab (with delay termination in asset)

Not save username/password

Is it possible to get the username and password at the moment of login and not save it in the asset-record?

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.