Automating System Administration with Perl SECOND EDITION Automating System Administration with Perl

Total Page:16

File Type:pdf, Size:1020Kb

Automating System Administration with Perl SECOND EDITION Automating System Administration with Perl Automating System Administration with Perl SECOND EDITION Automating System Administration with Perl David N. Blank-Edelman Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo Automating System Administration with Perl, Second Edition by David N. Blank-Edelman Copyright © 2009 O’Reilly Media, Inc. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or [email protected]. Editor: Andy Oram Indexer: Lucie Haskins Production Editor: Sarah Schneider Cover Designer: Karen Montgomery Copyeditor: Rachel Head Interior Designer: David Futato Proofreader: Kiel Van Horn Illustrator: Robert Romano Printing History: May 2009: Second Edition. O’Reilly and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Automating System Administration with Perl, the image of a sea otter, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein. ISBN: 978-0-596-00639-6 [M] 1241809111 To Cindy, ever the love of my life, and to Elijah, a true blessing. Table of Contents Preface . xv 1. Introduction . 1 Automation Is a Must 1 How Perl Can Help You 2 This Book Will Show You How 3 What You Need 5 Some Notes About the Perl Versions Used for This Book 6 What About Perl 5.10? 6 What About Strawberry Perl? 6 What About Perl 6? 6 Some Notes About Using Vista with the Code in This Book 7 Locating and Installing Modules 8 Installing Modules on Unix 9 Installing Modules on Win32 9 It’s Not Easy Being Omnipotent 10 Don’t Do It 10 Drop Your Privileges As Soon As Possible 10 Be Careful When Reading Data 11 Be Careful When Writing Data 12 Avoid Race Conditions 12 Enjoy 13 References for More Information 13 2. Filesystems . 15 Perl to the Rescue 15 Filesystem Differences 16 Unix 16 Windows-Based Operating Systems 16 Mac OS X 18 Filesystem Differences Summary 19 Dealing with Filesystem Differences from Perl 19 vii Walking or Traversing the Filesystem by Hand 21 Walking the Filesystem Using the File::Find Module 26 Walking the Filesystem Using the File::Find::Rule Module 36 Manipulating Disk Quotas 38 Editing Quotas with edquota Trickery 40 Editing Quotas Using the Quota Module 44 Editing NTFS Quotas Under Windows 45 Querying Filesystem Usage 46 Module Information for This Chapter 48 References for More Information 48 3. User Accounts . 49 Unix User Identities 50 The Classic Unix Password File 50 Changes to the Password File in BSD 4.4 Systems 57 Shadow Passwords 58 Windows-Based Operating System User Identities 59 Windows User Identity Storage and Access 59 Windows User ID Numbers 61 Windows Passwords Don’t Play Nice with Unix Passwords 63 Windows Groups 63 Windows User Rights 68 Building an Account System to Manage Users 71 The Backend Database 73 The Low-Level Component Library 78 The Process Scripts 89 Account System Wrap-Up 94 Module Information for This Chapter 97 References for More Information 97 Unix Password Files 97 Windows User Administration 98 4. User Activity . 99 Process Management 100 Windows-Based Operating System Process Control 100 Unix Process Control 119 File and Network Operations 125 Tracking File Operations on Windows 125 Tracking Network Operations on Windows 128 Tracking File and Network Operations in Unix 129 Module Information for This Chapter 135 Installing Win32::Setupsup 135 References for More Information 136 viii | Table of Contents 5. TCP/IP Name and Configuration Services . 137 Host Files 137 Generating Host Files 140 Error-Checking the Host File Generation Process 143 Improving the Host File Output 144 Incorporating a Source Code Control System 148 NIS, NIS+, and WINS 151 NIS+ 154 Windows Internet Name Server (WINS) 154 Domain Name Service (DNS) 155 Generating DNS (BIND) Configuration Files 156 DNS Checking: An Iterative Approach 165 DHCP 174 Active Probing for Rogue DHCP Servers 176 Monitoring Legitimate DHCP Servers 181 Module Information for This Chapter 183 References for More Information 184 6. Working with Configuration Files . 185 Configuration File Formats 188 Binary 188 Naked Delimited Data 189 Key/Value Pairs 190 Markup Languages 192 All-in-One Modules 235 Advanced Configuration Storage Mechanisms 236 Module Information for This Chapter 236 References for More Information 237 XML and YAML 237 7. SQL Database Administration . 239 Interacting with a SQL Server from Perl 240 Using the DBI Framework 243 Using ODBC from Within DBI 249 Server Documentation 251 MySQL Server via DBI 252 Oracle Server via DBI 254 Microsoft SQL Server via ODBC 255 Database Logins 258 Monitoring Space Usage on a Database Server 260 Module Information for This Chapter 263 References for More Information 263 DBI 263 Table of Contents | ix Microsoft SQL Server 264 ODBC 264 Oracle 264 8. Email . 265 Sending Mail 265 Getting sendmail (or a Similar Mail Transport Agent) 266 Using the OS-Specific IPC Framework to Drive a Mail Client 266 Speaking the Mail Protocols Directly 268 Common Mistakes in Sending Email 273 Overzealous Message Sending 273 Subject Line Waste 282 Insufficient Information in the Message Body 282 Fetching Mail 285 Talking POP3 to Fetch Mail 285 Talking IMAP4rev1 to Fetch Mail 287 Processing Mail 291 Dissecting a Single Message 291 Dissecting a Whole Mailbox 296 Dealing with Spam 297 Support Mail Augmentation 305 Module Information for This Chapter 310 References for More Information 311 9. Directory Services . 313 What’s a Directory? 313 Finger: A Simple Directory Service 314 The WHOIS Directory Service 318 LDAP: A Sophisticated Directory Service 321 LDAP Programming with Perl 322 The Initial LDAP Connection 323 Performing LDAP Searches 325 Entry Representation in Perl 329 Adding Entries with LDIF 331 Adding Entries with Standard LDAP Operations 333 Deleting Entries 334 Modifying Entry Names 335 Modifying Entry Attributes 337 Deeper LDAP Topics 339 Putting It All Together 348 Active Directory Service Interfaces 354 ADSI Basics 355 Using ADSI from Perl 357 x | Table of Contents Dealing with Container/Collection Objects 359 Identifying a Container Object 360 So How Do You Know Anything About an Object? 360 Searching 363 Performing Common Tasks Using the WinNT and LDAP Namespaces 366 Working with Users via ADSI 367 Working with Groups via ADSI 369 Working with File Shares via ADSI 369 Working with Print Queues and Print Jobs via ADSI 370 Working with Windows-Based Operating System Services via ADSI 371 Module Information for This Chapter 373 References for More Information 373 LDAP 373 ADSI 374 10. Log Files . 377 Reading Text Logs 377 Reading Binary Log Files 378 Using unpack() 378 Calling an OS (or Someone Else’s) Binary 383 Using the OS’s Logging API 384 Structure of Log File Data 385 Dealing with Log File Information 388 Space Management of Logging Information 388 Log Parsing and Analysis 395 Writing Your Own Log Files 425 Logging Shortcuts and Formatting Help 425 Basic/Intermediate Logging Frameworks 426 Advanced Logging Framework 428 Module Information for This Chapter 429 References for More Information 430 11. Security . 433 Noticing Unexpected or Unauthorized Changes 434 Local Filesystem Changes 434 Changes in Data Served Over the Network 440 Noticing Suspicious Activities 442 Local Signs of Peril 442 Finding Problematic Patterns 444 Danger on the Wire, or “Perl Saves the Day” 449 Preventing Suspicious Activities 460 Suggest Better Passwords 460 Reject Bad Passwords 461 Table of Contents | xi Module Information for This Chapter 466 References for More Information 467 12. SNMP . 469 Using SNMP from Perl 469 Sending and Receiving SNMP Traps, Notifications, and Informs 480 Alternative SNMP Programming Interfaces 484 Module Information for This Chapter 486 References for More Information 486 13. Network Mapping and Monitoring . 489 Network Mapping 489 Discovering Hosts 490 Discovering Network Services 499 Physical Location 501 Presenting the Information 503 Textual Presentation Tools 503 Graphical Presentation Tools 507 Monitoring Frameworks 522 Extending Existing Monitoring Packages 524 What’s Left? 526 Module Information for This Chapter 527 References for More Information 527 14. Experiential Learning . 529 Playing with Timelines 530 Task One: Parsing crontab Files 530 Task Two: Displaying the Timeline 531 Task Three: Writing Out the Correct XML File 533 Putting It All Together 534 Summary: What Can We Learn from This? 536 Playing with Geocoding 537 Geocoding from Postal Addresses 537 Geocoding from IP Addresses 541 Summary: What Can We Learn from This? 544 Playing with an MP3 Collection 544 Summary: What Can We Learn from This? 546 One Final Exploration 546 Part One: Retrieving the Wiki Page with WWW::Mechanize 547 Part Two: Extracting the Data 550 Part Three: Geocoding and Mapping the Data 551 Summary: What Can We Learn from This? 554 Remember to Play 555 xii | Table of Contents Module Information for This Chapter 555 Source Material for This Chapter 556 A. The Eight-Minute XML Tutorial . 557 B. The 10-Minute XPath Tutorial . 563 C. The 10-Minute LDAP Tutorial . 573 D. The 15-Minute SQL Tutorial . 579 E. The Five-Minute RCS Tutorial . 593 F. The Two-Minute VBScript-to-Perl Tutorial . 597 G.
Recommended publications
  • Bibliography of Erik Wilde
    dretbiblio dretbiblio Erik Wilde's Bibliography References [1] AFIPS Fall Joint Computer Conference, San Francisco, California, December 1968. [2] Seventeenth IEEE Conference on Computer Communication Networks, Washington, D.C., 1978. [3] ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, Los Angeles, Cal- ifornia, March 1982. ACM Press. [4] First Conference on Computer-Supported Cooperative Work, 1986. [5] 1987 ACM Conference on Hypertext, Chapel Hill, North Carolina, November 1987. ACM Press. [6] 18th IEEE International Symposium on Fault-Tolerant Computing, Tokyo, Japan, 1988. IEEE Computer Society Press. [7] Conference on Computer-Supported Cooperative Work, Portland, Oregon, 1988. ACM Press. [8] Conference on Office Information Systems, Palo Alto, California, March 1988. [9] 1989 ACM Conference on Hypertext, Pittsburgh, Pennsylvania, November 1989. ACM Press. [10] UNIX | The Legend Evolves. Summer 1990 UKUUG Conference, Buntingford, UK, 1990. UKUUG. [11] Fourth ACM Symposium on User Interface Software and Technology, Hilton Head, South Carolina, November 1991. [12] GLOBECOM'91 Conference, Phoenix, Arizona, 1991. IEEE Computer Society Press. [13] IEEE INFOCOM '91 Conference on Computer Communications, Bal Harbour, Florida, 1991. IEEE Computer Society Press. [14] IEEE International Conference on Communications, Denver, Colorado, June 1991. [15] International Workshop on CSCW, Berlin, Germany, April 1991. [16] Third ACM Conference on Hypertext, San Antonio, Texas, December 1991. ACM Press. [17] 11th Symposium on Reliable Distributed Systems, Houston, Texas, 1992. IEEE Computer Society Press. [18] 3rd Joint European Networking Conference, Innsbruck, Austria, May 1992. [19] Fourth ACM Conference on Hypertext, Milano, Italy, November 1992. ACM Press. [20] GLOBECOM'92 Conference, Orlando, Florida, December 1992. IEEE Computer Society Press. http://github.com/dret/biblio (August 29, 2018) 1 dretbiblio [21] IEEE INFOCOM '92 Conference on Computer Communications, Florence, Italy, 1992.
    [Show full text]
  • Anti-Spam Software
    СПАМ и системи за защита от спам Стефка Великова Маринова ф.н. 43217 Иглика Валентинова Мишева ф.н. 43175 - 0 - Всички потребители на Internet навярно някога в своя живот са се сблъсквали с понятие като СПАМ. То може да се определи не само като “нежелана поща”, но и като генериране на никому ненужен трафик. Любопитно е от къде произлиза думичката "spam" . За първи път подобен термин се е появил преди години в скеч на Monty Python (група актьори от Великобритания), когато викинги нападнали някаква гостилница, чието меню се състояло единствено от "spam" (Spiced Pork and hAM), и келнерът започнал ентусиазирано да обяснява: "имаме спам, спам и яйца, яйца и спам, спам-спам и яйца, спам спам и спам...” и нищо не можело да се яде поотделно без спам. Има няколко вида спам, според това каква услуга е решил да използва спамера, като всеки вид създава различни проблеми на потребителите на Интернет или просто на локалната мрежа. Услугите използвани от спамерите са mail, Usenet, IRC даже и FTP . Общоизвестно е, че протокола FTP осигурява предаването на двоични и текстови файлове от и на FTP-сървъри. FTP-сървър може да бъде както компютър с Unix (Linux), така и компютър под Windows NT, на който работи FTP-сървър. Няма се предвид взлом на FTP-сървъри и всичко по-долу казано е в следствие на работа на възможностите на протокола FTP за предаване на файлове непряко между сървъри. Давайки на анонмни потребители на сървъра правото за запис ние правим своя сървър потенциално уязвим. В такава ситуация е напълно възможно някакъв шегаджия от мрежата да генерира значителен трафик от някакъв достатъчно мощен сървър към нашия злочест FTP-сървър.
    [Show full text]
  • SPF, MTA-K És SRS
    Szaktekintély SPF, MTA-k és SRS Az elõzõ cikkben áttekintettük, hogy DNS segítségével hogyan jelölhetjük meg eredetiként kimenõ elektronikus leveleinket. Most eljött az ideje annak, hogy a bejövõ levelek ellenõrzésérõl is gondoskodjunk, és megvédjük felhasználóinkat a hamisított, kéretlen levelektõl és a férgektõl. © Kiskapu Kft. Minden jog fenntartva Sender Policy Framework (SPF, küldõ házirend-ke- Ha kissé mértéktartóbbak akarunk lenni, akkor elutasítás he- retrendszer) a válaszútvonal hamisítása ellen segít lyett a Received-SPF: fail sorral is bõvíthetjük a fejlécet. Ezt A védekezni – amit általában férgek, vírusok és le- a lehetõséget a beépülõ modulok leírása ismerteti bõvebben. vélszemét terjesztõk alkalmaznak. Az SPF életre hívása két szakaszból áll. Elõször a rendszergazdák SPF-bejegyzéseket Sendmail tesznek közzé a DNS-ben. Ezek a bejegyzések az egyes tar- A Sendmail beépülõ modulok fogadására szolgáló felületét tományok által a kimenõ levelek kezelésére használt kiszol- Milternek nevezzük. (Lásd az internetes forrásokat.) Az gálókat adják meg. Az SPFre képes MTA-k (mail transport újabb Sendmail-változatok alapesetben is támogatják a agent, levéltovábbító ügynök) késõbb ellenõrzik a bejegyzé- Milter használatát. A Sendmail foglalat alapú felületen ke- seket. Ha egy levél nem az SPF-ben megadott kiszolgálóról resztül tartja a kapcsolatot a Milterrel. Értesíti azt a befelé érkezik, akkor bátran hamisnak nyilváníthatjuk. irányuló SMTP-tranzakciókról, a Milter pedig megmondja A továbbiakban – kapcsolódva elõzõ írásomhoz – felvázolom, a Sendmailnek, hogy mit kell tennie. A Milter démonként hogyan ruházhatjuk fel SPF képességekkel a levélkiszolgálón- fut, indítása is külön történik. Az SPF weboldalon két Milter kat. Szó lesz arról is, hogy az elektronikus leveleket továbbító, érhetõ el, egy Perl és egy C alapú. A Perl alapú változat kifi- vagy weben elõállító szolgáltatások a küldõ módosításával nomultabb, ha viszont gyorsabb mûködést szeretnénk, ak- hogyan mûködtethetõk tovább az SPF bevezetése után is.
    [Show full text]
  • Open Source Software Attributions for ASCET-DEVELOPER 7.3.0
    ASCET-DEVELOPER 7.3.0 OSS Attributions Open Source Software Attributions for ASCET-DEVELOPER 7.3.0 This document is provided as part of the fulfillment of OSS license conditions and does not require users to take any action before or while using the product. Page 1 of 102 ASCET-DEVELOPER 7.3.0 OSS Attributions Table of Contents Contents 1 List of used Open Source Components. ................................................................................................ 3 2 Appendix - License Text ................................................................................................................. 15 2.1 ANTLR Software Rights Notice .................................................................................................. 15 2.2 ASM License ......................................................................................................................... 16 2.3 Apache License 1.1 ................................................................................................................. 17 2.4 Apache License 2.0 ................................................................................................................. 18 2.5 BSD (Three Clause License) ...................................................................................................... 21 2.6 BSD 4-clause "Original" or "Old" License ..................................................................................... 22 2.7 Common Development and Distribution License 1.0.....................................................................
    [Show full text]
  • Elektronikuslevél-Beépítés
    Kovácsmûhely Elektronikuslevél-beépítés Tartsuk ébren weboldalunk felhasználóinak az érdeklõdését: figyelmeztessük õket elektronikus levélben a számukra érdekes hírekre és vitákra! öbb mint húsz éve használom a számítógépemet az nem is olyan nagyon bonyolult, embertársaimmal való kapcsolattartásra. Kezdetben csak de a fejlesztésre és hibakeresésre szánt idõt és erõfeszítéseket alkalmanként írogattam a helyi hirdetõtáblára, mindez sokkal érdemesebb egy létezõ csomag megtanulására fordítani. Tmára személyes és szakmai életem elválaszthatatlan részévé vált. Akinek azonban van egy kis tapasztalata a web és az adatbá- Ebben a hónapban – miközben folytatom a kicsomagolást új zisok témában, az tudja, hogy egy webfórumcsomag létre- © Kiskapu Kft. Minden jog fenntartva chicagói otthonomban, és küzdök a felmerülõ hibákkal, hozása nemigen áll másból, mint hogy összepakol néhány amelyek megnehezítik, hogy folytassam a Bricolage-ról szóló táblát (felhasználók, üzenetek és a hírcsoportok), majd megadja cikksorozatomat – a jelenkor néhány, az elektronikus levelekkel a jogosultságot az embereknek, hogy bejegyzéseket (küldemé- kapcsolatos kérdésébe pillantok bele. Írásomban a web-, illetve nyek) helyezhessenek el az egyes hírcsoportokban. a levelezésegyesítésrõl, illetve a levelezés és az adatbázis Ezek a rendszerek több mint elégségesek egy kis vagy közepes egyesítésérõl, sõt még az SMTP-szintû levélszemét elleni méretû weboldal számára; de ha idõközben hatalmasra duz- harcról is szó esik. zadna is a rendszerünk, az elküldött üzenetek ezreivel és fel- használók százaival birkózva is valószínûtlen, hogy komoly A web és az elektronikus levél egyesítése hatása lenne ezekre a rendszerekre. Ugyanis valamennyi rend- Ma már valóban nehéz olyan nagy és korszerû weblapot szer relációs adatbázisokat használ az adattárolásra, márpedig találni, amelyen nincs megoldva felhasználói visszajelzések még a legkisebb és legegyszerûbb korszerû adatbázisrendszer és jelentkezések kérdése.
    [Show full text]
  • Oracle Database Licensing Information for Additional Information
    Oracle® Exadata Database Machine Licensing Information 11g Release 2 (11.2) E25431-04 November 2013 Oracle Exadata Database Machine Licensing Information, 11g Release 2 (11.2) E25431-04 Copyright © 2012, 2013, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]
  • Sun Microsystems, Inc. Binary Code License Agreement for the JAVA 2 PLATFORM STANDARD EDITION RUNTIME ENVIRONMENT 5.0 SUN MICROS
    Sun Microsystems, Inc. Binary Code License Agreement for the JAVA 2 PLATFORM STANDARD EDITION RUNTIME ENVIRONMENT 5.0 SUN MICROSYSTEMS, INC. ("SUN") IS WILLING TO LICENSE THE SOFTWARE IDENTIFIED BELOW TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY CODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT CAREFULLY. BY DOWNLOADING OR INSTALLING THIS SOFTWARE, YOU ACCEPT THE TERMS OF THE AGREEMENT. INDICATE ACCEPTANCE BY SELECTING THE "ACCEPT" BUTTON AT THE BOTTOM OF THE AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY ALL THE TERMS, SELECT THE "DECLINE" BUTTON AT THE BOTTOM OF THE AGREEMENT AND THE DOWNLOAD OR INSTALL PROCESS WILL NOT CONTINUE. 1. DEFINITIONS. "Software" means the identified above in binary form, any other machine readable materials (including, but not limited to, libraries, source files, header files, and data files), any updates or error corrections provided by Sun, and any user manuals, programming guides and other documentation provided to you by Sun under this Agreement. "Programs" mean Java applets and applications intended to run on the Java 2 Platform Standard Edition (J2SE platform) platform on Java-enabled general purpose desktop computers and servers. 2. LICENSE TO USE. Subject to the terms and conditions of this Agreement, including, but not limited to the Java Technology Restrictions of the Supplemental License Terms, Sun grants you a non-exclusive, non-transferable, limited license without license fees to reproduce and use internally Software complete and unmodified for the sole purpose of running Programs. Additional licenses for developers and/or publishers are granted in the Supplemental License Terms.
    [Show full text]
  • Foils USB Seminar.Msw
    To Transpose or Not to Transpose; That is the Question Performance Issues in the use of Java-based XML Software for Real-World Problems Herbert J. Bernstein Bernstein + Sons, Bellport, NY Design and Analysis Research Seminar Computer Science Department, SUNY at Stony Brook Wed., Sept. 26, 2001 2-3pm, CS Seminar Room 1306 Work supported in part by NSF via NDB project at Rutgers Bernstein: To Transpose or Not to Transpose, 26 Sep 01 Page - 1 Preface • Started in Bioinformatics • Managing large structural data sets • Drawing representations of molecules • Older representations were fixed field, order dependent • Natural for arrays and procedural languages • Newer representations are free field, order independent • Natural for trees and object-oriented languages • Experience revealed serious performance issues • Apply to any language with dynamic memory allocation • Current impact is in high performance graphics • Likely to be a general issue as use of XML for large complex documents spreads Bernstein: To Transpose or Not to Transpose, 26 Sep 01 Page - 2 Typical drawing from fixed field file (1CRN) Bernstein: To Transpose or Not to Transpose, 26 Sep 01 Page - 3 Drawing from XML version of 1CRN using Jmol Bernstein: To Transpose or Not to Transpose, 26 Sep 01 Page - 4 Introduction • The question: Java performance for large XML documents • How the question arose • Data representation in Bioinformatics • PDB format, CIF, CML and XML • XML is seeing more use • Document publication markup • Tree-oriented data representation • XHTML • Java is often
    [Show full text]
  • Untersuchung Von Verschlüsselter E-Mail- Kommunikation Nach Spam
    JOHANNES KEPLER UNIVERSITAT¨ LINZ JKU Technisch-Naturwissenschaftliche Fakult¨at Untersuchung von verschl¨usselterE-Mail- Kommunikation nach Spam und Viren MASTERARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Masterstudium Netzwerke und Sicherheit Eingereicht von: Michael Grundmann Bakk.techn., 0656189 Angefertigt am: Institut f¨urInformationsverarbeitung und Mikroprozessortechnik Beurteilung: O.Univ.-Prof. Dr. J¨org R. M¨uhlbacher Assoz.Prof. Mag. iur. Dipl.-Ing. Dr. Michael Sonntag Mitwirkung: Dipl.-Ing. Dr. Rudolf H¨ormanseder Linz, September 2012 Kurzfassung Ohne eine Überprüfung von E-Mail-Nachrichten nach unerwünschten (Spam) oder gefährlichen Inhalten (Viren, Phishing) ist das Betreiben oder Benutzen eines Mail-Dienstes nicht mehr vorstellbar. Da immer mehr und sensiblere Daten übertragen werden, wird auch die Verschlüs- selung des Mail-Transports immer wichtiger. Diese Verschlüsselung ist sicherheitstechnisch eine sinnvolle Entwicklung, die aber der benötigten Überprüfung der Mails entgegenstehen kann, wenn die Mail-Analyse beim »Betreten« oder »Verlassen« des eigenen Netzwerkes erfolgen soll. Diese Arbeit zeigt eine Möglichkeit, eine solche Inhaltsanalyse auch bei Verwendung von Verschlüsselung vorzunehmen. Dabei wird trotz TLS-Verschlüsselung, die zwischen den Mailservern zur Absicherung des SMTP-Transportweges aufgebaut wird, die Inhaltsanalyse mit Hilfe einer vertrauenswürdigen Zertifizierungsstelle ermöglicht. Hierbei werden bestehende SMTP-Proxy-Lösungen auf solche Funktionalität hin untersucht und als Konsequenz der Untersuchung wird eine Eigenentwicklung vorgestellt. Dazu werden die Eigenheiten von SMTP vorgestellt, soweit diese bei der Implementierung eines Proxy und der Verwendung von TLS relevant sind. Bei der Realisierung wurde darauf Wert gelegt, dass der Proxy die Sicherheit erhöht, aber dabei in keinem Fall ein nicht vorhandenes Sicherheitsniveau vortäuscht. Auch soll die Funktionalität und das Verhalten, besonders in Fehlerfällen, genau der Kommunikation ohne Proxy entsprechen.
    [Show full text]
  • ATTACHMENT a to the LICENSE AGREEMENT for TRESYS XD AIR SOFTWARE END USER LICENSE AGREEMENT
    ATTACHMENT A to the LICENSE AGREEMENT FOR TRESYS XD AIR SOFTWARE END USER LICENSE AGREEMENT RED HAT® ENTERPRISE LINUX® AND RED HAT APPLICATIONS This end user license agreement (“EULA”) governs the use of any of the versions of Red Hat Enterprise Linux, any Red Hat Applications (as set forth at www.redhat.com/licenses/products), and any related updates, source code, appearance, structure and organization (the “Programs”), regardless of the delivery mechanism. 1. License Grant. Subject to the following terms, Red Hat, Inc. (“Red Hat”) grants to you (“User”) a perpetual, worldwide license to the Programs pursuant to the GNU General Public License v.2. The Programs are either a modular operating system or an application consisting of hundreds of software components. With the exception of certain image files identified in Section 2 below, the license agreement for each software component is located in the software component's source code and permits User to run, copy, modify, and redistribute (subject to certain obligations in some cases) the software component, in both source code and binary code forms. This EULA pertains solely to the Programs and does not limit User's rights under, or grant User rights that supersede, the license terms of any particular component. 2. Intellectual Property Rights. The Programs and each of their components are owned by Red Hat and others and are protected under copyright law and under other laws as applicable. Title to the Programs and any component, or to any copy, modification, or merged portion shall remain with the aforementioned, subject to the applicable license.
    [Show full text]
  • Architectural Styles of Extensible REST-Based Applications
    Institute for Software Research University of California, Irvine Architectural Styles of Extensible REST-based Applications Justin R. Erenkrantz University of California, Irvine [email protected] August 2006 ISR Technical Report # UCI-ISR-06-12 Institute for Software Research ICS2 110 University of California, Irvine Irvine, CA 92697-3455 www.isr.uci.edu www.isr.uci.edu/tech-reports.html Architectural Styles of Extensible REST-based Applications Justin R. Erenkrantz Institute for Software Research University of California, Irvine Irvine, CA 92697-3425 [email protected] ISR Technical Report # UCI-ISR-06-12 August 2006 Abstract: At the beginning of the World Wide Web (WWW or Web), there was no clear set of principles to guide the decisions being made by developers and architects. In these early days, a cacophony emerged without a clear direction to guide the evolution of the Web. If there was any direction during the inception of the Web, it was a weak focus on how communication might occur between machines on the Web and the content that was to be transferred. Within a matter of a few years, scalability and other design concerns threatened the future of the early Web - this led to the introduction of REpresentation State Transfer architectural style (REST). The REST style imposed constraints on the exchange of communication over the Web and provided guidance for further modifications to the underlying protocols. The introduction of REST, through the HTTP/1.1 protocol, restored order to the Web by articulating the necessary constraints required for participation. In this survey, we will characterize any environment that is governed by REST constraints to be in a RESTful world.
    [Show full text]
  • Lifesize® Phone 2Nd Gen Third Party License
    Third Party Licenses This is the product of LifeSize, a division of Logitech. Copyright ©2003-2012 Logitech, and its licensors. All rights reserved. LifeSize, and the LifeSize logo is the trademark of Logitech. All other trademarks mentioned herein are the property of their respective owners. LifeSize products include software that is licensed to from other parties. Following is a list of some of that software. • Portions of this software are copyright © 1999-2004 Global IP Sound Inc. All Rights Reserved. Global IP Sound, GIPS, SoundWare, NetEQ, iPCM, iLBC, GIPS VoiceEngine and associated design marks and logos are trademarks owned or used under license by Global IP Sound AB, and may be registered in the United States and other countries. Patents and Patents Pending, Global IP Sound Inc. www.globalipsound.com. • Portions of this software are copyright © 2012 MonoType Imaging Inc. and MonoType Corporation. All Rights Reserved. Andale® is a trademark of the MonoType Corporation registered in the United States Patent and Trademark Office and may be registered in certain jurisdictions. WorldType™ is a trademark of MonoType Imaging Inc. and may be registered in certain jurisdictions. • Portions of this software are copyright © 2012 ASDSP Srl. All Rights Reserved. MCHP and Resample and associated design marks and logos are trademarks owned or used under license by ASDSP Srl, and may be registered in the United States and other countries. Patents and Patents Pending, ASPSP Srl. Open Source Software The product contains, among other things, Open Source Software, licensed under an Open Source Software License and developed by third parties. These Open Source Software files are protected by copyright.
    [Show full text]