Commit Graph

692 Commits (a61caa3a6a541e6f9761ae99c033c7457050bc0b)

Author SHA1 Message Date
Iglocska cac7742af3 fix: left off a change 2016-05-23 11:58:05 +02:00
Andreas Ziegler dc0974a55b misc cleanup 2016-05-21 05:10:49 +02:00
Iglocska f64f7ce17f fix: Added hard-delete for soft-deleted attributes, fixes #1144 2016-05-20 12:04:52 +02:00
Iglocska fe12a3f3db fix: Fix to the redirect issues on logout 2016-05-20 09:41:01 +02:00
Iglocska 646f444318 fix: Some more cleanup on the redirects at login 2016-05-20 01:26:16 +02:00
Iglocska eb788366c9 fix: Removed redirect to the news page if no user is logged on 2016-05-20 01:20:45 +02:00
Iglocska d02adf2085 new: Added the news functionality back
- admins can add/edit/delete news items
- users get redirected if there is a newsitem that they haven't seen yet
2016-05-20 01:17:26 +02:00
Andreas Ziegler 800721bf2f improve quality of PR#976 (kerberos auth) 2016-05-19 03:41:10 +02:00
Iglocska 617b06740f fix: Left off a change 2016-05-05 15:48:06 +02:00
Iglocska 01eb256864 fix: Comment from expansion lost after free-text import, fixes #1115 2016-05-03 12:18:18 +02:00
Iglocska 80c23fef10 chg: Renamed the JS used by MISP 2016-04-28 16:38:10 +02:00
Iglocska 8db889ce7e SMIME changes
- tied into auto upgrade system
- tied into server settings
- some cleanup of overly verbose debug
- Enforcing enable/disable everywhere
- Changed temporary file structure
2016-04-26 16:40:12 +02:00
Iglocska 267caa3315 Merge branch '2.4' into smime
Conflicts:
	app/Controller/AppController.php
2016-04-25 23:12:57 +02:00
Iglocska d90417e9db Fix to the previous commit 2016-04-22 10:51:41 +02:00
Iglocska e7760fa008 Fix to the PGP key being loaded into the session
- it can lead to large PGP keys causing failed logins
2016-04-22 10:38:51 +02:00
Iglocska 24c7fa61fe Merge branch 'permissionfix' into 2.4 2016-04-18 17:41:59 +02:00
Iglocska 42c612601f Merge branch 'kerberos' into 2.4 2016-04-18 17:25:21 +02:00
Iglocska 7c6ef14621 Some ACL fixes 2016-04-18 15:32:09 +02:00
Iglocska 68ae4e0b9f Pretty printed queryACL's JSON response 2016-04-18 09:56:52 +02:00
Iglocska b39d178211 some small changes 2016-04-18 09:46:08 +02:00
Iglocska 92952cc5e4 Rework of the ACL 2016-04-18 03:19:01 +02:00
devnull- 18404a9d8a Unset 'certif_public' 2016-04-05 17:59:28 +02:00
Iglocska c21c0bb57b Cache clearing improved and added a manual cache clearing for admins 2016-03-31 10:29:54 +02:00
Iglocska 0322dcb053 Force all sessions to be deleted - also, temporarily removed the per user session destruction 2016-03-31 00:57:51 +02:00
Iglocska 32f3ce8542 Destroy sessions on next page load for all users if there was a db update 2016-03-30 23:35:56 +02:00
Iglocska fea6c35140 Split the tagging permission into two
- New permission flag: perm_tag_editor
  - taggers can tag events with existing tags
  - tag editors can create / edit / delete tags

- Fixed several misleading UI elements for tagging
  - tagging users that don't own an event and aren't creators thereof cannot tag them
  - this was enforced before but the UI elements were present and threw errors

- Migration is automatic
  - all existing tagger roles will automatically become tag editors
  - restricting current roles takes manual admin action, but the functionality should remain unchanged for those that just update
2016-03-30 18:32:17 +02:00
Iglocska 0c316fd2e2 Reworked the Tag add/remove APIs
- new syntax
- old syntax still accepted

- new tool for rearranging request data to allow the APIs to automatically catch and correct typical rearrange errors
2016-03-30 11:05:06 +02:00
Iglocska 975a4ebfda Fix to an invalid log entry being created for a failed authentication, even on successful authentication attempts 2016-03-28 08:43:31 +02:00
Iglocska 17555065b9 Further fixes 2016-03-18 16:25:28 +01:00
Iglocska 1e5c387d94 Better logging of failed authentication attempts 2016-03-18 16:06:03 +01:00
Iglocska 8e6a6b86ac External auth error message changed 2016-03-18 14:39:36 +01:00
Iglocska 8077854e88 Cleaner authentication issue messages 2016-03-18 14:36:16 +01:00
Iglocska 8eee32d869 Optionally remove the log out button from externally authenticated users. 2016-03-16 22:57:48 +01:00
Iglocska 0e64f0c25a Fix to the incoming address check 2016-03-16 03:30:49 +01:00
Iglocska afaa537b82 First implementation of the new auth mechanism 2016-03-15 23:04:20 +01:00
Iglocska 1ba0db37d3 Better feedback on the sync connection test
- sync users that have not accepted the terms / have had a password reset initiated were redirected to the login page

- fixes to the issue
  - if a user with automation/sync access uses the API and gets blocked because the terms weren't accepted or there is a pending password change they will be notified in a JSON/XML response
  - the sync test now takes this into consideration starting with this version and will report the cause of the failure

- Both instances have to be 2.4.24+ for this to be reported correctly
2016-03-07 15:11:00 +01:00
trucky dev 8cb32887e0 Add kerberos Authentification fonction 2016-02-24 23:33:06 +01:00
Iglocska 77c9ce3b73 Fix to a critical vulnerability for the login authentication mechanism
- The API key check was incorrectly logging in the wrong user when the API key started with a numeric value
2016-02-19 12:40:50 +01:00
Iglocska 71c4f8efe7 Reverted a version fix within the XML file.
- needs further fixes, sadly the version has always just showed the major and minor version in the exports
- This masked an issue that would block the import of events that are even a hotfix away

