Sie sind hier: Startseite Blog

Blog

Batch-Printing für PDF und Postscript unter Windows

Meine Bürogenossin muss monatlich eine große Menge PDFs ausdrucken, die anderweitig erzeugt wurden. Diese manuell über Adobe Reader, FoxitReader, etc zu öffnen und dann zu drücken ist umständlich. Alleine das eigentliche drucken Drucken dauert mehrerer 10 Sekunden pro PDF. (Windows Printer ist langsam für Farbdrucker). Außerdem soll immer nur die erste Seite gedruckt werden.

Eine Lösung für Windows ist gar nicht so einfach zu finden. die meisten Tipps laufen darauf hinaus, dann doch den PDF-Reader mit dem Ausdrucken zu beauftragen. Egal ob per VB-Script, Com-Schnittstelle, print()-Funktion, etc. Aber genau das möchte ich ja vermeiden! Ich möchte eine Stapelverarbeitung, bei der am Ende nur evtl. aufgetreten Fehler gemeldet werden.

Nach einigem Suchen bin ich auch zwei Lösungen gestoßen und habe einen eigene programmiert (mich dann aber doch für eine der anderen entschieden):

a) GSBatchPrint hat ein paar nette Feature, z.B. kann einen Input-Ordner überwachen oder Output-Schacht angeben. Aber es verschiebt Dateien in Ordner, wobei nicht ganz immer klar ist, wo diese Ordner angelegt werden. Kostenlos, aber Source ist nicht verfügbar.

b) Mein Versuch, GSBatchPrint neu zu programmieren (natürlich in Python) ist prinzipiell gelungen. Nicht gelungen ist mir, dabei anzugeben, welche Seiten ausgedruckt werden sollen — es soll ja nur die erste Seite sein. Habe aber viel über mswinpr2 gelernt. Als Nebenprodukt ist ein Python-Interface für Ghostscript entstanden, über das ich letzte Woche berichtet habe.

c) GSPrint brachte die Lösung. Kann alles Wichtige, was meine Büroenossin braucht. Ich hätte es gleich nehmen sollen. Habe noch einen kleinen Wrapper herum gestrickt (ein droplet aka Batch-Skript), um die restliche Funktionen zu ergänzen und die gewünschten Parameter an GSPrint zu übergeben.

BTW: Unter Linux (und Unix generell) braucht man das alles nicht. lp dateiname genügt. Wenn das Drucksystem CUPS installiert ist (das ist inzwischen Standard), kann man auch allerlei Druckoptionen auswählen. Beispielswiese eben die erste und die letzte zu druckende Seite.

09.08.2010 00:00

Python-Interface für die C-API von Ghostscript

Für ein kleines Progrämmchen möchte ich die Ghostscript-Bibliothek (.dll bzw. .so) verwenden. Es ist mir nicht ganz einsichtig, weshalb man dafür immer Ghostscript als eigenen Prozess startet und den Output umständlich aus einer Pipe liest.

Daher habe ich ein kleines Python-Package geschrieben, das Ghostscript direkt über die C-API anspricht. Es verwendet ctypes, daher muss nichts kompiliert werden, und ist plattformunabhängig (ebenfalls durhc ctypes möglich). Lizenz: GPL v3. Das mercurial-Repository findet sich auf bitbucket.

Mit dabei sind auch ein paar kleine Beispielprogramme, die unter anderem gs und ps2pdf nachbilden. Dafür sind faszinierend wenige Zeilen nötig.

06.08.2010 00:00

Unsinnige KPIs: Anzahl Gefundener Viren

In loser Folge blogge ich über unsinnige Kennzahlen, neudeutsch Key Performance Indicators (PKIs).

Folge 1: Anzahl der gefundenen Viren

Gerade in meinem Metier ist es schwer, den "Erfolg" von IT-Security-Maßnahmen zu messen. Auf einigen Treffen der Fachgruppe Security Management der GI war dies bereits Thema. Ein sinnvolles, rundes Kennzahlensystem für IT-Security hat leider noch niemand dort vorgestellt. Dafür kam beim letzten Workshop eine neue unsinnige Kennzahl hoch: Es gibt allen Ernstes Unternehmen, die die Anzahl der gefundenen Viren messen. Viel gleich gut.

Aber was sagt die Zahl denn aus? Ist es besser, wenn die Zahl niedrig ist, oder wenn sie hoch ist?

Meines Erachtens sagt diese Zahl leider gar nichts aus. Beziehungsweise nur, wieviele Viren die Virenscanner gefunden haben. Leider sagt sie nichts aus, wieviele Viren nicht gefunden wurden, oder wieviele Viren erst gefunden wurden, nachdem sie Schaden angerichtet haben.

