U bent hier: Home > Blog > 2012

Wat u moet weten over Oracle’s recente security bug


Marcel-Jan Krijgsman, 11 mei 2012

Vorige week is een security bug in de Oracle database in het nieuws gekomen, bekend onder de code CVE-2012-1675. Omdat we vragen van meerdere klanten hierover gehad hebben, willen we in deze blogpost hier nog even op in gaan.

Wat is de bug?
Volgens de beschrijving van het security lek is het mogelijk buiten je database server een listener te configureren die als een remote listener geregistreerd wordt aan een database. Waarom heeft Oracle die funtionaliteit destijds toegevoegd? Antwoord: Real Application Clusters, of RAC. Een RAC bestaat nu eenmaal uit meerdere machines  met listeners die onderdeel maken van het RAC.

Een hacker kan een remote listener gebruiken om het netwerkverkeer naar de database af te luisteren.

Wat is de oplossing?
Gezien de aard van de bug, is het niet verwonderlijk dat Oracle twee oplossingen heeft: een voor single node databases (Oracle support ID 1453883.1) en een voor RAC databases (Oracle support ID 1340831.1).

Voor single node databases zijn er eigenlijk twee oplossingen. Er is een patch voor bug 12880299 voor TCP verkeer. Na patchen kunt u de parameter “SECURE_REGISTER_<listener_name> = (TCP)” aan de listener.ora toevoegen. De listener moet hiervoor herstart worden. Overigens hebben we nog geen Windows patch kunnen ontdekken. Merk ook op dat deze patch voor bug 12880299 pas in juli verschijnt als onderdeel van de volgende Critical Patch Update.

De andere oplossing voor single node is om de listener te registreren aan de database middels het IPC protocol in plaats van het TCP protocol. Voordeel is dat er geen patch nodig is. Er moeten wel de nodige wijzigingen in de listener.ora gedaan worden en de instance parameter local_listener moet voortaan werken over het IPC protocol. Een herstart van de instance is voor deze parameter niet nodig. De listener moet wel herstart worden.

Voor RAC databases is het onwenselijk dat remote listeners uitgesloten worden. Dus daar heeft Oracle een andere oplossing voor bedacht. Hiervoor wordt een beveiligde SSL verbinding gelegd tussen de listeners. Hiervoor moet een wallet aangemaakt worden op alle machines waar een listener draait. Er moet vervolgens een certificaat aangemaakt worden dat in de wallet wordt opgeslagen. De listener moet aangepast worden en de listeners moeten bekend worden in de instances m.b.v. de parameter remote_listener. Voor de details verwijs ik naar Oracle support ID 1340831.1.

Nu is het zo dat deze met SSL beveiligde verbindingen normaal gesproken vallen onder de Oracle Advanced Security optie en dit is een aparte licentie. Maar speciaal voor deze bug mag je deze functionaliteit van Advanced Security gebruiken zonder dat je de licentie hoeft te betalen. Dit betekent dus niet dat alles van de Advanced Security optie opeens gebruikt kan worden zonder licentie. Volg de instructies van Oracle support ID 1340831.1 dus goed op.

Wat is de impact op de beschikbaarheid van uw systemen?
Voor single node databases zal de listener een keer herstart moeten worden. Op RAC systemen zullen de SCAN listeners twee keer herstart moeten worden.

Moet u deze wijziging implementeren?
Ik zeg “ja”. Waarom? Security is zo sterk als de zwakste schakel. Dat alleen al is een reden om deze bug aan te pakken.

Ook weet ik niet of uw database servers zijn afgeschermd van de rest van uw netwerk en van Internet, of u Wifi verbindingen heeft die al of niet goed beveiligd zijn, of dat iemand binnen uw organisatie gebruik zou wil maken van deze bug om uw klantenbestand of een lijst van credit card nummers of gegevens over burgers mee te nemen, enzovoort, enzovoort. Kortom, om iets over het al of niet dichtzetten van een security bug te kunnen zeggen, moet je de hele stack goed kennen en de risico’s goed weten.

Iets dergelijks zal ik ook zeggen over Critical Patch Updates die Oracle elk kwartaal uitbrengt overigens.

Partnership Transfer Solutions met Mendix


Mariette Snellers, 26 april 2012

Sinds kort zijn Transfer Solutions en Mendix partners. Wij zien Mendix als een welkome aanvulling op Oracles (4GL) portfolio waarmee we onze dienstverlening verder verbreed hebben. Wij zijn daardoor in staat om onze klanten nieuwe mogelijkheden voor ontwikkeling en beheer te bieden.

 

 

 

 

Het Rotterdamse bedrijf Mendix is leverancier van het gelijknamige modelgedreven ontwikkelplatform waarmee (web)applicaties en integratieoplossingen worden gerealiseerd.

Gerenommeerde bedrijven maken al gebruik van Mendix-producten. Dit zijn bedrijven uit onder meer de financiële, logistieke en mediabranche, zoals ABN AMRO,TNT, Sanoma en Kwik-Fit.  (meer…)

Hibernate Search: AND functionaliteit


Erik Pelgrim, 19 april 2012
Dit is deel 4 van een reeks van 4 artikelen in de serie Hibernate Search

Mijn laatste blogpost “Hibernate Search: Aantal hits” ging over het tonen van het totaal aantal resultaten bij een persoon in de zoekfunctie. Een volgend probleem doet zich voor als in het beknopte overzicht de gebruiker de specifieke resultaten van een medewerker wil zien. Indien hij op de knop “details” klikt, ziet hij wel alle resultaten, maar moet hij daarin alsnog de specifieke medewerker opzoeken. Dit is niet echt gebruiksvriendelijk.