- As a temporary fix, I reverted the changes and the XML version field will now only show the major and minor version to restore compatibility (so 2.4.0 instead of 2.4.19)
2016-02-16 00:06:42 +01:00
Iglocska b8ecd9fee1 Version bump and footer version fix 2016-02-13 13:14:26 +01:00
Iglocska b51e39200b merge fixes 2016-02-12 05:58:22 +01:00
Iglocska 4c14d3a859 Merge branch '2.4' into features/delegation
Conflicts:
	app/Controller/AppController.php
	app/Model/AppModel.php
	app/Model/Event.php
	app/Model/Log.php
	app/Model/Server.php
	app/View/Elements/footer.ctp
	app/webroot/css/main.css
2016-02-12 05:56:32 +01:00
Iglocska a1ffdc7790 First finished version 2016-02-12 05:47:06 +01:00
William Robinet 4fea371c4b Fix permissions 2016-02-11 17:03:51 +01:00
Iglocska be62a6b053 Entering a valid controller/action and an invalid one produced a different result pre-auth
- not authenticated users now automatically get redirected to the login page, no matter what action they requested
- This as a nice side effect also removed the bug that was caused by a site admin looking at an admin function before logging out / timing out and being incorrectly redirected to /admin/users/login
2016-01-21 14:52:06 +01:00
Iglocska c834715aae First steps 2016-01-10 19:47:21 +01:00
Iglocska 24c2073f69 Fix to a trailing slash in the baseurl breaking the upgrade script 2016-01-07 16:38:23 +01:00
iglocska 627f9abbd6 Fix to several issues with the sync and and an issue preventing the editing of events, fixes #788, fixes #784 2015-12-24 15:22:05 +01:00
Iglocska cc2e4171cf Don't run the anti IE 8 check on requests that don't have a user agent set, fixes #775 2015-12-19 19:41:17 +01:00
Iglocska 5ed1c27e43 Disable users
- users can now be disabled by an admin
- disabled users cannot login (via the UI or the API) and will be informed
- login attempts by disabled users are logged

- also added the expiration field for later use
2015-12-09 23:47:19 +01:00
Iglocska af92e29e3c Further progress on the sync
- also, added maintenance mode
- various fixes
2015-12-09 01:43:54 +01:00
Iglocska ab26eafd63 Added the possibility to enable debug for site admins
- new option in server settings
- enable debug (equal to normal debug level 1) for site admins only

- regular users will be unaffected
2015-12-03 01:45:38 +01:00
iglocska 485c007b39 Merge branch 'master' into 2.4-beta
Conflicts:
	VERSION.json
	app/Lib/Tools/XMLConverterTool.php
	app/Model/Event.php
	app/Model/EventTag.php
	app/Model/TemplateElementAttribute.php
	app/Model/TemplateElementFile.php
	app/Model/TemplateElementText.php
	app/Model/ThreatLevel.php
	app/View/Attributes/index.ctp
	app/View/Elements/eventattribute.ctp
	app/View/Elements/eventattributerow.ctp
	app/View/Elements/global_menu.ctp
	app/View/Elements/side_menu.ctp
	app/View/Events/automation.ctp
	app/View/Events/index.ctp
	app/View/Pages/administration.ctp
	app/View/ShadowAttributes/index.ctp
	app/View/Tags/index.ctp
2015-11-17 01:14:51 +01:00
iglocska b3a2428345 Merge branch 'basedir' into hotfix-2.3.160
Conflicts:
	app/Controller/AppController.php
	app/View/Pages/administration.ctp
2015-11-17 00:33:34 +01:00
iglocska 3045cc2630 Fixed an invalid detection of JSON requests when not passing the accept header
- some json actions worked by passing the .json extension in the url
- these pages were correctly returning JSONs but were often internally running through the HTML code-path thanks to an invalid detection
- the new correct detection should provide a major speed boost for certain json requests
2015-11-16 00:25:21 +01:00
iglocska 487912a15a Fix to an invalid json request detection leading to the JSON export failing
- It seems like relying on the Accept header can lead to the data type detection failing when accessing .json extension views
- this issue seems to have gone unnoticed since until now the data passed to the json view was the same as that passed to the html view
- this means that all the additional UI only features may have triggered in the background previously on .json views
2015-11-15 17:43:19 +01:00
iglocska f36e00e944 Permission checks 2015-11-14 17:27:06 +01:00
iglocska 8cc0996c3c Merge branch 'master' into 2.4-beta
Conflicts:
	VERSION.json
	app/View/Elements/side_menu.ctp
	app/View/Pages/administration.ctp
2015-11-14 17:16:38 +01:00
iglocska afdcc1af0c Fixed a security issue with the CSRF protection being avoidable using some site admin functionality
- as discovered and reported by Egidio Romano of Minded Security

- Lacking checks of HTTP methods in some functionality could lead to a site admin uploading and executing malicious scripts

- Tightened HTTP method verification across the board for actions that modify data
- Turned some administrative tasks to POST only actions
2015-11-13 23:57:03 +01:00
pugilist e7e76bfc44 patched termsaccepted and change_pw checks to redirect properly when a base directory is specified. 2015-11-09 09:22:24 -05:00
iglocska 9faf3df8ae Some fixes to the api authentication
- Handle user not found gracefully
- Log the failed authentication correctly
2015-11-09 08:52:06 +01:00
iglocska 324418dcf9 Merge branch 'master' into 2.4-beta
Merge and upgrade of several new features

Conflicts:
	VERSION.json
	app/Controller/ShadowAttributesController.php
	app/Controller/TagsController.php
	app/Model/AppModel.php
	app/Model/Event.php
	app/Plugin/SysLogLogable/Model/Behavior/SysLogLogableBehavior.php
2015-11-08 23:26:19 +01:00
iglocska 16e7974fc0 Improved logging, fixes #695
- Added logging of failed login attempts
- Added (optional) logging of successful authentications
  - admin setting that has to be enabled
  - will log all API calls (both HTTP method and target url)

- optional logging of user IP address for all logs
  - each log entry created while this setting is enabled will log the IP address of the client
  - disabling it also hides the IPs from the interface
  - added new IP field for the log search (only if enabled)