Auch als Vergleichszahl ist sie unbrauchbar: Ist der neue Virenscanner besser als der alte, oder sind einfach mehr Viren im Umlauf? Hat sich die Erkennungsrate des Virenscanners verbessert (wobei in "Rate" ja selbst schon ein Verhältnis steckt), oder sind unsere Mitarbeiter nur öfters in gefährlichen Ecken unterwegs? Werden bei uns weniger Viren erkannt, als im Branchenschnitt (wobei es eine solche Angabe wohl nie geben wird), oder sind die Anderen lediglich mehr Wirtschaftsspionage ausgesetzt?

Wirklich interessant wäre die Kennzahl: "Anzahl nicht (oder zu spät) gefundener Viren". Aber die unbekannten kann ich nicht messen. Schade!

Sind Sie anderer Meinung? Oder haben Sie Ideen für gute Kennzahlen in der IT-Security? Ich freue mich auf Ihren Kommentar oder Ihre Mail (siehe Kontakt) und diskutiere gerne darüber.

17.06.2010 00:00

Ausgezeichnet als "CSSLP Evangelist"

Da habe ich nicht schlecht gestaunt: Die (ISC)² schickt mir einen Auszeichnung und ernennt mich zum "CSSLP Evangelist". Weil ich den Mut besessen habe, in ein neues Zertifikat zu investieren.

Bei einem neuen Zertifikat besteht ja immer die Gefahr, dass es keine kritische Masse erreicht, oder dass es nicht anerkannt wird. Und der Aufwand für ein CSSLP-Zertifikat ist nicht gering. Als CISSP wurde dafür lediglich "erlassen", erneut einen Bürgen zu finden.

Die Auszeichnungsmedaille (siehe Bild) ist irgendwie typisch amerikanisch, liegt wertig in der Hand und schmückt nun meinen Schreibtisch.

29.04.2010 00:00

Python-Interface für OpenVAS OMP und OAP

Als Nebenprodukt der verteilten Massenscans mit OpenVAS habe ich ein Python-Interface für das OpenVAS Management Protocol (OMP) und das OpenVAS Administration Protocol (OAP) implementiert. Die beiden Pakete openvas.omp und openvas.oap sind unter der GPL 3.0 veröffentlicht und im Python Package Index zu finden. Dort finden sich auch weitere Informationen

Python Entwickler installieren die Pakete am einfachsten mit

easy_install openvas.omp openvas.oap
bzw.
pip openvas.omp openvas.oap
07.03.2010 00:00

Verteilte Massenscans mit OpenVAS

Für einen deutschen Konzern habe ich ein Konzept entwickelt, um Schwachstellentests für Massen von Geräten durchzuführen. Das Netz des Konzerns enthält zirka 130.000 Geräte, davon gehören ca. 80.000 ...

Wie in Konzernen üblich, haben wir gewachsene Strukturen, sprich: wir haben keine genauen Informationen, welche Geräte nun zu diesem Unternehmenbereich gehören und welche nicht -- letztere dürfen wir dann auch nicht anfassen, sonst gibt's Ärger. Erschwert wird das noch durch mobile User, die teilweise aus dem Ausland kommen. Network Access Control (NAC) gibt es in dem Netz natürlich nicht, das wäre ja zu einfach ;-)

Ich habe nun ein zweistufiges Konzept entwickelt: In der ersten Stufe werden alle bekannten Geräte herausgesucht -- das ist mühsam, aber sonst nicht weiter interessant. In der zweiten Stufe werden die identifizierten Geräte dann auf Schwachstellen gescannt. Das Konzept sieht folgende Punkte vor:

  • Webinterface,
  • Datenbank mit den Geräten, Gerätearten, Standorten und Scan-Aufträgen,
  • Geräte können nach verschiedenen Kriterien aus der Datenbank selektiert werden (Standort, IP-Adresse, Gerätetyp, etc.),
  • verschieden Scan-Profile, z.B. Arbeitsplatzrechner, Unix-Server, Windows-Server, Drucker,
  • im Unternehmensnetz verteilte "Sensoren", und
  • Ergebnisse werden zentral gesammelt.

Als Scanner ausgewählt wurde OpenVAS. Zum Einen, weil keine Lizenzkosten anfallen, zum Anderen, weil es sehr flexibel ist.

