MISP migration and 2.4 to 2.5 upgrade

Moving a MISP instance off end-of-life 2.4, rebuilding it on new servers, or bringing events and indicators in from another threat intelligence platform while keeping sharing settings intact.

On this page

What a MISP migration or upgrade involves

Three situations turn MISP work into a one-time migration or upgrade project: MISP 2.4 is end of life and receives security fixes only, the instance must move to a different server or hosting environment, or the team is consolidating events and indicators from another threat intelligence platform. Each one changes the database, the configuration or the data itself, so it needs a plan, a rehearsal and a defined cutover. Routine patching of a supported 2.5 instance does not.

A patch on a running 2.5 instance usually keeps the same server, database and sync relationships. A 2.4 to 2.5 upgrade, a rebuild on new hardware or an import from another platform can change all three. Organizations, user roles, sharing groups, distribution levels and sync partner settings must behave the same after the move. A sync path may stop exchanging data without an obvious error, so verify each feed and sync connection after cutover.

MISP 2.5 is the recommended version for new deployments, and the project strongly advises against installing new 2.4 instances. The download page lists an upgrade script for Ubuntu, recommends 2.5 on Ubuntu 24.04 with the provided installer, and also lists Docker images, Ansible roles, Puppet and RPM packages. Release 2.5.47 introduced a new database migration system with PostgreSQL support, so confirm your target version and any schema changes in the release notes before scheduling work.

In-house teams can do this work if they have a Linux administrator with MySQL or MariaDB experience, a rehearsal environment and time to test sync and feed behavior. A partner is most useful when the scope includes several sync partners, custom modules or an import with sharing rules to preserve. The right choice depends on the scope written into the plan, including the number of sync paths, integrations and data sources involved.

What the work includes

Six workstreams take the instance from planning to a verified cutover. The work produces a migration record, a verification report and a rollback plan that the client keeps.

Target platform and installation

Choose the installation method the team will operate: the Ubuntu installer, Docker images, Ansible roles, or Puppet or RPM packages. The project recommends MISP 2.5 on Ubuntu 24.04 with its installer. Confirm the operating system, PHP, MySQL or MariaDB, Redis and TLS setup before the rebuild, and record each choice in the migration record.

Upgrade path and database choice

MISP 2.4 is end of life and receives security fixes only, so moving to 2.5 is a planning requirement. The project provides an upgrade script for Ubuntu. MISP 2.5.47 introduced a new database migration system with PostgreSQL support, so confirm whether the instance stays on MySQL or MariaDB or moves to PostgreSQL, and test the chosen path on a copy of the data first.

Organizations, users and roles

Map each organization, local user, role and API key owner from the source instance to the target. Decide which accounts move and which are recreated, and confirm that each organization keeps its host and sharing identity. Check that role permissions match the access model, then log counts and exceptions in the migration record.

Events, attributes and tags

Move events with their attributes, objects, tags, galaxies and sightings, then compare counts and sampled records against the source. Taxonomy and galaxy versions on the target should match what migrated events reference. Keep original event identifiers where possible so references and sync remain intact. Results go into the verification report.

Sharing groups and sync connections

Rebuild sharing groups with the same members and distribution levels, then reconnect push and pull sync partners. Confirm each partner's certificate, API key and filtering rules before enabling sync. Pause sync on the source during cutover to prevent duplicate or conflicting events, and document each connection in the runbook.

Cutover, rollback and handover

Agree a cutover window with sync partners, freeze changes on the source, run the final data load and verification, then switch DNS or the reverse proxy. Keep the source readable and the rollback plan tested until sign-off. The handover runbook covers backups, upgrades, sync and restore steps.

What drives cost and duration

The table lists the factors that most change the effort of a MISP migration or 2.4 to 2.5 upgrade, why each one matters, and how to keep it under control before work starts.