2015-11-08 22:35:46 +01:00
pugilist e451945b11 modified beforefilter to allow to be accessed by all views 2015-11-08 13:21:16 -05:00
Iglocska 38d8bd0a77 Moved remaining UUID generation calls to the new uuid wrapper 2015-10-15 15:01:51 +02:00
Iglocska eeb1d8d117 Fixes to bugs with org usage from 2.3 2015-10-15 11:11:05 +02:00
Iglocska 888042dbd6 Added the first version of the correlation graphing
Conflicts:
	VERSION.json
2015-10-14 03:45:34 +02:00
Iglocska 328c666e3a Merge branch 'master' into feature/sg
Merging all the new changes from master

Conflicts:
	VERSION.json
	app/Console/Command/AdminShell.php
	app/Controller/AttributesController.php
	app/Controller/EventsController.php
	app/Model/Attribute.php
	app/Model/Event.php
	app/Model/Log.php
	app/Model/Server.php
	app/Model/User.php
	app/View/Elements/side_menu.ctp
	app/View/Pages/administration.ctp
	app/View/Users/admin_index.ctp
2015-10-12 09:41:20 +02:00
iglocska cfec8d65e4 Fix to an issue introduced in 2.3.128 that incorrectly causes MISP to not sync due to a version mismatch 2015-09-17 11:28:57 +02:00
iglocska 26e640e19c Further progress on several issues 2015-09-16 12:15:43 +02:00
Iglocska 3fb7764c00 First revision of the upgrade scripts
- .sql file to add all the new fields / tables
- admin tool to convert the old organisation fields to the new objects
- still missing a cleanup method (to remove the old organisation fields once the conversion is done)
2015-09-02 01:34:52 +02:00
Iglocska 704880ce59 Merge branch 'master' into feature/sg
Conflicts:
	VERSION.json
	app/Controller/AttributesController.php
	app/Controller/EventsController.php
	app/Model/Attribute.php
	app/Model/Event.php
	app/Model/Server.php
2015-08-30 13:29:05 +02:00
Iglocska 597e40fc0f Collection of fixes
- CSV export ignored the tag parameters
- tagging events didn't work as expected in some cases
- timing out and clicking on an admin action results in being redirected to a non-existing admin login page
- distribution setting ignored when uploading attachments
2015-08-27 09:44:58 +02:00
Iglocska 556688069a Resolved an issue that can lead to duplicate events showing up in MISP
- UUID uniqueness was previously not enforced
- changed the MYSQL.sql file to reflect the changes
- Added upgrade admin tool to remove duplicate events and make the database changes required
- Tweaked the tool for the attribute uuid fix so that it cannot created duplicate keys

- some minor fixes, such as automatically removing eventTag objects on event deletion
2015-08-25 10:32:26 +02:00
iglocska a93807439d Several bigger changes
- new functionality: Event blacklisting by UUID
  - site admins cna enable this feature in the server settings
  - enabling the feature will make the required db changes
  - any deleted event will automatically get blacklisted
  - this prevents deleted events from flowing back from a synced instance
  - site admins can manually add UUIDs to the list and remove entries

- fix to UUID duplication issues for attributes
  - simply run the admin script and it will regenerate the UUID of attributes that are duplicates, if any such exist
  - timestamps/event published status will not be affected

- config.core.php now includes a change that prevents from 404 exceptions being logged
  - the sync uses 404s to signal that an event with a given uuid does not exist when negotiating proposal synchronisation
  - this causes a dangerously high amount of noise in the logs
2015-08-17 16:10:10 +02:00
Iglocska 5273c2c5aa New functionality: API to download sample by hash
- simply pass an MD5 hash along and receive a sample if available zipped and base64 encoded in a response object
- pass any hash along with a flag set and receive any samples from events that have the passed hash

- Also, fix for an issue with the freetext import not using semi-colons as separators
2015-08-07 12:04:44 +02:00
Iglocska a181f3f2a8 Merge branch 'master' into feature/sg
Conflicts:
	VERSION.json
2015-07-24 16:02:31 +02:00
Iglocska 0481e6eb02 Merge branch 'master' into feature/sg
Conflicts:
	VERSION.json
	app/Controller/ServersController.php
	app/Controller/ShadowAttributesController.php
	app/Controller/UsersController.php
	app/Model/Event.php
	app/webroot/js/ajaxification.js
2015-06-29 14:27:16 +02:00
Iglocska ae0e1aeacb Merge branch 'feature/rpz' into hotfix-2.3.86
Conflicts:
	app/Console/Command/EventShell.php
	app/Model/Server.php
2015-06-23 17:19:08 +02:00
Iglocska c73f71f243 Merge branch 'master' into feature/sg
The merging is complete

Conflicts:
	VERSION.json
	app/Console/Command/ServerShell.php
	app/Controller/AppController.php
	app/Controller/AttributesController.php
	app/Controller/EventsController.php
	app/Controller/PostsController.php
	app/Controller/UsersController.php
	app/Model/Attribute.php
	app/Model/Event.php
	app/Model/Log.php
	app/Model/Server.php
	app/Model/User.php
	app/View/Elements/side_menu.ctp
	app/View/Users/admin_index.ctp
	app/webroot/js/ajaxification.js
2015-06-10 22:54:20 +02:00
Iglocska 2b0a1e5c4e Fixed an issue with log entries being truncated (Requires administrator action!)
- added a new entry to the admin tools (Administartion -> Administrative tools)
- converts title and change columns in the logs table to text from varchar(255)
2015-06-05 15:24:26 +02:00
iglocska 2fd600b44a Left of tuning of complex type tool in previous commit
- also, appcontroller now loads the security component, so that the blackhole override doesn't produce errors
2015-05-27 19:10:14 +02:00
iglocska 3584e52ccf Blackhole message due to csrf replaced with something more obvious, fixes #504
- user will get an explanation of the csrf error and that going back and refreshing the form will fix it
- also, there is a link that will take the user to the baseurl (which will redirect to the login page if the csrf issue occured on the login page)
2015-05-27 18:22:51 +02:00
iglocska 2f27d374d1 Opened up the rpz API for automation 2015-05-20 16:37:49 +02:00
iglocska 85e52810a4 Ignoring non MISP AUTHORIZATION headers, fixes #478
- Users being logged on would not be able to use the actions that are also used for automation
- Those actions trigger a check of the authorization header, which in certain use cases can be set with values that is outside of the scope of MISP

