Wat is OPC Classic?
OPC Classic is de verzamelnaam voor de oorspronkelijke OPC-specificaties (OLE for Process Control), waaronder OPC DA, OPC HDA en OPC A&E, die via Microsoft COM/DCOM procesdata, historische data en alarmen uitwisselen tussen automatiseringssystemen op Windows. De eerste specificatie verscheen in 1996 en maakte een einde aan de situatie waarin elke SCADA- of HMI-leverancier een eigen driver moest schrijven voor elke PLC. In veel bestaande installaties draait OPC Classic nog steeds, maar de opvolger OPC UA neemt het stokje over vanwege platformonafhankelijkheid en ingebouwde beveiliging.
🧠 Waar komt OPC Classic vandaan?
Halverwege de jaren negentig had industriële automatisering een driverprobleem: tien softwarepakketten en tien merken besturingen betekenden in theorie honderd koppelingen. Een groep leveranciers besloot daarom één standaardinterface te definiëren op basis van de Microsoft-technologie die toen overal op het bedieningsstation draaide: OLE en COM. In 1996 verscheen Data Access 1.0 en werd de OPC Foundation opgericht om de specificaties te beheren en producten te certificeren.
| Jaar | Gebeurtenis |
|---|---|
| 1996 | Eerste specificatie (Data Access 1.0) en oprichting van de OPC Foundation |
| Eind jaren negentig – begin jaren 2000 | Uitbreiding met Alarms & Events, Historical Data Access en een reeks kleinere specificaties |
| 2003 | OPC DA 3.0, de laatste grote revisie van Data Access |
| 2011 | De afkorting OPC gaat officieel Open Platform Communications betekenen |
| 2021–2023 | Microsoft verscherpt in drie fasen de DCOM-authenticatie (KB5004442), met directe gevolgen voor OPC Classic over het netwerk |
Omdat de naam OPC tegenwoordig vooral voor OPC UA staat, wordt de oudere familie achteraf OPC Classic genoemd.
🔧 Uit welke specificaties bestaat OPC Classic?
De OPC Foundation onderscheidt drie kernspecificaties. Elk heeft een eigen COM-interface en dus ook eigen servers en clients:
| Specificatie | Inhoud | Typisch gebruik |
|---|---|---|
| OPC DA (Data Access) | Actuele waarden met tijdstempel en kwaliteit (good, bad, uncertain) | SCADA- en HMI-schermen, realtime uitlezen van tags |
| OPC HDA (Historical Data Access) | Opvragen en aggregeren van historische, getimestampte data | Rapportages en analyses uit een historian |
| OPC A&E (Alarms & Events) | Alarm- en eventberichten inclusief status en bevestiging | Centrale alarmlijsten en alarmafhandeling |
Daarnaast bestonden onder meer OPC XML-DA (Data Access via SOAP/XML, een eerste stap weg van DCOM), OPC DX (data-uitwisseling tussen servers), OPC Batch, OPC Security en OPC Complex Data. Die zijn in de praktijk veel minder verspreid geraakt dan DA, HDA en A&E.
🔄 Hoe werkt OPC Classic technisch?
OPC Classic volgt een client-serverarchitectuur. Binnen een lokaal Windows-netwerk is het snel en breed ondersteund:
- OPC-server - vertaalt het eigen protocol van een PLC, DCS of veldnetwerk naar de standaard OPC-interface. Een bekend voorbeeld is Kepware, dat met één server honderden apparaattypen ontsluit.
- OPC-client - een SCADA-pakket, HMI, historian of MES-koppeling die waarden leest, schrijft of zich abonneert op wijzigingen.
- Lokaal versus remote - draaien client en server op dezelfde machine, dan praten ze via COM en is er geen netwerkconfiguratie nodig. Staan ze op verschillende machines, dan loopt het verkeer via DCOM.
- Browsen - de service OpcEnum geeft een client een lijst van de OPC-servers die op een machine geïnstalleerd zijn.
DCOM gebruikt eerst de RPC Endpoint Mapper op TCP-poort 135 en spreekt daarna een dynamische poort af. Sinds Windows Vista en Server 2008 ligt die standaard tussen 49152
en 65535; oudere Windows-versies gebruikten 1025–5000. Daarnaast vraagt DCOM bijpassende
gebruikersaccounts, rechten in dcomcnfg en vaak callbacks van server naar client. Dat maakt
OPC Classic lastig door een firewall
heen te krijgen en verklaart waarom veel installaties ooit met ruime poortbereiken en de groep Everyone zijn opgezet.
🏭 Waar kom je OPC Classic nog tegen?
OPC Classic is diep verankerd in OT-omgevingen die vóór de doorbraak van OPC UA zijn gebouwd:
- SCADA en HMI - veel SCADA-systemen lezen PLC-data via OPC DA
- Historians - Historian-systemen verzamelen via OPC DA en bieden data aan via OPC HDA
- Alarmbeheer - OPC A&E bundelt alarmen van verschillende systemen
- Koppeling naar MES en ERP - MES- en ERP-systemen halen productiedata meestal via een historian, gateway of middleware op, die zelf weer OPC DA of HDA gebruikt
In het Purdue Model zitten OPC Classic-servers en -clients meestal op niveau 2 en 3, binnen het procesnetwerk. Omdat besturingssystemen vaak twintig jaar meegaan, blijft OPC Classic in legacy systemen nog jaren aanwezig.
🔐 Welke beveiligingsrisico’s heeft OPC Classic?
OPC Classic is ontworpen voor een gesloten netwerk en kent zelf geen applicatiebeveiliging zoals OPC UA met certificaten en versleutelde sessies. De beveiliging hangt volledig af van Windows en DCOM:
- Veel open poorten - TCP 135 plus een groot dynamisch bereik vergroot het aanvalsoppervlak
- Zwakke configuraties - anonieme toegang, ruime rechten voor Everyone en lage authenticatieniveaus komen nog vaak voor
- Geen versleuteling in de praktijk - DCOM kan pakketintegriteit en -versleuteling afdwingen, maar oudere clients ondersteunen dat vaak niet
- Verouderde hosts - OPC-servers draaien regelmatig op Windows-versies zonder beveiligingsupdates, wat patchmanagement bemoeilijkt
- Verkenning door malware - de Havex-campagne van de groep Dragonfly gebruikte in 2013–2014 een module die OPC Classic-servers in het netwerk opspoorde, en Industroyer (Oekraïne, 2016) bevatte een OPC DA-component
OPC Classic is daarom niet geschikt voor remote access via internet of voor verkeer dwars door een DMZ. Plaats het alleen binnen een gesegmenteerde zone met firewalls en strikte toegangscontrole.
Wat betekent de DCOM-hardening van Microsoft?
Met KB5004442 (CVE-2021-26414) verplicht Microsoft voor DCOM-activatie minimaal het authenticatieniveau packet integrity. De wijziging kwam gefaseerd: in juni 2021 optioneel, vanaf 14 juni 2022 standaard aan en sinds 14 maart 2023 niet meer uit te schakelen. Bijgewerkte Windows-clients verhogen het niveau van hun activatieverzoeken automatisch, zodat de meeste koppelingen blijven werken. Problemen ontstaan bij OPC-clients op ongepatchte of niet meer ondersteunde Windows-versies en bij applicaties die zelf een lager niveau afdwingen: die verliezen de verbinding met een remote OPC-server. Anonieme activatie, lokale verbindingen, tunnels en OPC UA vallen buiten de wijziging. Microsoft heeft DCOM daarmee niet afgeschaft, maar de foutmarge van oude configuraties wel weggenomen.
🛠️ Hoe pakt u OPC Classic in de praktijk aan?
Een realistische aanpak combineert beveiligen van wat er is met geleidelijke migratie:
- Inventariseer - leg in uw asset-inventaris vast welke OPC-servers en -clients er zijn, welke specificatie ze gebruiken en welke koppelingen over het netwerk lopen.
- Houd OPC lokaal - zet client en server waar mogelijk op dezelfde machine, zodat DCOM het netwerk niet op hoeft.
- Gebruik een tunnel of wrapper - een OPC-tunneller of een DA-naar-UA-wrapper vervangt DCOM over het netwerk door één vaste TCP-poort, bij de meeste producten met versleuteling.
- Beperk DCOM - beperk het dynamische poortbereik, verwijder anonieme toegang en pas hardening toe op de Windows-hosts.
- Segmenteer - scheid OPC-verkeer volgens IEC 62443 in zones en conduits en pas netwerksegmentatie toe; voor eenrichtingsdata naar IT is een datadiode een optie.
- Migreer naar OPC UA - kies bij vervanging van SCADA, historian of DCS voor native OPC UA-ondersteuning, zie brownfield-trajecten als kans.
Voor Nederlandse organisaties die onder de Cyberbeveiligingswet vallen (van kracht sinds 15 augustus 2026), helpt deze aanpak om aan te tonen dat bekende risico’s in de OT-keten passend zijn beheerst.
🔍 Wat is het verschil tussen OPC Classic en OPC UA?
| Aspect | OPC Classic | OPC UA |
|---|---|---|
| Platform | Alleen Windows (COM/DCOM) | Windows, Linux, embedded en cloud |
| Transport | DCOM met TCP 135 en dynamische poorten | opc.tcp op één poort (standaard 4840), HTTPS, WebSockets, PubSub |
| Beveiliging | Afhankelijk van Windows- en DCOM-instellingen | Certificaten, versleuteling en gebruikersauthenticatie ingebouwd |
| Datamodel | Losse specificaties, platte tags | Eén objectgeoriënteerd informatiemodel |
| Firewall | Lastig, vooral buiten één subnet | Eenvoudig te routeren en te filteren |
| Status | Legacy, geen nieuwe ontwikkeling | Actieve standaard (IEC 62541) |
OPC UA integreert de functionaliteit van DA, HDA en A&E in één architectuur, zodat een migratie in principe geen functionaliteit hoeft op te geven. Wel verandert de adressering van tags in een informatiemodel met nodes, wat bij de overstap aandacht vraagt in configuratie en documentatie.
❓ Veelgestelde vragen
Wordt OPC Classic nog ondersteund?
OPC Classic wordt nog door veel leveranciers geleverd en de specificaties blijven beschikbaar, maar de OPC Foundation ontwikkelt de familie niet meer verder. Nieuwe projecten kiezen voor OPC UA. Bestaande OPC Classic-installaties werken door zolang de Windows-hosts en DCOM-instellingen worden beheerd.
Waarom werkt mijn OPC DA-verbinding niet meer na een Windows-update?
Sinds de DCOM-hardening van Microsoft (KB5004442) weigert een OPC-server activatieverzoeken onder het authenticatieniveau packet integrity. Clients op ongepatchte of verouderde Windows-versies, of software die zelf een lager niveau instelt, worden daardoor geweigerd. Het bijwerken van de client-host of -software, een OPC-tunnel of een overstap naar OPC UA lost dit op.
Welke poorten gebruikt OPC Classic?
OPC Classic gebruikt via DCOM TCP-poort 135 voor de RPC Endpoint Mapper en daarna een dynamische poort, standaard tussen 49152 en 65535. Dat bereik kunt u per server inperken. Lokale OPC Classic-verbindingen op één machine gebruiken geen netwerkpoorten.
Wat is een OPC-tunneller?
Een OPC-tunneller is software die OPC Classic-verkeer tussen twee machines over één vaste TCP-verbinding stuurt in plaats van via DCOM. Client en server praten dan elk lokaal met de tunnelsoftware. Dat vereenvoudigt firewallregels en omzeilt de DCOM-configuratie van OPC Classic.
Kan OPC Classic met OPC UA samenwerken?
Ja, OPC Classic en OPC UA kunnen samenwerken via een wrapper of proxy. Een wrapper biedt een bestaande OPC DA-server aan als OPC UA-server, een proxy laat een oude OPC DA-client data lezen uit een OPC UA-server. Zo kan een installatie stap voor stap migreren.
Is OPC Classic onveilig?
OPC Classic is niet per definitie onveilig, maar mist ingebouwde beveiliging en leunt volledig op Windows en DCOM. In een goed gesegmenteerd netwerk met beperkte poorten en geharde hosts is het risico beheersbaar. Over onbeveiligde netwerken of via internet hoort OPC Classic niet te lopen.
📌 Samengevat
OPC Classic is de oorspronkelijke, op COM/DCOM gebaseerde OPC-familie (DA, HDA en A&E) die sinds 1996 procesdata in Windows-gebaseerde OT-omgevingen ontsluit.
De standaard loste het driverprobleem van de jaren negentig op en draait nog in talloze installaties. Door de Windows-binding, de lastige DCOM-configuratie, beperkte schaalbaarheid en het ontbreken van ingebouwde beveiliging is OPC Classic echter een legacytechnologie. Beveilig bestaande koppelingen met segmentatie, tunnels en hardening, en plan de overstap naar OPC UA.