DriverWhy it mattersHow to keep it down
Events and attributesEvery event and attribute must be exported, transformed where needed, imported and checked. Large volumes lengthen export, import and correlation rebuilds.Set a retention or age cutoff with the threat intelligence owners. Archive old events that are no longer needed for analysis, and confirm the counts from the source before scoping.
Organizations and usersEach organization, user, role and API key must map correctly to the new instance. Mismatched roles can expose data to the wrong group.Export a current inventory of organizations, roles and sharing groups. Remove dormant accounts and agree the target role model before migration testing starts.
Sync partners and feedsSync connections and feed settings usually need to be re-established and tested with each partner, and partner-side changes may be needed.List every partner, push and pull direction, and distribution rule. Ask partners early to confirm their endpoints, keys and availability windows.
Custom objects, taxonomies and galaxiesCustom objects, local taxonomies and galaxy clusters may not carry over unchanged and can break correlation, exports or integrations after the move.Inventory every custom component and its version. Check each one against the target 2.5 release and remove unused items before migration.
Dependent SIEM and IDS integrationsExports consumed by SIEM, Suricata, Snort, Zeek or RPZ pipelines must keep the same format, field names and schedules, or detections may silently stop.List each consumer, export format, endpoint and schedule. Test each one against the new instance and keep the old export running until the cutover is confirmed.
Age and customization of the starting installationAn older 2.4 instance with local patches, custom PHP or manual database changes needs more analysis and more testing than a standard installation.Record the installed version, operating system, PHP and database versions, and every local change. Compare the installation against a clean build before planning the upgrade path.
Export quality of the source platformWhen moving from another threat intelligence platform, incomplete fields, inconsistent types or missing sharing metadata add mapping and cleaning work.Sample exports from the source and check field coverage, timestamps, distribution values and tags. Agree the mapping rules in writing before bulk import.
Number of environments to verifyEach environment, including test, staging and production, needs its own install, data load, sync test and sign-off, which multiplies verification effort.Agree which environments are required and which can be shared. Keep test data representative so one verification pass can cover several environments.
Compliance evidence requiredSome programs require documented change records, access reviews, backup restore tests and retained logs. Producing this evidence adds documentation and testing steps.Ask the assessor or internal audit team which evidence they expect before scoping. DeployOpen prepares the evidence, while independent auditors and certification bodies assess it.

Project phases and outputs

The sequence moves a MISP instance onto a supported 2.5 deployment while keeping sharing relationships, data and integrations intact.

  1. Inventory the current instance

    DeployOpen engineers record the MISP version, operating system, database and Redis versions, PHP modules, plugins, custom objects, taxonomies, feeds, users, organizations and API keys in use. The output is a written inventory that marks each item to keep, change or retire. The phase is complete when your team has reviewed and approved the inventory.

  2. Map sync and sharing relationships

    Every sync partner, push and pull direction, distribution level, sharing group, filtering rule and community connection is documented. The output is a sharing map that shows which events and attributes leave your organization and who receives them. Partners are confirmed against the map before any setting changes, so sharing behavior can be checked later.

  3. Design the target and build staging

    The target MISP 2.5 layout is designed, covering server sizing, database choice, authentication, roles and the installation method your team prefers. The staging build follows that design, and the project's current download guidance for 2.5 and its recommended Ubuntu release are confirmed before installation. The output is a smoke-tested staging instance and a configuration record.

  4. Rehearse the data migration

    A copy of production data is migrated to staging, and the run is repeated until the steps, timings and exceptions are understood. Failed records, schema changes and events needing manual handling are logged. The project's upgrade script is one input to the runbook, and the rehearsal confirms what it changes in your data. The output is a rehearsal log and a corrected runbook.

  5. Validate sharing and integrations

    The staging instance is checked against a written checklist covering event and attribute counts, distribution levels, sharing group membership, sync pushes and pulls, correlation results, feeds, API key behavior, taxonomies, galaxies, and each SIEM, IDS or SSO integration. The output is a signed checklist with every failure resolved or formally accepted. Each item has a named owner.

  6. Cut over with partner notification

    The cutover window is agreed with your team, sync partners and community contacts are notified in advance, and traffic and sync endpoints are switched to the new instance. The output is a signed-off cutover plan containing the partner notice, contacts and rollback steps. The rollback steps are rehearsed in staging before the window opens.

  7. Monitor and hand over

    Logs, sync status, background job queues, error rates and integration feeds are watched after cutover, and issues are fixed as they appear. Runbooks, configuration records, access lists and the upgrade procedure are handed to your operations team. The phase closes when the handover pack is accepted in writing and alert ownership has moved to your team.