- MISP will now try to only detect MISP auth keys in the headers and if it detects something else it ignores it
2015-05-20 16:32:04 +02:00
iglocska 88d4a2da83 Merge branch 'certauth' into hotfix-2.3.64 2015-05-13 17:20:15 +02:00
iglocska b144831b4d Removed debug 2015-05-04 19:02:50 +02:00
iglocska d9f4e996f2 Parse authorization headers for a valid MISP auth key, fixes #478
- Keeps parsing until a valid auth key is found
2015-05-04 19:01:12 +02:00
Guilherme Capilé 3055d153f8 minor typo in the unset -- should be ['User']['gpgkey'] 2015-04-28 11:32:20 -03:00
Guilherme Capilé d2eaccec31 removed session handling from plugin and moved to AppController 2015-04-28 11:25:13 -03:00
Iglocska 9f1d47b6bc Added connection test
- also a fix to checkAuthUser
2015-04-20 23:49:18 +02:00
iglocska 51ea9c090d Further progress 2015-04-18 07:53:18 +02:00
Guilherme Capilé d0c3b44e34 Added client SSL certificate authentication as a CakePHP plugin 2015-04-16 22:14:43 -03:00
Iglocska 1e3db8a8ba Further work on the new version
- org checks fixed in a lot of places
- fixed the searches to work with the new organisations
2015-04-14 17:51:38 +02:00
Iglocska e0ef372392 Merge branch 'master' into feature/sg
Conflicts:
	app/Controller/EventsController.php
	app/Controller/UsersController.php
	app/Model/Event.php
2015-04-12 10:40:31 +02:00
iglocska 9ccf69f35a User edit fixed
- choose organisation from a list as expected
- fixed refreshauth
2015-04-08 13:10:52 +02:00
Iglocska c9d1badaa3 Organization field in Servers too short to fit valid organisation identifiers, fixes #436
- updated the MYSQL.sql file for future MISP installations
- added admin script to do the update from the web interface
2015-03-17 00:06:59 +01:00
iglocska 92679f6b69 New way to download a single event
- The event export buttons have been unified into a single download as... button
- clicking it loads a popup with all of the export formats
- added snort, suricata, text dump to the export options
- added the option for an extra setting for some exports (such as including non IDS flagged attributes, encoding attachments)
- easily extendable system

- moved the hidden popup divs into the general layout, can be easily reused anywhere

- removed the auth refresh option that was re-enabled recently as it seems to sometimes cause issues

- text exports now allow "all" to be specified as type, which will dump all attribute values that the user can see
- text exports now allow restricting the results based on event id
2014-12-19 13:32:16 +01:00
iglocska 3723119d83 Logging of admin emails and auth refresh
- admin emails now generate log entries
- authentication is refreshed on activity
2014-12-12 10:42:12 +01:00
iglocska 79127902b7 Cleanup, MISP health tool
- cleanup of a lot of deprecated settings
- tool to help assess and alter issues with the instance settings
- new mechanism to store settings
2014-09-10 09:43:22 +02:00
iglocska e7dc801088 Merge branch 'develop' of https://github.com/MISP/MISP into develop 2014-08-19 08:44:39 +02:00
iglocska 63cebad0b7 Merge branch 'hotfix-2.2.36' into develop
Conflicts:
	app/Controller/AppController.php
2014-08-14 17:29:21 +02:00
iglocska 1e6c9e662f Fixes authentication issues for some exports
- some exports did not allow users to authenticate via passing the auth key through the header
2014-08-14 17:26:40 +02:00
iglocska 22c1552bcc SQL scripts, some UI chnages
MYSQL.sql and upgrade_2.3.sql updated
Fixed incorrect proposal counts showing up due to attributes that are flagged for deletion also being counted
Added some extra fields to the view proposal view to make it more useful
2014-08-14 14:45:21 +02:00
iglocska 83d5e191fc Updates to the STIX export 2014-08-04 18:07:15 +02:00
iglocska a4a987e027 More work on the templates
- Templates can now be created and populated
- Users can populate an event using a template (still needs work)
- File type elements are not yet implemented
2014-06-19 08:44:35 +02:00
iglocska 9640dcd4ed Automation authentication via header fixes #254
- Authentication via headers was only allowed if _isRest() returned true
- this only happened for pages returning JSON or XML content

- a new check, _isAutomation() was added that allows authentication via headers for certain methods used by the automation system
2014-04-22 10:36:37 +02:00
iglocska 5990600983 updated message for old browsers 2014-02-12 13:54:13 +01:00
iglocska 3b8f9b9e2b Removal of obsolete stuff
- taking out the trash
2014-02-11 17:39:16 +01:00
iglocska 22c8105f58 Mass replace replace of the old CyDefSig name to MISP - fixes #82 2014-02-05 15:01:26 +01:00
iglocska fc94376f0e Several changes in one (xml version, tag filters for exports)
- xml version now included in the xml exports
- MISP will now check the xml version on all imports related to sync / add MISP XML and try to update the incoming info if it detects an older version

- exports now take tag names as a parameter (affected exports: XML, text, HIDS, NIDS)

- eventtags now correctly get removed when an event is deleted
2014-02-02 18:10:21 +01:00
iglocska 3f65618845 New permission
- tagger: a user that can create / edit / delete the list of tags that is usable for events
2014-01-21 16:59:21 +01:00
iglocska 8b1ca649d2 Changes to the misc admin functions
- cleaned them up a bit, views for results
- removed query() and replaced it with CakePHP find()
2014-01-17 09:53:23 +01:00
iglocska 61753690a1 Changes to the automation
- authorization key should be sent through headers.
- passing it in the url is deprecated
- updated automation page to reflect the changes

- csv export now has headers
2014-01-16 17:19:51 +01:00
iglocska 89c80a8b7c Some security fixes 2014-01-10 13:56:35 +01:00
iglocska 0e744871bd Further work on the scheduled tasks
- Also some changes left off from the previous commit
2013-12-17 11:38:06 +01:00
iglocska f0944ab9b0 Proposal changes Fixes #192
- Contextual comments for proposals
- shows proposal count in the top bar
- new view showing all of the events of the user's organisation with an active proposal
2013-12-12 16:25:20 +01:00
iglocska 50f3fa40d0 Merge branch 'develop' into feature/CakeResque
Also, more work on the background jobs
- started work on publishing
- started making the background jobs an optional setting in bootstrap