Leider soll das verteilte Scannen erst im Herbst 2010 implementiert werden. Aber OpenVAS hat ein Management-Schnittstelle (OMP), über die sich Scan-Jobs anlegen und starten lassen, und die Daten landen in eine sqlite-Datenbank. Damit waren "nur" ein paar Skripte nötig, um die gewünschte Funktion zu implementieren.

Die Eckpunkte sind: Ein Skript trägt die Scanaufträge in die Datenbank ein. Ein Cronjob sucht neue Scan-Aufträge, verteilt sie (per OMP) an die Sensoren, holt dort die Reports der fertiggestellten Aufträge ab und pflegt sie in die OpenVAS-Datenbank auf dem "Master". Auf dem Master läuft ebenfalls ein OpenVAS-Webfrontent (der gsa), um die Reports anzusehen.

03.02.2010 00:00

Vortrag über das Common Vulnerability Scoring System

Termine für Vortrag über CVSS

Die Termin für den Vortrag über das Common Vulnerability Scoring System (CVSS) stehen:

14.12.2009 00:00

Ist die IT-Security auf dem Holzweg?

Hartmut Goebel beim Security Panels auf der it-sa in Nürnberg

Hochkarätige Themen, hochkarätige Diskutanten: Ein Highlight des Kongressprogramms auf der it-sa – dem Treffpunkt des Who´s who der Sicherheitsbranche – ist das Security-Panel des (ISC)² und des it-sa-Veranstalters des SecuMedia Verlags.

(ISC)² versteht sich als eine Standesorganisation der Security-Branche und vergibt das hochkarätige Zertifikat der CISSPs (Certified Information Systems Security Professional). In der Expertenrunde debattieren demnach fast durchwegs CISSPs wie Hartmut Goebel von Goebel Consult, die über fundierte und langjährige Erfahrung in allen Bereichen der IT-Sicherheit zu Hause sind und die wissen, wovon sie reden.

Inhalt der Diskussion

Kaum ein Tag vergeht ohne Meldungen über neue Sicherheitslücken. DOS-Angriffe, Spam- und Malware-Atacken über Botnetze und Datenklau über Web 2.0-Anwendungen gehören zum Alltag der Sicherheitsverantwortlichen in den Unternehmen. Gleichzeitig professionalisiert sich die Internet-Schattenwirtschaft, sodass sich die Bedrohungslage weiter verschärft. Es stellt sich die Frage, ob die IT-Security so weitermachen kann wie bisher bzw. mit welchen Konzepten sie den Wettlauf mit Cyberkriminellen und Insider-Bedrohungen gewinnen will?

Ich möchte Sie herzlich einladen, unsere Diskussion bei dem Security-Panels auf der it-sa live zu verfolgen.

Dienstag, den 13.10.2009, 14—15 Uhr
Security Messe it-sa
Messe Nürnberg
Auditorium in Halle 5

Nach der offiziellen Runde bin ich gespannt auf Ihre Fragen und freue ich mich, mit Ihnen persönlich weiter zu diskutieren.

09.10.2009 11:30

CVSS - Common Vulnerability Scoring System

CVSS - Common Vulnerability Soring System CVSS Calculator GUI CVSS Calculator command line usage A Tool for calculating CVSS-Scores.

Features

  • platform independent (using Python and GTK)
  • copy & paste for CVSS vectors
  • colorful score indicator for easy visual feedback
  • supports CVSS Version 2
  • both GUI and command line usage

License

License granted

  • free for personal use

  • free for non-commercial use

  • free for commercial use for companies up to 49 employees

For detailed information please read the file 'LICENSE.txt' enclosed in the archives and displayed when running the Windows installer.

Download

Version 0.1:

For suggestions, bug reports, etc, please send us an email

.

10.08.2009 00:00

Fachartikel zu "Jericho" im iX Magazin

In der Juliausgabe der Zeitschrift iX erscheint ein Artikel von Hartmut Goebel über "Jericho"

Der Artikel "Eingerissen - Konzept Jerichio - kann man Firewalls abschaffen?"

Die Fachzeitschrift iX, die Schwesterzeitschrift der c't, ist eines der renommiertesten deutschsprachigen Magazine. Hartmut Goebel: "Ich bin schon ein bisschen stolz, auf meine zweite Veröffentlichung dort. Und die wird auch noch auf dem Titel angekündigt." Und das kann er auch sein.

Das Heft kann beim Abo-Service noch bestellt werden. Über den Heise Kiosk kann der Artikel aber auch einzeln erworben werden. Details hierzu: Heft 2009/07, Seite 112, Titel: "Eingerissen".

24.06.2009 00:00

(0) Kommentare