What to keep in-house and what to outsource

This table shows which parts of a MISP migration and 2.4 to 2.5 upgrade usually stay with your own staff because they are business or policy decisions, which parts are commonly outsourced as technical delivery, and which skills each part requires, so you can judge where a partner adds value.

Work partUsually kept in-houseUsually outsourcedSkills required
Event and attribute retentionDeciding which historical events, attributes and sightings are worth keeping, archiving or dropping during the moveMapping retention rules into migration scripts and reporting what was excludedThreat intelligence analysis, data governance
Organization and role ownershipConfirming who owns each organization, who administers it and which roles map to which peopleBuilding the organization and role model in the new instance and checking user access after cutoverMISP administration, identity and access management basics
Sharing rules and distributionSigning off on distribution levels, sharing groups and what may leave the organizationConfiguring sharing groups and distribution defaults as approved, then testing that they behave as specifiedMISP permission model, information sharing policy
Sync partner agreementsAgreeing which partners and communities sync, under what terms, and who approves new connectionsReconfiguring sync servers, testing push and pull after upgrade and documenting the connection settingsMISP synchronization, TLS and API key handling, Linux administration
Installation and platform buildApproving the target host, Ubuntu release, and change windowInstalling MISP 2.5 on the agreed platform, including the web server, PHP, database and Redis componentsLinux administration, PHP, CakePHP, MySQL or MariaDB or PostgreSQL knowledge, Redis
Data migration scriptsReviewing sample records and approving the field mapping from the source platform or old instanceWriting and running import or export scripts, including PyMISP-based transfers where they fitPyMISP scripting, Python, MISP JSON and STIX data models, database knowledge
Validation and acceptanceDefining the test cases that prove the data and sharing behavior are correct and signing acceptanceRunning reconciliation checks on counts, correlations, tags, and sync results before go-liveThreat intelligence analysis, SQL, PyMISP scripting
Cutover runbook and rollbackDeciding the cutover timing, communication to sync partners and go or no-go authorityWriting the step-by-step runbook, rehearsing it and documenting rollback to the previous instanceLinux administration, database backup and restore, operational change management

What usually goes wrong

Most MISP migrations fail in places that look routine: sharing settings, sync connections, imported relationships and cutover steps. Each risk below has a check to run before the new instance serves users or partners.

Sharing groups and distribution levels shift

During a rebuild, distribution levels and sharing group references can be reassigned or dropped, which can expose restricted events or hide them from the partners who need them. Before cutover, export every event and attribute with its distribution level and sharing group UUID from the old instance. After import, compare those counts and values, and confirm each sharing group's organization membership matches the source.

Sync partners stop receiving events

A rebuilt instance often gets a new URL, certificate, API key or instance identifier, and partner servers that still point at the old settings silently stop pulling or pushing. Plan a coordinated change with each partner that covers the new endpoint, credentials and any identifier changes. Run a test push and pull with every partner before the old instance is retired.

Imports lose relationships and tags

Moving events from another threat intelligence platform can flatten links between events, drop tags, or map source fields to the wrong MISP attribute types. Write a field mapping that covers attributes, objects, tags, taxonomies and timestamps before importing anything. Load a representative sample and verify that object relationships and tags survived, and record what the importer does not carry over.

Plugins and customizations break on 2.5