Conflicts:
	app/Controller/AppController.php
	app/Controller/EventsController.php
2013-12-04 11:58:01 +01:00
Alexandru Ciobanu 233a30b9fd Basic JSON API CRUD [ci skip]
- adds JSON example to shell scripts
    - adds sample JSON event
    - ??? for some redundant Attribute model conditions
    - updates travis with CakePHP installation
2013-11-14 12:43:31 +01:00
Alexandru Ciobanu fca87bf491 Initial JSON REST
Some small travins changes too.
FYI there's an automated travis build available at
https://travis-ci.org/MISP/MISP
We don't have unit testing and travis setup is subpar so everything will fail
for now.
2013-11-12 16:23:37 +01:00
iglocska fcc7a66a55 More work on the background jobs
- Started work on the exports
2013-11-07 15:58:29 +01:00
iglocska 5ee9cb7f08 Removed debugkit 2013-11-06 11:08:56 +01:00
iglocska 1c3425fc91 Merge branch 'develop' into feature/CakeResque
- develop and the first CakeResque implementation merged

Conflicts:
	app/View/Layouts/default.ctp
2013-11-06 11:02:23 +01:00
iglocska 0f80145c6d :q 2013-11-06 10:52:18 +01:00
iglocska d27ddee207 First rework of the siteadmin role
- ADMIN org removed.

- Siteadmins are now identified by the perm_site_admin flag

- Siteadmins can now be of any organisation

- editing the regexp / whitelist rules can now be done by a special user with the perm_regexp_access in his/her role

- Executing a mass replace of attribute values based on the regexp rules cannot be initiated by a regexp/whitelist user, only by a site admin

- If the login page is reached without any users / roles defined they are automatically created (perviously it was only the user that was created)

- Org admins are restricted from assigning perm_site_admin, perm_sync and perm_regexp_access roles to users. This can only be done by a site admin.
2013-10-03 11:45:27 +02:00
iglocska 6d1dc6df95 First round of implementations for the new API searches
- users can search RESTfully for attributes based on various filtering mechanisms and get either an event that includes the located attribute(s) or just an array of attributes returned.

- users can also request all attributes of a (or several) types and get them returned as an XML
2013-09-19 12:05:08 +02:00
iglocska b7d95ed743 Upgrade script for 2.1.8
- we have introduced the "locked" flag for events to protect events of the original creator from being edited by a sync user

- IMPORTANT: before running the script below, make sure to create the locked field for the event table (see INSTALL/LOCKED.sql)

- This script (generateLocked found in the Administrative tools menu) will attempt to set the locked value for existing events to ease the transition

- The default value for locked is 0, and all events created on the instance should be set to this value

- events that were synced from another instance should have their locked value set to 1

- this script checks for local organisations and sets the locked field to 1 for all events not created by them

- a local organisation, as defined for the scope of this scrips is: an organisation with at least 2 members or an organisation with a single member that is not a sync user.

- The script is only accessible by site admins and will return a notification about the number of events altered.
2013-08-21 11:33:30 +02:00
Christophe Vandeplas 2a8efc5770 minor admin tools improvements 2013-07-12 15:35:00 +02:00
Christophe Vandeplas e328dc948e huge performance increase in generateCount 2013-07-12 14:55:56 +02:00
iglocska 3e9a967188 Removal of some references to the old private flag 2013-07-11 17:25:47 +02:00
iglocska 53675fe3a3 Some UI changes and reattached the regexp for the admin validation tool
- org only events have a redish background in the event index

- org only events and attributes have their distribution level marked in
red
2013-07-11 16:38:39 +02:00
Christophe Vandeplas 7cda2a5dc2 minor change in reportValidationIssueAttributes() 2013-07-11 12:47:46 +02:00
iglocska 0b807a2666 Some cleanup
- removal of references to the old blacklist
2013-07-11 10:47:44 +02:00
iglocska 1f411c74cf Some UI fixes related to the debug/nondebug alignment 2013-07-09 10:05:19 +02:00
iglocska eeac31bee8 Regexp changes, UI changes
- first cleanup of regexp

- some changes left off from the UI changes that were not in the views
themselves
2013-07-04 15:45:11 +02:00
iglocska 8cdf97ff66 ACL checks changed
- until now checkAction was used to check permissions of a user

- but since all of the role permissions are checked beforefilter in
appcontroller and saved into a public array, doing a lookup of the
array saves an SQL call for each permission check.
2013-06-27 17:53:36 +02:00
Christophe Vandeplas 592180700e solves memory exhaustion upon generateCorrelation 2013-06-24 15:18:16 +02:00
iglocska f524f6d2c0 extra access control restriction for reportValidationIssues 2013-06-20 08:53:47 +02:00
Christophe Vandeplas 435c52c457 reportValidationIssues function 2013-06-19 14:51:58 +02:00
Christophe Vandeplas 8fa33f0733 first start of report functions. see issue #122 2013-06-19 12:28:55 +02:00
Christophe Vandeplas 001151adc8 fix incorrect order of checking user info (with REST authkey) 2013-06-12 17:09:03 +03:00
Christophe Vandeplas 68c2fd09fe Merge branch 'develop' of https://github.com/MISP/MISP into feature/sync/timestamp
Conflicts:
	app/View/Attributes/index.ctp
	app/View/Events/add.ctp
	app/View/Events/edit.ctp
2013-06-10 23:00:37 +02:00
iglocska 3c23ac3a86 Change to new distribution
- first stage
2013-06-10 17:33:03 +02:00
Christophe Vandeplas d4d24a3aea peformance 2013-06-08 11:31:22 +02:00
Christophe Vandeplas a4d4964630 UI hide top links when not logged in 2013-06-03 16:37:13 +02:00
Christophe Vandeplas 0fa30912a3 mirated first parts of nice GUI proposed by Alexandru of CERT-EU 2013-05-30 11:14:00 +02:00
Christophe Vandeplas 62a3da46f2 removed useless hop_count 2013-05-22 08:18:34 +02:00
Christophe Vandeplas 73e1053f4e fix rest authentication and further auth clean up 2013-04-29 11:22:46 +02:00
Andras Iklody 0eec208b45 Further changes to the authorisation 2013-04-26 15:46:39 +02:00
Andras Iklody eeaa071024 Removal of the remains of the old authorization / adding new ones where
needed
2013-04-26 14:43:44 +02:00
Andras Iklody 4396cec8ea Integrated ownership, ACL and minor fixes
- Orgs can propose new attributes or changes to existing attributes for
  events that they do not own