Het toevoegen van een zoekterm biedt hier een oplossing voor. Door AND en Medewerker te selecteren en in de zoekterm ‘Pelgrim’ in te vullen blijven alleen de resultaten van Erik Pelgrim over (screenshot). (meer…)

Hibernate Search: Aantal hits


Erik Pelgrim,
Dit is deel 3 van een reeks van 4 artikelen in de serie Hibernate Search

Mijn vorige post over Hibernate Search eindigde dat je zoekresultaten mbt tot verschillende Cv-onderdelen samen in een collectie kan bijhouden zodat ze ook samen in een resultaten tabel op het scherm komen.

Mocht je echter op een veelvoorkomende term zoeken komt er een erg lange lijst uit met veel medewerkers met per medewerker ook nog veel resultaten. Aangezien er maar een stuk of 10-20 resultaten tegelijk op het scherm komen, zie je van veel medewerkers helemaal niets en van sommige juist heel veel (zie screenshot). Dit geeft geen duidelijk overzicht van je zoekresultaat. Een oplossing hiervoor zou zijn om het totale aantal resultaten per medewerker te tonen. Dit is in Java op te lossen door een andere collectie aan te maken: een HashMap, gebaseerd op name value pairs, waar je per medewerker het aantal hits (resultaten) opslaat. (meer…)

Hibernate Search: zoeken op meerdere onderdelen


Erik Pelgrim,
Dit is deel 2 van een reeks van 4 artikelen in de serie Hibernate Search

In mijn vorige blogpost “Snel zoeken met Hibernate Search” werd Hibernate Search gepromoot, een technologie waarmee in het interne CV systeem genaamd Tracsy snelle zoekfunctionaliteit gemaakt is. In deze blogpost bespreek ik een zelfgeschreven uitbreiding op de basisfunctionaliteit.

Hibernate Search biedt alleen de mogelijkheid om op 1 java klasse tegelijkertijd te zoeken. Aangezien in Tracsy de java-objecten 1 op 1 overeenkomen met de CV onderdelen en database tabellen, kan er in principe maar op 1 onderdeel tegelijkertijd gezocht worden. Hibernate Search biedt wel de mogelijkheid om op meerdere velden (database kolommen) ineens te zoeken. Voor een Cv houdt dit in dat bijvoorbeeld op de velden “activiteit”, “omgeving” en “methodieken” van een projectervaring tegelijkertijd gezocht kan worden. Als resultaat van de zoekopdracht wordt een lijst met projectervaring objecten teruggegeven. Omdat alle Cv onderdelen een veld medewerker (via een foreign key) bevatten, kan bij alle zoekresultaten de naam van de betreffende medewerker getoond worden. (meer…)

Snel zoeken met Hibernate Search


Erik Pelgrim,
Dit is deel 1 van een reeks van 4 artikelen in de serie Hibernate Search

Intern bij Transfer is er een applicatie genaamd Tracsy waar alle medewerkers hun kennis en ervaring bijhouden. Dit is op de eerste plaats bedoeld om snel een actuele CV uit te kunnen draaien en naar de klant te sturen.

In een bedrijf als Transfer met meer dan 100 medewerkers levert dit meer informatie op dan managers en recruiters ten alle tijden paraat kunnen houden. Dit heeft als gevolg dat als er een opdracht binnenkomt niet altijd meteen met zekerheid ingeschat kan worden of iemand met de juiste kennis hiervoor beschikbaar is. Dit vraagt om functionaliteit waarin snel en eenvoudig personen opgezocht kunnen worden met specifieke kennis. Dit is in de applicatie gebouwd met Hibernate Search. (meer…)

Oracle Database Appliance-proeftuin


Mariette Snellers, 16 april 2012

Test uw systeem in de ODA-proeftuin van Transfer Solutions

Zoals u ongetwijfeld zult weten, heeft Oracle zich in ruim 30 jaar ontwikkeld tot een partij die een totale suite aan producten levert om te voorzien in ICT-oplossingen. Aanvankelijk door het leveren van software componenten, zoals een omvattend database software product met 4GL. Later door het aanbieden van de Applications suite en uiteenlopende middleware technologieën. De meest recente stap is dat Oracle nu ook hardware aanbiedt, in verschillende smaken. Oracle zelf noemt het “Hardware and software engineered to work together”. Exact het credo waarmee Apple al sinds de jaren 70 schermt, en de afgelopen jaren ook groot mee is geworden. (meer…)

Nederland is een geo-opleidingscentrum rijker


Mariette Snellers, 6 maart 2012

Ruimteschepper en Transfer Solutions starten samenwerking op het gebied van opleidingen
Met deze samenwerking is Nederland een geo-opleidingscentrum rijker. Er worden drie verschillende masterclasses aangeboden die elk bestaan uit een aantal opleidingsdagen. Deze opleidingsdagen zijn ook los te volgen. Hoogwaardige opleidingen in een flexibel concept. (meer…)

ADF custom attribute validation in the Impl-class


Johan Tuitel, 17 februari 2012

The standard validation in ADF application is done by setting the attribute required. The disadvantage of this functionality, is that the validation is to early and not validating when a form is filled in. To do this we need to customize the validating of our application.

We can do this by validating the value in the Impl class of the Entity you use in the page.

1. Replace the required=”true” attribute on the input component into a showRequired=”true”, this can by jheadstart template or manually.

2. Open the Impl class and override the validateEntity() method

  protected void validateEntity() {
} (meer…)

ADF 11g: Create custom pending changes popup


Johan Tuitel,

In ADF applications we have a standard Pending Changes Popup. In this popup, the application handles the standard rollback of the record.

We found out that it is not work correctly for our application, therefore we need to create a custom Pending Changes Popup. (meer…)

Eerdere artikelen »