Custom objects, taxonomies, galaxies, enrichment modules and PyMISP scripts written for 2.4 may fail or behave differently on 2.5. Inventory every customization and plugin on the old instance, then test each one on a staging copy running the target version. Confirm each plugin supports the 2.5 branch before cutover, and keep a list of anything that needs rework or removal.

Database migration fails on large datasets

Schema migrations on a large MISP database can run far longer than expected or stop partway when disk space runs short. Rehearse the migration on a copy of production data sized like production, and measure its duration and free disk space at each step. Check the migration system and database engine support in the exact release you plan to deploy, since 2.5.47 introduced a new migration system with PostgreSQL support.

Cutover without a tested rollback

Teams that switch traffic to the new instance without a rehearsed return path often discover that sync partners, users and feeds cannot be pointed back in time. Keep the old instance and its database backup restorable, and write down the conditions that trigger a rollback along with the steps. Rehearse the rollback on staging, including repointing sync partners, before the production cutover.

How the work differs by starting point

This path keeps the existing server and data and moves a running MISP 2.4 instance to 2.5 on Ubuntu using the upgrade script the project provides. The main risk is that the instance carries years of configuration, so the scope is mostly about preserving it.

  • Scope: Confirm the Ubuntu release is one the project supports for 2.5, which the download page lists as Ubuntu 24.04, and plan an OS upgrade first if it is not.
  • Scope: Review custom modules, enrichment services and any local changes to the application tree, since the script will not know about them.
  • Verify: Take a tested database backup and a configuration export before the run, and confirm you can restore both.
  • Verify: Check sync partners, feeds and scheduled tasks after the upgrade, and confirm that roles, organizations and sharing groups still match your policy.
  • Confirm: Ask the team that runs the instance whether the database migration system introduced in the 2.5 release line affects any custom schema changes.

What you need to provide

Start with three inputs that make every later step safe: a current backup, an inventory of what the instance holds, and read access to the existing system. The backup should include the database and attachment files, and it should be restored once on a separate host before any migration step begins. The inventory lists organizations, users, sync servers, feeds, enabled modules, and any custom objects or taxonomies. Read access to the instance and its configuration lets us compare settings with the new build. The platform owner signs off on the backup, and the security lead approves the scope of read access.

Some decisions cannot be delegated to the implementation team. Each organization needs a named owner who confirms which events and attributes are kept, archived, or dropped, and who approves changes to that organization's data. Sharing rules need a decision too: distribution levels, sharing groups, and any sync filtering that should carry over to the new instance. The information security lead usually signs off on sharing and retention rules, and each organization owner signs off on their own data. Record these decisions in writing before cutover, because an undocumented rule is hard to reproduce.

Sync partners and feeds depend on the instance staying reachable and consistent. Provide a list of every sync partner and feed, with a named technical contact for each and whether the connection is push, pull, or both. Provide a staging environment that matches production closely enough to test the 2.4 to 2.5 upgrade or the rebuild, including the same modules and integrations. The maintenance window must be agreed with partners in advance. Confirm the window length with your operations team, and get each partner contact to acknowledge the window in writing.

If events are coming from another threat intelligence platform, provide that platform's exports and the field mapping you expect. The exports should keep original identifiers, timestamps, sharing markings, and tags, because these determine how records are rebuilt in MISP. Confirm with the owner of the source platform that the exports are permitted and complete. The data owner and the security lead sign off on the mapping before any production import runs.

Common questions about MISP migration and upgrades

Can our team upgrade MISP from 2.4 to 2.5 without outside help?

Yes, many teams can, if they have Linux administration skills, a tested backup and a staging copy of the instance. The MISP project provides an upgrade script for Ubuntu, and it recommends MISP 2.5 with its installer on Ubuntu 24.04. The steps that cause the most trouble are custom modules, sync connections, and database and PHP compatibility. Check the release notes for your exact starting version before you begin, and write a rollback plan that you have rehearsed.