- publishing users of the owner organisation can see, accept or discard
  them

- Reworked the access control

- minor fixes
2013-04-25 14:04:08 +02:00
Christophe Vandeplas 8e720f87f2 fix sanitization in AppController #96 2013-04-24 16:01:44 +02:00
Christophe Vandeplas ad6427c225 Merge branch 'develop' of https://github.com/MISP/MISP into develop 2013-04-22 15:27:01 +02:00
Andras Iklody f6dade1e18 Performance tweak
- User/Role not looked up recursively anymore for authorisation checks -
  improves performance significantly. Also, checking perm_add and
  perm_modify instead of doing a lookup in the ACL tables
2013-04-22 14:44:55 +02:00
Christophe Vandeplas bc3921eece new logic to generate correlation, relates to issue #95 . Updated DB
schema !
2013-04-22 10:59:55 +02:00
Andras Iklody 9a1bb61ed5 Small fixes
- Comments about isAdmin vs isSiteAdmin

- Extra config line added to bootstrap.default.php for the built in e-mail
  system
2013-04-16 15:55:33 +02:00
iglocska 32de082c88 New export feature
- To restrict the authentication key from being used by interactive users,
implemented a new export page that uses the uses cake's user
authentication

- the old export features still exist for users with perm_auth enabled
  accounts - renamed to automation

- Exporting the events that found attributes belong to in a search
  attributes result page

- exporting of individual events to file by clicking a link in event view
2013-03-18 11:48:36 +01:00
iglocska aa2340c3f2 Temporary fix for an issue with the ACL 2013-03-15 15:15:10 +01:00
iglocska d5800206e6 Bug fixes
- issues of admin orgs not being able to edit/delete org events

- owner org removed for org admins

- email only visible from own org to org admins
2013-03-13 15:11:49 +01:00
iglocska c86a90dd9f Upgrades to the installation and upgrade process
- Instructions updated

- SQL scripts tidied up of incorrect junk (from export)

- upgrade scripts finish gracefully
2013-03-13 11:42:24 +01:00
iglocska 80967b2ddd Update to generateCount
- generateCount used to just run through all attributes and save them, to
  generate the count. It led to VERY long execution times on larger
  databases (25k+ attributes). With the extra processing that each save()
  does for attributes, this was horribly slow.

- new generateCount just saves the events based on the number of
  associated attributes, only having to save the events (of which there
  are considerably less).
2013-03-12 12:00:49 +01:00
iglocska d9a01197ac More updates to the migration 2013-03-12 11:10:40 +01:00
iglocska 723d87f20d Slight change to generating the ArosAcos
- permission field is not set when roles are read during the ArosAcos
  generation script - needed for generateACL. Fixed.
2013-03-12 10:23:12 +01:00
iglocska eb4283ea9c Highlighting in log searches
- new helper that can be used for highlighting

- highlighting of the search terms in the log search result - index view.
2013-03-11 13:12:48 +01:00
Andras Iklody 32dc28adb9 Update to the admin privileges
- Changed the requirement for a lot of functions to be site admin as
  opposed to admin.
2013-03-05 15:19:58 +01:00
Andras Iklody 01649046c0 Several things (search, migration)
- Changes to the default setting for non private events after migration

- search attribute update to be able to exclude events
2013-02-27 17:15:09 +01:00
Andras Iklody a735822ca1 Updated the migration script (SQL)
- Script updated based on the issues during testing

- Changed the file upload/downoad mechanism.
2013-02-27 15:24:38 +01:00
Andras Iklody 341814a1d4 Some updates to the migration script
- Getting it up to date
2013-02-22 14:42:22 +01:00
Andras Iklody fad8e809ad Minor changes
- some changes to the access control

- re-renabled regexp and blacklists, will need a closer look though

- editing a role should update ACL

- some other minor things
2013-02-21 17:24:41 +01:00
Andras Iklody 0f947085cb Reworked the sync / release control
- Fixed issues with the sync
	- Secondary publishes on remote servers failed
	- Introduced new fields in events to stop backward traverse of
	  edit information that lead to low performance and eroneous
	  distribution information updates when more than 2 servers were
	  linked
	- Deletion of an attribute now deletes on remote servers

- Changes to the event ownership
	- Original creator org now noted in the event itself
	- Only original creator org can change distribution
	- Events will show up with the original creator org for users
	  (admins can see both that and the owner of the event on the
	  local instance)
	- Server.organization now used in junction with the connecting
	  user's org and the instance's org (from the bootstrap) to
	  determine distribution flow control and access rights

- Lots of minor changes
2013-02-19 15:37:35 +01:00
Andras Iklody e88a3a9cf7 Updates to security
- perm_auth new toggle, can disable auth key usage for a role

- prevents sync / rest with a perm_auth == false key

- some changes to sync to provide better feedback on why it failed

- rewording of distribution options
2013-02-06 17:45:43 +01:00
Andras Iklody e976242878 Reworked aros_acos creation
- moved and fixed the aros_acos creation on the new role creation

- new method in appController that sets all the aros_acos from scratch
  (for example for a new instance, or a changed acos / aros table)

- some minor changes, redirects to the terms page on invalid events
  removed, etc.
2013-02-05 17:22:37 +01:00
Andras Iklody 7f6f166838 Fixes to access rights, some sanitization, etc
- Admins cannot manually change anyone's authkey, they need to generate a
  new one via the reset link

- Some pages could be accessed by changing the url - fixed (though needs
  further testing)

- Edited a change in the manual that may have been confusing

