Граф коммитов

27 Коммитов

Автор SHA1 Сообщение Дата
Aaron Meihm 0c49439eb0 [major] investigator API key authentication for API use
X-PGPAUTHORIZATION based authentication was previously used for
authorizing client access to the API. This patch adds the option of
using a standard API key as well.

Note that PGP is still required for querying agents. In some cases
though, we may want to integrate other external applications that just
require API access (e.g. to review previous investigations, manage
users, etc). Using PGP for this is problematic and the ability
to instead just use a regular API key for these scenarios remediates
this.

Investigators can now be assigned an key that enables API key based
access to the MIG API. Investigators can also be created without a PGP
key, so they can solely utilize API key based access.

Resolves #239
2017-04-11 14:55:58 -05:00
Aaron Meihm 566ffe87da [minor] add a new loadername column to agents table
Agents which are added or updated via a heartbeat message will have the
loadername value populated if the agent instance is associated with a
loader instance. This also permits targeting of agents using the loader
name associated with the agent.
2017-02-07 16:18:35 -06:00
Aaron Meihm 58a9df98e1 [minor] in UpdateLoaderEntry, also update queueloc
Use the agent ID/queue location information sent by the loader and
update a new queueloc column associated with the loader instance. This
provides an accurate means to identify any agents associated with a
given loader instance.
2017-02-07 16:18:35 -06:00
Aaron Meihm bb5f690710 [major] expand permission model to be per-endpoint 2016-08-15 18:28:57 -05:00
Aaron Meihm 07d135a000 [medium] more granular permissions for investigators
This removes the previous implementation where an investigator could
either be set to an admin or not, and expands this to per-endpoint
permissions that can be set for individual investigators.
2016-08-15 15:25:01 -05:00
Aaron Meihm 9adaa7ce82 [minor] replace ldr verify stored procedure with function 2016-08-15 15:01:12 -05:00
Aaron Meihm c32c3b4ab2 [medium] add environment validation to loader authorization
Adds ability to specify an expected environment or tag query string to
loader instances which are verified prior to manifest lookup.

Resolves #255
2016-08-11 15:28:57 -05:00
Aaron Meihm ca684916cb [minor] NOT NULL on loaderkey and salt 2016-07-12 09:27:40 -05:00
Aaron Meihm f4b825db46 [minor] store key salt in an additional column 2016-07-12 09:01:41 -05:00
Aaron Meihm e70bb04105 [major] hashed storage of api loader keys and format standardization 2016-07-10 16:24:53 -05:00
Aaron Meihm 638a6de11e [minor] support creating investigator as admin 2016-05-26 15:16:31 -05:00
Aaron Meihm 6cfd4bbf96 [minor] support enable/disable admin flag via api and console 2016-05-26 14:59:35 -05:00
Aaron Meihm 6cb30162c9 [medium] mig-console and api loader key change support 2016-04-25 13:46:20 -05:00
Aaron Meihm 92a1c6f6b8 [minor/bug] fix db column name missed in 008143a 2016-04-25 13:40:43 -05:00
Aaron Meihm 008143a454 [minor] use lastseen instead of lastused in loaders table 2016-04-20 16:47:47 -05:00
Aaron Meihm 461163a032 [medium] add console loader management operations 2016-04-20 16:47:47 -05:00
Aaron Meihm da8bbb2ee5 [minor] add loader search to console 2016-04-20 16:47:47 -05:00
Aaron Meihm a84474ad9e [medium] introduce periodic agent environment refresh
It's possible over the course of the process lifetime on a workstation
that address or other environment information can change. This adds
support for periodic refreshes of current environment information from
the system.

This commit also requires modifying the way we pass the Context around
the agent, from a copy to using a pointer so the changes made in the
refresh routine are visible.

Closes #205
2016-04-18 23:04:50 -05:00
Aaron Meihm 4bbbe24666 [minor] unique index on loader name and key 2016-03-24 17:08:14 -05:00
Aaron Meihm a139e581df [minor/bug] fix issue with investigator creation
Use column default of false for isadmin privilege, API will not have
permission to change this value. Also fix a syntax error in investigator
query string that was causing queries to fail.
2016-03-24 17:08:14 -05:00
Aaron Meihm df27a0d3dd [medium] add new administrator privilege for investigators 2016-03-24 17:08:14 -05:00
Aaron Meihm 97cac21624 [minor] manifest signature status reset from console 2016-03-24 17:08:13 -05:00
Aaron Meihm b0c5bd7e94 [minor] update the status of the manifest based on # of sigs 2016-03-24 17:08:13 -05:00
Aaron Meihm 4b3fad348d [minor] enforce single investigator signature per manifest in db 2016-03-24 17:08:13 -05:00
Aaron Meihm 7c897edc06 [major] Initial code for mig-loader
Checkpoint commit for initial revision of mig-loader related code. This
change adds functionality supporting agent auto-update using manifests
stored in the API.
2016-03-24 17:08:13 -05:00
Julien Vehent c71651de50 [minor] add index on agents.starttime 2015-11-16 08:44:55 -05:00
Julien Vehent e9aa7febf9 [major] reorganize repository structure for `go get mig.ninja/mig`
This is a major change to the structure of the repository and the Makefile,
but a minor change in terms of functionalities. It simply changes the structure
of the directories to be compliant with Go's idiomatic build methods.

I also bought the domain `mig.ninja` and will now be using that as
a standard import path for everything. The magic to serve everything
under mig.ninja/mig will be documented elsewhere.
2015-08-25 18:01:22 -04:00