What makes a MISP migration take longer or cost more?

The main drivers are the size of the database and attribute count, the number of sync partners and feeds, and the number of custom modules or SIEM and IDS integrations that must be retested. Cost also rises when the source server is end of life, when the operating system or database changes, or when events come from another threat intelligence platform and need field mapping. Change windows and the number of staff who must validate analyst workflows add time. Ask any quote to itemize these drivers so you can see which ones it assumes.

Do sharing groups and distribution settings survive a MISP rebuild?

They can, but only when the rebuild restores the database and configuration deliberately. Organizations, sharing groups, roles, distribution levels and sync server settings are stored in the instance, so a restore that carries them over keeps them intact. Confirm that event and organization UUIDs, and sync credentials, survive the move, since sync partners may need to accept new keys. Test this in staging by comparing a sample of events, sharing groups and a sync pull before cutover.

What do we need to provide for a MISP migration engagement?

You need a named technical owner, administrator access to the current server, and a current, restorable backup. The engagement also needs an inventory of sync partners, feeds, custom modules and integrations, plus approval for a change window. Analysts or threat intelligence leads should be available to check that sharing and workflows behave as expected after cutover. Agree on these responsibilities in the written scope so that delays in access or review are visible and tracked.

Can a partner take over a live MISP instance safely?

Yes, a partner can take over a live instance, but the handover needs defined access, a read-only review, and a written runbook before any change is made. Typical steps include credential rotation, a parallel run on a copy, and an agreed cutover window. The impact on users and sync partners depends on the design and the change window, so ask for those details in writing rather than assuming the handover is invisible to users. Acceptance criteria should be listed in the scope.

Why do DeployOpen engagements use a fixed-scope written quote?

Most DeployOpen engagements are fixed-scope, with the scope, deliverables and timelines agreed in writing before work starts. A migration has unknowns such as data volume, custom code and the number of sync partners, so the written scope states those assumptions and the process for a change request if they prove wrong. This gives both sides a clear reference for what is included, what is excluded, and what must be decided first. Ask that the quote list exclusions explicitly.

How DeployOpen runs MISP migrations

DeployOpen plans, builds, documents and supports self-hosted MISP inside your own infrastructure, including moves from MISP 2.4 to 2.5, rebuilds on new servers and imports from other threat intelligence platforms. The work is scoped in writing first so sharing settings and organization data are accounted for before any cutover begins.

How we scope

  • The written scope lists which instances, events, attributes, feeds and sync partners are included in the migration or upgrade.
  • We inventory organizations, roles, sharing groups and distribution levels so existing sharing settings can be verified after the move.
  • Scope names the source platform, target MISP version and the database and web server stack that will be used on the target.
  • Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts.

How we build

  • We stand up the target MISP instance in your environment, following the installation method you approve, and test it before any data is moved.
  • Source data is exported and imported in stages, with counts and sample records compared against the original instance.
  • Sharing settings, sync connections and authentication configuration are rebuilt and checked against the documented inventory.
  • Integrations such as SIEM exports, PyMISP scripts and SSO are re-tested on the new instance before cutover is approved.

How we hand over

  • You receive runbooks covering the cutover steps, rollback steps and the configuration decisions made during the work.
  • Migration evidence, including record counts, validation results and the list of changed settings, is delivered as documentation.
  • We walk your administrators through the target instance so they can operate it, check sync status and apply routine updates.
  • Open items, such as sync partners that need to reconnect or feeds that need new keys, are recorded with owners named.

How we support

  • Ongoing support and upgrades are available as a retainer after handover, covering patching and later MISP release upgrades.
  • Retainer scope is agreed in writing and can include testing of upgrades against your modules, feeds and sync partners.
  • Support covers the MISP instance and related components in your infrastructure, with the boundaries set out in the agreement.
  • Before committing to a support model, confirm with your team how sync partners and feed owners will be notified during maintenance windows.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.