- Some changes to the way ACL is set up - still needs more work
2013-02-04 17:55:35 +01:00
Noud de Brouwer 01c0dc0e71 RBAC
org admin and RBAC admin.
2013-01-24 10:35:59 +00:00
Noud de Brouwer a9a1bc91a1 AdminCrud and coding standard
more AdminCrud and coding standard clean up.
2013-01-04 15:48:46 +00:00
Noud de Brouwer 547a80ba7d Sanitize
Sanitize countermeasures.
2012-12-19 15:28:31 +00:00
Noud de Brouwer 534948efad Sanitize
Sanitize countermeasures.
2012-12-19 12:56:42 +00:00
Noud de Brouwer 95158d2ef3 Sanitize
Sanitize countermeasures.
2012-12-19 12:42:38 +00:00
Charlie Root e474b8e189 generateAllFor<FieldName>
conflicts with CAKE/Model/Model::_call() so no findBy<FieldName>.
(and various very minor other things.)
2012-12-19 10:30:10 +00:00
Noud de Brouwer d89ab91dee coding standards
Coding Standards.
2012-12-18 16:44:07 +00:00
Noud de Brouwer 8864ee78f7 generateAllFor<FieldName>
so we can use an URL like:
http://localhost/<TableName>/generateAllFor<FieldName>/newValue/oldValue
for example:
http://localhost/events/generateAllForAnalysis/0/null
http://localhost/users/generateAllForInvitedBy/1/0
http://localhost/users/generateAllForRoleId/1/0
2012-12-18 03:50:52 +00:00
Andras Iklody 1ceadab700 Added features from branch analysis_levels
-Analaysis levels setable for events as per milestone item 94
-Password change forced as per milestone item 109
-Added feedback on entered search terms for search attributes
-fixed the authentication issue
-some minor fixes
2012-12-17 15:51:30 +01:00
noud 26c8ad57ee Role
renamed everything group to role (i.s.o. renaming just the visable).
2012-12-12 16:15:01 +01:00
noud 52a7625a9d Source Code Review
sanitize everything displayed from the db.
(and some small coding standard whitespaces)
2012-12-12 14:01:00 +01:00
noud 8119d26d35 RBAC and Roles
did add Acl Admin and Audit.
2012-12-11 17:40:57 +01:00
noud 75dfba2ae1 sync
have sync option in role.
and only display the Sync Actions when sync option or admin.
(still has to be disabled if role is below manage org events.
2012-12-07 15:00:40 +01:00
noud 1bd14256e0 coding standards
correction conform conding standards.
2012-12-04 09:07:33 +01:00
noud c6bdf794c1 db
spit generatePrivate into attr and event part (given long runtime).
2012-11-29 15:10:18 +01:00
noud d2ab860ff2 distibution
generatePrivate conform new distribution.
2012-11-28 16:34:36 +01:00
noud 889492629e distibution
add generateHop to migratemisp11to2.
(generatePrivate should still be looked at.)
2012-11-28 14:30:29 +01:00
noud 324d58d532 distribution
generate hop count.
2012-11-28 13:19:20 +01:00
noud 80571386ad audit log & terms
do not handle a timed out user log.
and
better check on login and termsaccepted.
2012-11-26 10:50:23 +01:00
noud 7c878af986 terms
slight better formulated AppController::beforeFilter()
2012-11-20 08:42:32 +01:00
noud 7a0068936a terms
slight better formulated AppController::beforeFilter()
2012-11-19 15:40:26 +01:00
noud fdd999ef35 correlation
fixed correlations being double accounted.
2012-11-15 15:53:07 +01:00
noud 4f234d1d46 terms
take 2, for a user must accept terms.
2012-11-15 13:50:20 +01:00
noud 8d2e665ceb terms
reverted just done commit
(Can't use method return value in write context ).
2012-11-15 13:24:34 +01:00
noud 8125c0c938 terms
check for user logged in (if not a server looks total stalled).
2012-11-15 13:23:08 +01:00
noud ea0ab59e4f code standards
corrections toward code standards.
2012-11-14 17:16:36 +01:00
noud 6b06ba7ff6 count & GFI Sandbox
count # attributes in events index.
plus various fixes for distribution in correlation of a GFI Sandbox
upload.
2012-11-14 16:14:04 +01:00
noud c599c2c23e GFI Sandbox
files having size 0 are not md5 summed in CakePHP.
2012-11-14 15:12:19 +01:00
noud 3a84ffb59f terms
user must accept terms.
2012-11-14 10:52:53 +01:00
noud 723ef6c3d1 correlation
respect distribution Org in correlations.
(for this
add correlations.1_private conform MYSQL.correlaton.sql
and
AppController::generateCorrelation() must be run)
2012-11-13 14:13:38 +01:00
noud 4cc6b8055f RBAC
now should be okay on the checkGroup.
(mind, we have a PHP 5.3.10 (dev) and 5.2.10 (f.a.) difference.
for CakePHP should be php > 5.2.8, pear > 1.9.0 and phpunit 3.5.0)
2012-11-08 15:28:21 +01:00
noud c722205ddf RBAC
check if $user exists, if no, not logged in.
2012-11-08 15:12:20 +01:00
noud 91f96427db RBAC
//$user =
ClassRegistry::init('User')->findById($this->Auth->user('id'));
$this->loadModel('User');
$user = $this->User->findById($this->Auth->user('id'));
2012-11-08 14:36:27 +01:00
noud a2bc237bcd RBAC
should now respect Manage, so also edit, own and org events.‏
2012-11-08 14:09:52 +01:00
noud f56cb25bed Merge branch 'master' into develop 2012-10-25 15:23:22 +02:00
noud 05085533de blackhole
full out-commented.
2012-10-25 15:16:19 +02:00
noud fa86316747 blackhole
revert the commit, this screws CSRF
(thanks to Christophe for noticing)
2012-10-24 17:16:12 +02:00
noud eae89d95cd Private.
Add "Pull only" as a sharing state where,
everybody does see an event, is pullable,
but will never be pushed.

Has a generatePrivate for db conversion now.
2012-10-18 11:40:12 +02:00
noud 67e50cb612 Private
Private events are true private and
running a server in 2 modes (private and sync),
so real private (red) or private to server (amber)
or full distributable (green).

Mind this needs a change to tables events, attributes and correlation.
These are in MYSQL.private.sql.
2012-10-17 14:45:26 +02:00
noud bf4e46da8f Merge branch 'master' into develop 2012-10-17 13:26:16 +02:00
noud 899ef6300b blackhole
i have an idea this blackholeCallback seems to overcome a lot of
blackhole situations we got.
Notably during deleting multiple events from the index,
this improved not getting a blackhole a lot.
2012-10-17 13:00:50 +02:00
noud ec0892a6ad Merge branch 'master' into develop
Conflicts:
	app/Config/bootstrap.php
2012-09-25 15:54:25 +02:00
noud 18fb8a7a64 CakePHP
Update from CakePHP to version 2.2.2
as well as needed patch files.
2012-09-25 15:41:58 +02:00
noud 8f3d624c1a Merge branch 'master' into develop
Conflicts:
	app/Controller/AppController.php
	app/Controller/AttributesController.php
	app/Controller/EventsController.php
	app/Controller/ServersController.php
	app/Controller/UsersController.php
	app/Model/Attribute.php
	app/Model/Event.php
	app/Model/Server.php
	app/Model/User.php
	app/View/Attributes/edit.ctp
	app/View/Attributes/index.ctp
	app/View/Elements/actions_menu.ctp
	app/View/Events/add.ctp
	app/View/Events/index.ctp
	app/View/Events/view.ctp
	app/View/Events/xml/view.ctp
	app/View/Servers/index.ctp
	app/View/Users/admin_index.ctp
2012-09-24 16:02:01 +02:00
noud 8179a1a691 Merge and code standards.
Forgot to clean View/Helper/AppHelper.php.
Changed underscore method names to private and protected where
appropriate given phpcs code standards errors.
2012-09-24 09:02:09 +02:00
noud 1d04652476 CakePHP Coding Standards
changed to camel caps format where needed.
2012-09-19 11:05:10 +02:00
noud 94a367c2f5 CakePHP Coding Standards
http://book.cakephp.org/2.0/en/contributing/cakephp-coding-conventions.html

Eclipse:
Window->Preferences
	General->Editors->Text Editors
		Displayed tab width:	4
		Insert spaces for tabs	NOT
	PHP->Code Style->Formatter
		Tab policy:	Tabs
File->Convert Line Delimeters To->Unix [default]

http://mark-story.com/posts/view/static-analysis-tools-for-php
for instance:
phpcs --standard=CakePHP app/Model/

Not yet done is all camel caps format.
2012-09-18 15:30:32 +02:00
noud 253d8e1b58 Merge branch 'master' into develop
Conflicts:
	app/Controller/EventsController.php
	app/Model/Attribute.php
	app/View/Events/view.ctp
2012-09-17 13:02:53 +02:00
noud 2dea0e347d Correlation performance gain.
in Config/bootstrap.php add
Configure::write('CyDefSIG.correlation', 'sql');

possible values: 
- default, like it was
- db, correlation in database
- sql, selection on attributes i.s.o. per attribute
  (sql improvement possible if result conform db above)

Network activity, ip-src
30 class-C network ip addresses
(7650 tupels) (time in ms)

          default     db    sql
all         25366  16601  15941
            24839  16604  15611
paginated   16759   8447   6615
            17734   8639   8846

this is used in both:
- events/view/<id>
- attributes/event/<id>
2012-08-03 12:00:16 +02:00
Andrzej Dereszowski 3ff180e898 Merge branch 'develop_0.2.2-0.2.3' into develop
Conflicts:
	app/Config/Schema/schema_0.2.2.php
	app/Config/routes.php
	app/Controller/AppController.php
	app/Controller/UsersController.php
	app/Model/User.php
	app/README.txt
2012-07-24 16:09:48 +02:00
noud 78f629e6dd Redo Event.user_id 2012-07-19 14:52:27 +02:00
deresz 50e3566f3a Some modifications to category/attribute matrix. MISP database is now compatible for sync with CyDefSIG. 2012-07-04 11:28:40 +02:00
noud 66c5312ea6 DataBase migrate, Audit and Access Control granulation. 2012-06-28 17:24:12 +02:00
root b4558887ce Revert "Audit and ACL first cut."
This reverts commit 5818231f48.
2012-06-26 09:40:52 +02:00
noud 5818231f48 Audit and ACL first cut. 2012-06-25 15:54:52 +02:00
Christophe Vandeplas 3996edca45 first migration script for misp0.2 to misp1.0 (not finished) 2012-06-14 11:03:43 +02:00
Christophe Vandeplas 5eb6a89384 removed reference to useless user_id.
fixed bug where Contact reporter doesn't work when user does not exist
(contact reporter now sends mails to all the org)
2012-06-08 16:57:10 +02:00
Christophe Vandeplas 6e9ab97791 implementation of a anti-brute-force password guessing mechanism. 2012-06-06 11:00:02 +02:00
Christophe Vandeplas fa167bc2c8 . 2012-05-04 14:47:50 +02:00
Christophe Vandeplas 6e9f0f0d24 split value to value1 and value2.
You need to update the DB schema and run /events/migrate02to021 to
migrate the data
2012-04-25 13:17:44 +02:00
Christophe Vandeplas a2d073b7b9 REST POST of event and signatures works (basics, no error-handling) 2012-04-10 15:47:42 +02:00
Christophe Vandeplas c2975a77a4 Allow saving of data using REST API 2012-04-07 08:31:01 +02:00
Christophe Vandeplas fb958eaacc Logging in for REST using Authorized HTTP header field. 2012-04-06 16:32:33 +02:00
Christophe Vandeplas a45b70bc8d Add, edit, delete and (basic) Manual Sync server functionality added 2012-04-04 20:22:22 +02:00
Christophe Vandeplas 98402c0faa Fix admin routing 2012-03-27 09:31:41 +02:00
Christophe Vandeplas 5657a9dd10 Added a migrate() function to generate uuid for events and attributes
that didn't have an uuid
2012-03-26 20:25:45 +02:00
Christophe Vandeplas 7c4394682d Renamed Signature to Attribute 2012-03-26 19:56:44 +02:00
Christophe Vandeplas ce0c0aba0e isAuthorized now handles permissions on admin,delete,edit,... actions 2012-03-20 14:57:52 +01:00
Christophe Vandeplas 865a24d0bd Migration to CakePHP 2.1.
Most of the functionality migrated, Q&A review required.
2012-03-15 15:06:45 +01:00