This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Difference between revisions of "OWASP Jupiter"
From OWASP
Mattstanchek (talk | contribs) m (→High Level Design) (Tag: Visual edit) |
Mattstanchek (talk | contribs) (Added Roadmap and FAQ) |
||
| Line 68: | Line 68: | ||
= Roadmap = | = Roadmap = | ||
| − | + | ==Jupiter Application Inventory Management System Roadmap== | |
| + | # Collector Service | ||
| + | ## Authentication | ||
| + | ##* Utilize Auth Service for JWT validation | ||
| + | ## Authorization | ||
| + | ##* Based on JWT payload, enforce restrictions on CRUD operations | ||
| + | ## Database Connectivity | ||
| + | ##*Update Mongo connection code to update deprecated connection method | ||
| + | ##Input Validation | ||
| + | ##*Input length checks | ||
| + | ##*Input type checks | ||
| + | ##Data Fields | ||
| + | ##*Enable data fields beyond Common Name and Primary Owner | ||
| + | ##Containerization | ||
| + | ##*Prepare Dockerfile | ||
| + | ##*Build Docker container | ||
| + | ##*Deploy and test Docker container | ||
| + | #Curated Inventory Service | ||
| + | ##Authentication | ||
| + | ##*Utilize Auth Service for JWT validation | ||
| + | ##Authorization | ||
| + | ##*Based on JWT payload, enforce restrictions on CRUD operations | ||
| + | ##Input Validation | ||
| + | ##*Input length checks | ||
| + | ##*Input type checks | ||
| + | ##Data Fields | ||
| + | ##*Enable Application-specific data fields beyond Common Name and Primary Owner | ||
| + | ##*Enable capture of Collector Service instance ID | ||
| + | ##Data Integrity | ||
| + | ##*Restrict Common Name to unique values | ||
| + | ##Containerization | ||
| + | ##*Prepare Dockerfile | ||
| + | ##*Build Docker container | ||
| + | ##*Deploy and test Docker container | ||
| + | #Auth Service | ||
| + | ##Authentication | ||
| + | ###Enable LDAP authentication | ||
| + | ###*Build LDAP integration capabilities | ||
| + | ###*Based on successful username/password LDAP authentication, provide time-limited JSON Web Token for subsequent requests | ||
| + | ###*Enable facility to validate expiration of tokens and deny access to expired tokens | ||
| + | ##Authentication | ||
| + | ##*Define user roles (administrator, reader, creator/updater) | ||
| + | ##*Enable issuance of tokens that restrict access based on user role | ||
| + | #Management Console | ||
| + | ##Base Architecture | ||
| + | ###Add Local SQLite Database | ||
| + | ###*Enable saving of configuration and preferences | ||
| + | ##Authentication | ||
| + | ###Collector Services | ||
| + | ###*Build an interface to allow configuration of Collector Services | ||
| + | ###Curated Inventory Service | ||
| + | ###*Build an interface to allow configuration of Curated Inventory Service | ||
| + | ##Data Fields | ||
| + | ##*Enable Application-specific data fields beyond Common Name and Primary Owner | ||
| + | ##External Integrations | ||
| + | ##:Consistent naming across multiple external Application Security tools will allow for greater future automation and reporting as well as utilization. | ||
| + | ##*Enable set up of Application in Fortify Software Security Center | ||
| + | ##*Enable set up of Application in OWASP Dependency-Track | ||
| + | ##*Enable set up of Application in OWASP Defect Dojo | ||
| + | ##*Enable set up of Application in OWASP SecurityRAT | ||
| + | ##User Experience | ||
| + | ###Antecessors | ||
| + | ###*Aggregate all Collectors’ data in available Antecessors list when there is more than one Collector Service defined | ||
| + | #Jenkins Collector Plugin | ||
| + | ##Input Validation | ||
| + | ##*Input length checks | ||
| + | ##*Input type checks | ||
| + | ##Connectivity Validation | ||
| + | ##*Add a “Test Connection…” button to the Global config screen to test the Collector URL and token | ||
| + | ##Data Fields | ||
| + | ##*Enable Application-specific data fields beyond Common Name and Primary Owner under “Advanced” | ||
| + | |||
= About Jupiter = | = About Jupiter = | ||
| − | + | ==FAQ== | |
| + | Q: Why is this project named "Jupiter"? | ||
| + | |||
| + | A: In ''2001: A Space Odyssey'', the Discovery One embarked on a mission to investigate the signal sent from the monolith on the Moon to Jupiter. In ''2010: The Year We Make Contact'', the crews of the Discovery and Leonov witness countless monoliths emerge from Jupiter before it is converted into a star. Aside from the cool sci-fi reference, there is an analog to what this project is for -- to start with a small amount of information about software applications in an organization's portfolio and build upon that knowledge to find more. | ||
__NOTOC__ <headertabs></headertabs> | __NOTOC__ <headertabs></headertabs> | ||
Revision as of 22:58, 23 March 2019
Jupiter Application Inventory Management System Roadmap
- Collector Service
- Authentication
- Utilize Auth Service for JWT validation
- Authorization
- Based on JWT payload, enforce restrictions on CRUD operations
- Database Connectivity
- Update Mongo connection code to update deprecated connection method
- Input Validation
- Input length checks
- Input type checks
- Data Fields
- Enable data fields beyond Common Name and Primary Owner
- Containerization
- Prepare Dockerfile
- Build Docker container
- Deploy and test Docker container
- Authentication
- Curated Inventory Service
- Authentication
- Utilize Auth Service for JWT validation
- Authorization
- Based on JWT payload, enforce restrictions on CRUD operations
- Input Validation
- Input length checks
- Input type checks
- Data Fields
- Enable Application-specific data fields beyond Common Name and Primary Owner
- Enable capture of Collector Service instance ID
- Data Integrity
- Restrict Common Name to unique values
- Containerization
- Prepare Dockerfile
- Build Docker container
- Deploy and test Docker container
- Authentication
- Auth Service
- Authentication
- Enable LDAP authentication
- Build LDAP integration capabilities
- Based on successful username/password LDAP authentication, provide time-limited JSON Web Token for subsequent requests
- Enable facility to validate expiration of tokens and deny access to expired tokens
- Enable LDAP authentication
- Authentication
- Define user roles (administrator, reader, creator/updater)
- Enable issuance of tokens that restrict access based on user role
- Authentication
- Management Console
- Base Architecture
- Add Local SQLite Database
- Enable saving of configuration and preferences
- Add Local SQLite Database
- Authentication
- Collector Services
- Build an interface to allow configuration of Collector Services
- Curated Inventory Service
- Build an interface to allow configuration of Curated Inventory Service
- Collector Services
- Data Fields
- Enable Application-specific data fields beyond Common Name and Primary Owner
- External Integrations
- Consistent naming across multiple external Application Security tools will allow for greater future automation and reporting as well as utilization.
- Enable set up of Application in Fortify Software Security Center
- Enable set up of Application in OWASP Dependency-Track
- Enable set up of Application in OWASP Defect Dojo
- Enable set up of Application in OWASP SecurityRAT
- User Experience
- Antecessors
- Aggregate all Collectors’ data in available Antecessors list when there is more than one Collector Service defined
- Antecessors
- Base Architecture
- Jenkins Collector Plugin
- Input Validation
- Input length checks
- Input type checks
- Connectivity Validation
- Add a “Test Connection…” button to the Global config screen to test the Collector URL and token
- Data Fields
- Enable Application-specific data fields beyond Common Name and Primary Owner under “Advanced”
- Input Validation
FAQ
Q: Why is this project named "Jupiter"?
A: In 2001: A Space Odyssey, the Discovery One embarked on a mission to investigate the signal sent from the monolith on the Moon to Jupiter. In 2010: The Year We Make Contact, the crews of the Discovery and Leonov witness countless monoliths emerge from Jupiter before it is converted into a star. Aside from the cool sci-fi reference, there is an analog to what this project is for -- to start with a small amount of information about software applications in an organization's portfolio and build upon that knowledge to find more.


