100% found this document useful (22 votes)
122 views53 pages

Full Chapter Secure by Design 1St Edition Dan Bergh Johnsson Daniel Deogun Daniel Sawano 2 PDF

ebook

Uploaded by

michael.lewis719
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (22 votes)
122 views53 pages

Full Chapter Secure by Design 1St Edition Dan Bergh Johnsson Daniel Deogun Daniel Sawano 2 PDF

ebook

Uploaded by

michael.lewis719
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 53

Secure by Design 1st Edition Dan

Bergh Johnsson Daniel Deogun Daniel


Sawano
Visit to download the full and correct content document:
https://textbookfull.com/product/secure-by-design-1st-edition-dan-bergh-johnsson-dan
iel-deogun-daniel-sawano-2/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...

Secure by Design 1st Edition Dan Bergh Johnsson Daniel


Deogun Daniel Sawano

https://textbookfull.com/product/secure-by-design-1st-edition-
dan-bergh-johnsson-daniel-deogun-daniel-sawano-2/

Test Bank Psychology 4th Ed by Daniel Schater 4th


Edition Daniel Schater

https://textbookfull.com/product/test-bank-psychology-4th-ed-by-
daniel-schater-4th-edition-daniel-schater/

Practical Design Discovery Daniel M. Brown

https://textbookfull.com/product/practical-design-discovery-
daniel-m-brown/

Composite Materials Design and Applications 4th Edition


Daniel Gay

https://textbookfull.com/product/composite-materials-design-and-
applications-4th-edition-daniel-gay/
Aircraft Design A Conceptual Approach 6th Edition
Daniel P. Raymer

https://textbookfull.com/product/aircraft-design-a-conceptual-
approach-6th-edition-daniel-p-raymer/

Indivisible 1st Edition Daniel Aleman

https://textbookfull.com/product/indivisible-1st-edition-daniel-
aleman/

Leo Tolstoy Daniel Moulin

https://textbookfull.com/product/leo-tolstoy-daniel-moulin/

Psychology Daniel L. Schacter

https://textbookfull.com/product/psychology-daniel-l-schacter/

Optimal 16th Edition Daniel Goleman

https://textbookfull.com/product/optimal-16th-edition-daniel-
goleman/
Secure by Design

DAN BERGH JOHNSSON


DANIEL DEOGUN
DANIEL SAWANO

Foreword by Daniel Terhorst-North

Manning
Shelter Island
For online information and ordering of this and other Manning books, please visit
www.manning.com. The publisher offers discounts on this book when ordered in
quantity.

For more information, please contact

Special Sales Department


Manning Publications Co.
20 Baldwin Road
PO Box 761
Shelter Island, NY 11964
Email: [email protected]

©2018 by Manning Publications Co. All rights reserved.

No part of this publication may be reproduced, stored in a retrieval system, or


transmitted, in any form or by means electronic, mechanical, photocopying, or
otherwise, without prior written permission of the publisher.

Many of the designations used by manufacturers and sellers to distinguish their


products are claimed as trademarks. Where those designations appear in the
book, and Manning Publications was aware of a trademark claim, the designations
have been printed in initial caps or all caps.

Recognizing the importance of preserving what has been written, it is Manning’s


policy to have the books we publish printed on acid-free paper, and we exert our
best efforts to that end. Recognizing also our responsibility to conserve the
resources of our planet, Manning books are printed on paper that is at least 15
percent recycled and processed without the use of elemental chlorine.

Manning Publications Co.


20 Baldwin Road
PO Box 761
Shelter Island, NY 11964

Development editor: Jennifer Stout


Technical development editor: Luis Atencio
Review editor: Aleks Dragosavljevic´
Production editor: David Novak
Copy editor: Frances Buran
Proofreader: Carl Quesnel
Technical proofreader: John Guthrie
Typesetter: Happenstance Type-O-Rama
Cover designer: Marija Tudor

ISBN 9781617294358
Printed in the United States of America
To our families
—Dan Bergh Johnsson, Daniel Deogun, and Daniel Sawano
contents in brief

Part 1: Introduction
Chapter 1: Why design matters for security
Chapter 2: Intermission: The anti-Hamlet
Part 2: Fundamentals
Chapter 3: Core concepts of Domain-Driven
Design
Chapter 4: Code constructs promoting
security
Chapter 5: Domain primitives
Chapter 6: Ensuring integrity of state
Chapter 7: Reducing complexity of state
Chapter 8: Leveraging your delivery pipeline
for security
Chapter 9: Handling failures securely
Chapter 10: Benefits of cloud thinking
Chapter 11: Intermission: An insurance
policy for free
Part 3: Applying the fundamentals
Chapter 12: Guidance in legacy code
Chapter 13: Guidance on microservices
Chapter 14: A final word: Don’t forget about
security!
contents

Cover
Titlepage
Copyright
Dedication
contents in brief
contents
foreword
preface
acknowledgments
about this book
about the authors
about the cover illustration
Part 1: Introduction
Chapter 1: Why design matters for security
1.1 Security is a concern, not a feature
1.1.1 The robbery of Öst-Götha
Bank, 1854
1.1.2 Security features and
concerns
1.1.3 Categorizing security
concerns: CIA-T
1.2 Defining design
1.3 The traditional approach to software
security and its shortcomings
1.3.1 Explicitly thinking about
security
1.3.2 Everyone is a security expert
1.3.3 Knowing all and the
unknowable
1.4 Driving security through design
1.4.1 Making the user secure by
design
1.4.2 The advantages of the
design approach
1.4.3 Staying eclectic
1.5 Dealing with strings, XML, and a
billion laughs
1.5.1 Extensible Markup Language
(XML)
1.5.2 Internal XML entities in a
nutshell
1.5.3 The Billion Laughs attack
1.5.4 Configuring the XML parser
1.5.5 Applying a design mindset
1.5.6 Applying operational
constraints
1.5.7 Achieving security in depth
Summary
Chapter 2: Intermission: The anti-Hamlet
2.1 An online bookstore with business
integrity issues
2.1.1 The inner workings of the
accounts receivable ledger
2.1.2 How the inventory system
tracks books in the store
2.1.3 Shipping anti-books
2.1.4 Systems living the same lie
2.1.5 A do-it-yourself discount
voucher
2.2 Shallow modeling
2.2.1 How shallow models emerge
2.2.2 The dangers of implicit
concepts
2.3 Deep modeling
2.3.1 How deep models emerge
2.3.2 Make the implicit explicit
Summary
Part 2: Fundamentals
Chapter 3: Core concepts of Domain-Driven
Design
3.1 Models as tools for deeper insight
3.1.1 Models are simplifications
3.1.2 Models are strict
3.1.3 Models capture deep
understanding
3.1.4 Making a model means
choosing one
3.1.5 The model forms the
ubiquitous language
3.2 Building blocks for your model
3.2.1 Entities
3.2.2 Value objects
3.2.3 Aggregates
3.3 Bounded contexts
3.3.1 Semantics of the ubiquitous
language
3.3.2 The relationship between
language, model, and bounded
context
3.3.3 Identifying the bounded
context
3.4 Interactions between contexts
3.4.1 Sharing a model in two
contexts
3.4.2 Drawing a context map
Summary
Chapter 4: Code constructs promoting
security
4.1 Immutability
4.1.1 An ordinary webshop
4.2 Failing fast using contracts
4.2.1 Checking preconditions for
method arguments
4.2.2 Upholding invariants in
constructors
4.2.3 Failing for bad state
4.3 Validation
4.3.1 Checking the origin of data
4.3.2 Checking the size of data
4.3.3 Checking lexical content of
data
4.3.4 Checking the data syntax
4.3.5 Checking the data semantics
Summary
Chapter 5: Domain primitives
5.1 Domain primitives and invariants
5.1.1 Domain primitives as the
smallest building blocks
5.1.2 Context boundaries define
meaning
5.1.3 Building your domain
primitive library
5.1.4 Hardening APIs with your
domain primitive library
5.1.5 Avoid exposing your domain
publicly
5.2 Read-once objects
5.2.1 Detecting unintentional use
5.2.2 Avoiding leaks caused by
evolving code
5.3 Standing on the shoulders of
domain primitives
5.3.1 The risk with overcluttered
entity methods
5.3.2 Decluttering entities
5.3.3 When to use domain
primitives in entities
5.4 Taint analysis
Summary
Chapter 6: Ensuring integrity of state
6.1 Managing state using entities
6.2 Consistent on creation
6.2.1 The perils of no-arg
constructors
6.2.2 ORM frameworks and no-arg
constructors
6.2.3 All mandatory fields as
constructor arguments
6.2.4 Construction with a fluent
interface
6.2.5 Catching advanced
constraints in code
6.2.6 The builder pattern for
upholding advanced constraints
6.2.7 ORM frameworks and
advanced constraints
6.2.8 Which construction to use
when
6.3 Integrity of entities
6.3.1 Getter and setter methods
6.3.2 Avoid sharing mutable
objects
6.3.3 Securing the integrity of
collections
Summary
Chapter 7: Reducing complexity of state
7.1 Partially immutable entities
7.2 Entity state objects
7.2.1 Upholding entity state rules
7.2.2 Implementing entity state as
a separate object
7.3 Entity snapshots
7.3.1 Entities represented with
immutable objects
7.3.2 Changing the state of the
underlying entity
7.3.3 When to use snapshots
7.4 Entity relay
7.4.1 Splitting the state graph into
phases
7.4.2 When to form an entity relay
Summary
Chapter 8: Leveraging your delivery pipeline
for security
8.1 Using a delivery pipeline
8.2 Securing your design using unit
tests
8.2.1 Understanding the domain
rules
8.2.2 Testing normal behavior
8.2.3 Testing boundary behavior
8.2.4 Testing with invalid input
8.2.5 Testing the extreme
8.3 Verifying feature toggles
8.3.1 The perils of slippery toggles
8.3.2 Feature toggling as a
development tool
8.3.3 Taming the toggles
8.3.4 Dealing with combinatory
complexity
8.3.5 Toggles are subject to
auditing
8.4 Automated security tests
8.4.1 Security tests are only tests
8.4.2 Working with security tests
8.4.3 Leveraging infrastructure as
code
8.4.4 Putting it into practice
8.5 Testing for availability
8.5.1 Estimating the headroom
8.5.2 Exploiting domain rules
8.6 Validating configuration
8.6.1 Causes for configuration-
related security flaws
8.6.2 Automated tests as your
safety net
8.6.3 Knowing your defaults and
verifying them
Summary
Chapter 9: Handling failures securely
9.1 Using exceptions to deal with failure
9.1.1 Throwing exceptions
9.1.2 Handling exceptions
9.1.3 Dealing with exception
payload
9.2 Handling failures without exceptions
9.2.1 Failures aren’t exceptional
9.2.2 Designing for failures
9.3 Designing for availability
9.3.1 Resilience
9.3.2 Responsiveness
9.3.3 Circuit breakers and timeouts
9.3.4 Bulkheads
9.4 Handling bad data
9.4.1 Don’t repair data before
validation
9.4.2 Never echo input verbatim
Summary
Chapter 10: Benefits of cloud thinking
10.1 The twelve-factor app and cloud-
native concepts
10.2 Storing configuration in the
environment
10.2.1 Don’t put environment
configuration in code
10.2.2 Never store secrets in
resource files
10.2.3 Placing configuration in the
environment
10.3 Separate processes
10.3.1 Deploying and running are
separate things
10.3.2 Processing instances don’t
hold state
10.3.3 Security benefits
10.4 Avoid logging to file
10.4.1 Confidentiality
10.4.2 Integrity
10.4.3 Availability
10.4.4 Logging as a service
10.5 Admin processes
10.5.1 The security risk of
overlooked admin tasks
10.5.2 Admin tasks as first-class
citizens
10.6 Service discovery and load
balancing
10.6.1 Centralized load balancing
10.6.2 Client-side load balancing
10.6.3 Embracing change
10.7 The three R’s of enterprise security
10.7.1 Increase change to reduce
risk
10.7.2 Rotate
10.7.3 Repave
10.7.4 Repair
Summary
Chapter 11: Intermission: An insurance
policy for free
11.1 Over-the-counter insurance
policies
11.2 Separating services
11.3 A new payment type
11.4 A crashed car, a late payment, and
a court case
11.5 Understanding what went wrong
11.6 Seeing the entire picture
11.7 A note on microservices
architecture
Summary
Part 3: Applying the fundamentals
Chapter 12: Guidance in legacy code
12.1 Determining where to apply
domain primitives in legacy code
12.2 Ambiguous parameter lists
12.2.1 The direct approach
12.2.2 The discovery approach
12.2.3 The new API approach
12.3 Logging unchecked strings
12.3.1 Identifying logging of
unchecked strings
12.3.2 Identifying implicit data
leakage
12.4 Defensive code constructs
12.4.1 Code that doesn’t trust
itself
12.4.2 Contracts and domain
primitives to the rescue
12.4.3 Overlenient use of Optional
12.5 DRY misapplied—not focusing on
ideas, but on text
12.5.1 A false positive that
shouldn’t be DRY’d away
12.5.2 The problem of collecting
repeated pieces of code
12.5.3 The good DRY
12.5.4 A false negative
12.6 Insufficient validation in domain
types
12.7 Only testing the good enough
12.8 Partial domain primitives
12.8.1 Implicit, contextual
currency
12.8.2 A U.S. dollar is not a
Slovenian tolar
12.8.3 Encompassing a conceptual
whole
Summary
Chapter 13: Guidance on microservices
13.1 What’s a microservice?
13.1.1 Independent runtimes
13.1.2 Independent updates
13.1.3 Designed for down
13.2 Each service is a bounded context
13.2.1 The importance of
designing your API
13.2.2 Splitting monoliths
13.2.3 Semantics and evolving
services
13.3 Sensitive data across services
13.3.1 CIA-T in a microservice
architecture
13.3.2 Thinking “sensitive”
13.4 Logging in microservices
13.4.1 Integrity of aggregated log
data
13.4.2 Traceability in log data
13.4.3 Confidentiality through a
domain-oriented logger API
Summary
Chapter 14: A final word: Don’t forget about
security!
14.1 Conduct code security reviews
14.1.1 What to include in a code
security review
14.1.2 Whom to include in a code
security review
14.2 Keep track of your stack
14.2.1 Aggregating information
14.2.2 Prioritizing work
14.3 Run security penetration tests
14.3.1 Challenging your design
14.3.2 Learning from your
mistakes
14.3.3 How often should you run a
pen test?
14.3.4 Using bug bounty programs
as continuous pen testing
14.4 Study the field of security
14.4.1 Everyone needs a basic
understanding about security
14.4.2 Making security a source of
inspiration
14.5 Develop a security incident
mechanism
14.5.1 Incident handling
14.5.2 Problem resolution
14.5.3 Resilience, Wolff’s law, and
antifragility
Summary
Index
Lists of Figures
List of Tables
List of Listings
foreword
In the early 1990s I was in my first graduate job in the middle of a
recession, and they were having a tough round of layoffs. Someone
noticed that each victim’s UNIX account was being locked out just
before the friendly HR person came to tap them on the shoulder and
escort them from the building. They wrote a small script to monitor
differences in the user password file and display the names of users
whose accounts were being locked. We suddenly had a magic tool
that would identify the next target just before the hatchet fell...and
an enormous security and privacy breach.
In my second job, as a programmer at a marketing firm, there
were lots of password-protected Microsoft Word documents flying
around, often with sensitive commercial information in them. I
pointed out how weak the encryption was on these files, and how
easy it was to read them using a freely available tool that was
making the rounds on Usenet (your grandparents’ Google Groups).
No one listened until I started emailing the files back to the senders
with the encryption removed.
Then I figured most people’s login passwords were probably too
weak as well. I got the same lack of response until I wrote a script
that ran a simple password-cracking tool on a regular basis, and
emailed people their login passwords. There was a pretty high hit
rate. At that stage I didn’t know anything about information theory,
Shannon entropy, attack surface areas, asymmetric cryptography—I
was just a kid with a password-cracking tool. But I became the
company’s de facto InfoSec Officer. Those were simpler times!
Over a decade later, as a developer at ThoughtWorks building a
large-scale energy trading platform, I received what is still my
favorite ever bug report. One of our testers noticed that a password
field didn’t have a check for password length, which should have
Another random document with
no related content on Scribd:
Sanders oli huvittunut. Hän tiesi, että maurilaiset olivat
synnynnäisiä tarinoitsijoita ja ihmetteli.

— No? kysyi hän.

Mies piti merkitsevän tauon.

— No, ylistetty ja kunnioitettu herra, sanoi hän, — siitä päivästä


olen kulkenut läpi maailman rukoillen uusissa paikoissa, sillä pyhä
mies kirosi minut, kun valehtelin hänelle, ja jokin sisimmässäni
pakottaa minua. Ja nyt, herra olen kulkenut Damarasta Mogadoriin,
Mogadorista Egyptiin ja Egyptistä Zanzibariin.

— Mainiota, sanoi Sanders. — Kielesi on kuin hunajaa ja äänesi


kuin silkkiä, ja Dzinnin surassa on kirjoitettu: »Totuus on karkea ja
valhe juoksee pehmeästi. Älkää välittäkö hänestä, jonka puhe on
mielevää.»

Sanders tunsi Koraanin, kuten tämä lause osoittaa.

— Antakaa hänelle syötävää, sanoi Sanders palvelijalleen, —


sitten lähetän hänet matkoihinsa.

Vähän myöhemmin komissaari meni poliisien majoituspaikkaan ja


keskeytti hausakapteenin tutkimukset — kapteeni Hamiltonilla oli
lääkärikirja, josta hän luki, miten arsenikkia voitaisiin käyttää 1)
ajoittaisen kuumeen parantamiseen, 2) kätevänä keinona
vapauttamaan miehen yksitoikkoisesta rannikkoelämästä.

Sanders, jonka vaistot olivat yliluonnolliset, ymmärsi tutkimukset


heti ja irvisti.
— Ellei sinun onnistu löytää soveliasta itsemurhakeinoa tunnin
kuluessa tai niille main, sanoi hän, — niin tuon sinun luoksesi
alkuperäisen Vaeltavan juutalaisen Tangerista.

Hausa pamautti kirjansa kiinni, sytytti savukkeen ja sammutti


huolellisesti tulitikun.

— Tämä, sanoi hän katsellen majansa purjekangaskattoa, — on


joko liikarasituksen tai liiallisessa auringonpaisteessa kalastamisen
tulos.

Sanders heittäytyi nojatuoliin ja sytytti sikarin.

Muka huomaamatta hausan piikkiä hän ryhtyi maan Abdul


Asraelin, maurilaisen, tarinaa.

— Hän on mielenkiintoinen peijakas, sanoi hän, aikoo nousta


jokea ja mennä läpi Afrikan Ugandaan.

— Anna hänen mennä, sanoi hausa. — Mikäli tiedän, hän ei pysty


kansallesi valheita opettamaan. Hän voi kuitenkin antaa heidän
valheilleen tyyliä, ja he ovat kovin sen tarpeessa.

Niinpä Abdul Asrael läksi päämajasta varastokanootilla, joka vei


hallituksen tavaraa Isisin kyliin.

Joella oli tyyni aika. Sandersista elämä tuntui kulkevan hyvin


tasaisesti. Oli laadittava tiedonantoja (niitä hänen sielunsa kammosi)
ja raportteja hänen kaukaisesta valtakunnastaan; päälliköiden
tuomitsemia rangaistuksia ja heidän toimenpiteitään tuotiin hänen
vahvistettavakseen, ja sitten hän kalasteli.
Kerran hän matkusti vastavirtaa pitämään palaveria, joka oli liian
tärkeä Akasavan uuden kuninkaan hoidettavaksi, mutta se oli ainoa
vaihtelu yksitoikkoisuudessa. Uusi kuvernööri oli mies, joka tunsi
tehtävänsä ja tiesi myöskin, että tehtävistä tärkein oli antaa
alaistensa hoidella asiat omin neuvoin.

Sanders selvitti Akasavan jutun, langetti tuomion, joka tyydytti


kaikkia asianomaisia, ja oli palautumassa siihen tyytyväisyyden
tilaan, johon työnsä suorittanut mies pääsee omatunto rauhallisena.

Hän lähti Akasavasta auringon laskiessa, kulkien yötä myöten


huvikseen. Joki on näillä main oikea joki, eikä siinä ole hiekkasärkkiä
eikä riuttoja ruorimiehen harmiksi. Kello viideltä hän kulki Chumbirin
ohi.

Hänellä ei ollut mitään syytä luulla, etteivät Chumbirin asiat olleet


oikealla tolalla, eikä aihetta katsoa kylää muuten kuin
ohimennessään. Hän tuli myötävirtaa päivän sarastaessa ja meni
pikku kylän ohi mitään epäilemättä. Hän näki »Zairen»
komentosillalta kaukaisella rannalla hiipuvan hiilloksen — hän kulki
keskellä jokea, joka tällä kohdalla on kaksi mailia rannasta rantaan.
Päivä kirkastui nopeasti. Oli harmaa sarastus, kun hän sivuutti kylän,
mutta jo aikaa ennen kuin hänen piti kiertää niemeke, joka kätkee
Chumbirin kylän näkyvistä, oli täysi päivä.

Ihmisille tulee villissä Afrikassa tavaksi tarkata kaikkea.


Sandersilla esimerkiksi oli tapana aina silmätä taaksensa kylään
päin, ennen kuin antoi ruorimiehelle päännyökkäyksellä käskyn
kääntää ruoria, jotta päästäisiin ohi niemen. Yhden silmäyksen hän
heitti ja rypisti kulmiaan. Pikku kylä näkyi aivan selvästi. Suorat
majarivit, viettävä rinne ja katujen varsilla Isisin palmuja riveissä.
— Käännä, sanoi hän ruorimiehelle, ja tämä käänsi ratasta.

Pieni laiva kallistui, kun nopea virta täydellä voimallaan painoi


keskirunkoa vastaan; sitten se hitaasti nousi suoraan ja vesi kohosi
kahta puolta keulan, kun se jälleen halkoi virtaa.

— Abibu, sanoi hän kersantilleen, — en näe ihmisiä kylän kadulla


enkä tulien savua.

— He ovat ehkä metsällä, sanoi Abibu viisaasti.

— Kalastajat eivät metsästä, sanoi Sanders, — eivätkä naiset ja


vanhukset.

Abibu ei esittänyt sellaista mahdollista olettamusta, että he ehkä


nukkuivat, sillä vaikka miehet olisivatkin olleet sellaisia laiskureita,
niin eivät he olisi antaneet naisväen jättää velvollisuuksiaan
täyttämättä.

Sanders ohjasi laivan suvantoon lähelle rantaa, mutta kukaan ei


tullut häntä vastaan.

Näkyvissä ei ollut kissaa, ei koiraa — vain suuren nuotion jätteet


savusivat rannalla.

Hänen miehensä kahlasivat rantaan ja kiinnittivät köydet, ja


Sanders meni rannalle.

Hän kulki pitkin pääkatua, jolla ei ollut elon merkkiäkään. Hän


huusi terävästi, kukaan ei vastannut. Jokainen maja oli tyhjä; padat,
vuoteet, kaikki esineet olivat paikoillaan. Jyväin jauhamiseen
käytettävät karkeat kivet olivat majojen edessä, puun veistoon
käytettävät isot veitset ja raskaat ngombilaiset kirveet, ngombilaiset
lapiot, kaikki olivat näkyvissä, mutta ihmisistä, nuorista tai vanhoista,
miehistä, naisista tai lapsista, ei näkynyt jälkeäkään. Ainoa elävä
olento, jonka hän tapasi, oli Abdul Asrael. Hän näki tämän miehen
varjoisalla rannalla lähellä kylää rukousmatto alleen levitettynä ja
kasvot Mekkaa kohti rukoilemassa.

Sanders odotti rukouksen päättymistä ja tiedusteli häneltä.

— Herra, sanoi hän, — en ole nähnyt mitään, mutta kerron sinulle


erään tarinan. Kerran…

— En halua tarinoita, katkaisi Sanders.

Hän käänsi laivan keulan virran poikki. Aivan vastapäätä oli


Fesembini, suurempi kylä, ja kun molemmat paikat olivat alituisessa
yhteydessä keskenään, voi sieltä ehkä saada jotain selvitystä
ihmisten poissaoloon.

Fesembini oli täynnä elämää, ja kaikki, jotka saattoivat kävellä,


tulivat rannalle ja sanoivat: »O, ai!» komissaarille, mutta Mondomi,
päällikkö, ei osannut selvittää.

Hän oli pitkä, hoikka mies, ohut partakiehkura poskillaan.

— Herra, sanoi hän, — he olivat siellä eilen illalla, sillä kuulin


heidän rumpujensa äänet; myöskin kuulin naurua ja tanssijoiden
kalistimien soivan.

— Hm! sanoi Sanders.

Hän jatkoi lähikylissä tiedustelujaan, mutta ei tutkimustensa


päättyessä ollut saanut minkäänlaista selvyyttä kolmensadan
hengen katoamisesta.
Hän istuutui viileään ja hiljaiseen hyttiinsä pohtimaan asiaa.
Chumbirilaiset olivat niin lainkuuliaista kansaa kuin akasavalaiset
voivat olla; he maksoivat veronsa; mitään syytettä ei heitä vastaan
ollut, mutta yht'äkkiä he kuitenkin jättävät kotinsa ja menevät
metsään. Etteivät he olleet lähteneet jokea myöten, oli selvää, kun
heidän kanoottinsa löydettiin huolellisesti vedettyinä eräälle riutalle.

— Jääköön, sanoi Sanders. Hänen oli oltava päämajassa päivän


tai parin päästä. Kun hän oli päättänyt siellä työnsä, hän kiiruhti
selvittämään Chumbirin probleemaa.

Väki ei ollut palannut, eivätkä vakoojat olleet kuulleet mitään


heistä.

Hän lähetti Abibun metsään etsimään heidän jälkiään, eikä


hausakersantti kohdannut mitään vaikeuksia, sillä metsästä kahden
mailin päästä hän löysi vanhan miehen, joka oli kuollut matkalla, ja
vähän kauempaa hän löysi vanhan naisen, myöskin vainajan.

Sanders meni katsomaan ruumiita. Niissä ei ollut mitään


väkivallan merkkejä. He olivat nähtävästi kuolleet väsymyksestä.

— Päivänkoitteessa lähden heidän jälkeensä, sanoi Sanders, — ja


otan mukaani kymmenen miestä, sinä saat valita hyviä kävelijöitä.

Hän otti muutaman tunnin unen ja ennen päivänkoittoa Abibu toi


hänelle kupin teetä, jota ilman Sanders ei milloinkaan aloittanut
päiväänsä.

Sanders, jossa ei ollut grammaakaan liikaa lihaa, oli oivallinen


kävelijä, ja joukko eteni kaksitoista mailia ennen puolta päivää — se
ei ollut helppo tehtävä, sillä metsätie ei ollut juuri muuta kuin ruohon
peittämä polku. Joukko lepäsi päivän kuumat tunnit ja jatkoi
matkaansa kello kolmelta.

He saapuivat leiripaikalle, jossa tulisijat vielä olivat lämpimät ja


jossa kaksi vastaluotua hautaa osoitti, mitä merkitsee, kun iäkkäitä ja
kivulloisia äkkiä ruvetaan rasittamaan.

Yhdeksän aikaan sinä iltana, kun Sanders jo mietti leiriytymistä,


hän näki tulien loisteen edessäpäin ja jatkoi matkaansa.

Lukuisat nuoret puut estivät leirin näkymästä, ja joukkueen oli


kuljettava kiertotietä päästäkseen aukeamalle, jolla ihmiset olivat.

Mykistyneen komissaarin silmien eteen avautui omituinen näky.

Rivi rivin jälkeen polvistuneita olentoja näkyi tulen piirissä.

He olivat kaikki asettuneet samaan suuntaan, ja kaikkien


kumartuessa yht'aikaa yksi toimi esikumartajana, ja Sanders tunsi
helposti päämiehen.

— Kala on suuri, hän lauloi.

— Oi Kala! mutisi hänen kansansa.

— Kala on korkea!

— Oi Kala! kertasivat toiset ja taivuttivat päätään.

Päällikkö ei nähnyt Sandersia, sillä Sanders lähestyi häntä


takaapäin. Mutta hän tiesi Sandersin olevan siellä, kun Sanders
potkaisi häntä hyvin lujasti.

— Pystyyn, oi hullu mies! sanoi Sanders.


Hän ei käyttänyt juuri näitä sanoja, sillä hän oli hyvin ihmeissään,
mutta mitä hän sanoikin, sillä oli toivottu vaikutus.

— Kerropas nyt, sanoi Sanders, — miksi olet niin paljon suurempi


hullu kuin milloinkaan luulin.

— Herra, sanoi päällikkö yksinkertaisesti, — menemme etsimään


uutta maata, sillä eräs arabialainen on meille opettanut, että jos
rukoilemme uudessa paikassa joka yö, meitä odottaa suuri
siunaus…

Valo välähti Sandersille.

— Palaamme huomenna, sanoi hän nieltyään jotakin kurkkuunsa,


— ja minä lähden laivallani hakemaan tätä arabialaista.

Kahdessa päivässä hän pääsi kylään. Hän jätti päällikön


tuomitsemisen toiseen kertaan ja kiiruhti laivalle. Kun »Zaire» oli
lähdössä, tuo surun murtama olento tuli rannalle juosten.

— Herra, huudahti hän, — pyydämme oikeutta!

— Saatte sitä, sanoi Sanders irvistäen.

— Herra, kotimme ovat tyhjiksi varastetut, mitään ei ole jäljellä.

Sanders kirosi hänet nasevasti kielellä, joka sallii sillä alalla laajan
vaihtelun.

— Puhu nopeasti, marakattien isä.

— Herra, ne ovat menneet, sanoi järkyttynyt päämies, — kaikki


meidän patamme ja jauhinkivemme, keihäämme, veitsemme ja
siimamme.
— Miksi jätitte ne, oi kollikissani isä? ärisi Sanders raivoissaan.

— Arabialainen sanoi meille, sanoi päämies, — ja me teimme,


mikä oli meille parasta.

Sanders nojautui laivan kaiteeseen ja puhui miehelle.

Ne eivät olleet ystävyyden eivätkä hyväilyn sanoja, eivät toivon tai


lohdutuksenkaan sanoja. Sanders otti metsän ja joen
vertauskuvikseen. Hän kertoi päämiehelle koko hänen elämänsä ja
hänen tilansa kuoleman jälkeen. Hän viittasi miehen tapoihin,
siveyteen ja sukulaisiin. Hän puhui tunteikkaasti hänen päästään,
jaloistaan ja ruumillisista avuistaan, ja uteliaat hausat sulloutuivat
lähemmäksi ja lähemmäksi, jottei vain yksikään sana menisi heidän
kuulemattaan.

— Ja nyt, sanoi Sanders lopuksi, — kutsun kaikki miehet


todistamaan, että sinä ja kansasi olette busmanneja.

— O ko! sanoivat kauhistuneet kyläläiset, jotka olivat tulleet


rannalle päällikkönsä kintereillä, sillä »busmanni» on suurin herjaus.

— Busmanneja, kertasi Sanders ivallisesti, kun laiva ajautui


rannalta, — juurensyöjiä, jotka puhutte marakattien kanssa niiden
omalla kielellä…

Hän jätti kyläläiset sangen alakuloisiksi.

Ensin hän meni joen poikki Fesembiniin.

Kyllä, päällikkö oli nähnyt arabialaisen, olipa vuokrannut hänelle


kaksi suurta kanoottiakin ja kuusi soutajaa kumpaankin.
— Hän sanoi olevansa hallituksen lähetti, salainen lähetti, herra,
sanoi päällikkö, — ja halusi tallentaa chumbirilaisten jälkeenjättämät
tavarat.

Nämä kanootit olivat menneet vastavirtaa, ja niillä oli kuuden


päivän etumatka.

Sanders ei kuluttanut aikaa. Laivan perällä olevasta häkistä hän


otti kaksi kyyhkystä. Toisen jalassa oli kapea punainen nauha, toisen
sininen. Hän kirjoitti kahdelle paperilapulle aivan samansisältöisen
tiedonannon, sitoi ne kyyhkysten jalkoihin ja laski ne menemään.
Toisen hän laski, ja se meni pohjoiseen. Hän odotti, kunnes se oli
kadonnut näkyvistä, ja päästi toisen. Sekin meni pohjoista kohti,
mutta hiukan länteen edellisen suunnasta.

»Zairella» Sanders lähti samaan suuntaan. Myöhään iltapäivällä


hän tuli erääseen Akasavan kylään.

— Minkälaisia vieraita täällä on ollut? kysyi hän nopeasti kutsutulta


päälliköltä.

— Herra, ei minkäänlaisia vieraita, sanoi päällikkö, — paitsi erästä


arabialaista, jonka sinun ylhäisyytesi lähetti myymään meille patoja
ja veitsiä.

Sanders puristi laivan parrasta uskaltamatta puhua.

— Hän myi sinulle patoja? kysyi hän käheästi.

— Ja keihäitä, sanoi päällikkö, — ja useita hyödyllisiä esineitä, ja


ne olivat halpoja, ja ihmiset ylistivät sinua, herra, kun olit ollut niin
ystävällinen. Sillä näin sanoi arabialainen: »Herramme Sandi tahtoo,
että maksatte näistä kalliista kapineista ainoastaan vähän — hän itse
on maksanut minulle, niin että voin antaa teille halvemmalla.»

— Eikä muuta?

Päällikkö epäröi.

— Herra, hän puhui meille eräältä paholaisesta, joka vihaa


kiittämättömiä, ja minun mieheni pelkäsivät, että elleivät he olisi
ottaneet vastaan sinun ylhäisyytesi antamaa lahjaa ja…

— Irti! ärjyi Sanders.

Alastomat miehet hyppäsivät veteen, kahlasivat rannalle ja


irroittivat köydet.

— Sinä taas, sanoi Sanders päällikölle, — mene ja sano herrallesi


kuninkaalle, että hän on pannut lapsen tämän kylän päälliköksi. Sillä
milloin olisin niin hullu, että antaisin lahjoja laiskoille ihmisille?
Oksinko sairas, että maksaisin arabialaiselle varkaalle rahaa
hyödyttääkseni pahoja ja hupsuja miehiä?

— Herra, sanoi päällikkö vilpittömästi, — kun tiedämme, että olet


paha ja julma mies, niin iloitsimme suuresti luullessamme, että
jumalat olivat liikuttaneet sinun sydäntäsi.

Sanders katseli ympärilleen keksiäkseen jotakin, joka olisi


heittänyt, sillä aika oli kallis. Hän keksi vain arvokkaita kapineita ja
antoi asian jäädä.

Kymmentä mailia kauempana olevassa kylässä hän jälleen tapasi


maurilaisen kolttosia. Täällä oli rukoileva pyhiinvaeltaja levännyt yön
ja lainannut kolme säkkiä suolaa ja maniokkia. Tämän hän oli tehnyt
hallituksen nimessä.

— Ja antoi minulle, sanoi ryppyinen päällikkö, —


paholaismerkkikirjan.

Hän ojensi paperin Sandersille.

Se oli arabiaa, ja komissaari luki sitä eräällä lailla liikuttuneena.

Abdul Asraelilta, Jumalan, yhden, totisen, hyvän ja laupiaan,


palvelijalta. Vääräuskoiselle Sandersille, jota Jumala varjelkoon ja
johtakoon oikealle tielle.

Rauha olkoon huoneellesi. Tämä on kirjoitettu Ramazinia


seuraavan kolmannen viikon neljäntenä päivänä.

Menen veljieni luo, jotka asuvat suuren joen putouksien takana.


Sen vuoksi rukoilen sinua: maksa näille ihmisille kaikki, mitä olen
heiltä ottanut.

Sanders luki sen uudelleen.

Jos Abdul kulkisi Ochorin ohi kulkevaa jokea myöten, joka kääntyy
jyrkästi Bamburiutan yli, hän pääsisi arabialaissiirtoloille, jotka olivat
Sandersin määräysvallan ulkopuolella, hyvissä ajoin. Sitä paitsi hän
olisi Sandersin saavuttamattomissa, sillä »Zaire» kulki puolitoista
syltä syvässä, kun riutalla oli tuskin puoli syltä vettä.

— Sanoiko tämä arabialainen, minne hän oli menossa? kysyi


Sanders.

Vanhus nyökkäsi.
— Hän meni Ochorin kautta, herra, sanoi hän, ja Sanders noitui.
— Ja hän kysyi, millaista väkeä ochorilaiset ovat.

— Ja mitä sinä sanoit? kysyi Sanders huvittuneena.

— Sanoin heidän olevan hupsuja, sanoi päällikkö, — ja hyvin


arkoja.

— Ja kuinka kauan olet ollut tässä kylässä? kysyi Sanders.

— Herra, täällä olen syntynyt ja kasvanut.

Komissaari Sandersin silmissä vilahti veitikka. Tämä vanhus ei


ollut koskaan kuullut Bosambosta. Ehkäpä kiusaus voittaisi Abdulin,
ja hän poikkeaisi tuon suuren miehen kylään.

Abdul Asrael tuli Ochorin kylään laulaen laulua. Hän oli iloinen,
sillä vain muutaman mailin päässä vastavirtaan oli korotiiliriutta, jolla
oli kylliksi vettä nopealle kanootille, mutta joka ei ollut »Zairen»
tapaiselle laivalle kyllin syvä eikä leveä.

Hän oli aikonut mennä suoraan pakopaikkaansa, mutta viisaasti


harkiten huomasi, että hänellä oli vielä runsas päivä aikaa paeta.

Hänen olisi ollut parasta jatkaa matkaansa, mutta sitä hän ei


tietänyt. Hän oli hyvillä mielin, sillä muutamaa tuntia aikaisemmin
hän oli myynyt yhden ngombilaispäälliköltä lainaamistaan
kanooteista, josta sitä paitsi maksu oli saatu frangeina.

Pukuunsa hän oli kätkenyt eri pyhiinvaellusretkillä saamansa


saaliin. Siellä oli likaisia turkkilaisia seteleitä, Tunisin kultarahoja,
puntia, saksanmarkkoja, kahdenkymmenen pesetan rahoja ja
raskaita kultaisia kotkia kaukaisesta maasta, jota hän ei ollut
koskaan nähnyt, suuri määrä mustia ja suklaan ruskeita Bank
Nationale de Belgiquen frangin seteleitä (ne hän oli saanut
Kongossa) puhumattakaan hopeakolikoista, joita Portugalin hallitus
silloin tällöin mynttäili.

Hän kulki Ochorin pääkatua pitkin ja tuli Bosambon eteen.

— Rauha olkoon talollesi, sanoi hän arabiaksi ja Bosambo, joka


työläästi taisi arabiaa, lausui hänet tervetulleeksi.

— Tulen Sandin, herramme, luota, sanoi Abdul vakavasti. — Hän


on lähettänyt minut näin sanoen: »Abdul Asraelille osoita parasta
vieraanvaraisuuttasi ja kohtele häntä kuin minua.»

— Olen Sandin koira, sanoi Bosambo, — vaikka hän on, niin kuin
tiedät, velipuoleni toisesta äidistä.

— Siitä hän on minulle usein puhunut, sanoi Abdul.

Neljännestunnin he vaihtoivat kohteliaisuuksia, minkä ajan


kuluttua maurilainen lausui hyvästit.

— Sillä minun pitää lukea rukoukseni, sanoi hän.

— Minä myös aion rukoilla, sanoi Bosambo äkkiä, — tapani


mukaan, ja kiitän Allahia, joka lähetti sinut, että voin rukoilla
rauhassa.

Abdul oli jo aikonut kertoa tarinansa Tangerin pyhästä miehestä,


mutta pidättyi. Sanders saapui kuusi tuntia jälkeenpäin, ja Bosambo
odotti häntä.
— Tuo on omituista puhetta, sanoi hän, — sillä on vain yksi tapa,
niin kuin on yksi Jumala. Ja kaikki miehet rukoilevat rauhassa.

Bosambo pudisti hiljaa päätänsä.

— Elän varkaiden keskellä, sanoi hän, — ja olen rikas mies. Tässä


maassa on tapana riisua kaikki vaatteet ja asettaa ne majan oven
eteen. Sitten mennä majaan ja rukoilla.

— Se on hyvä tapa, sanoi Abdul innokkaasti. — Sitä olen usein


koettanut.

— Mutta, jatkoi Bosambo, — miten voi uskovainen ryhtyä tähän


vakavaan toimitukseen? Sillä jos jätän vaatteeni, joihin kalliit
jalokiveni ovat kätketyt, niin kansani ryöstää minut.

— Bismallah! huudahti hurskas maurilainen, — tämä on onnen


päivä, me rukoilemme yhdessä, sinä ja minä. Ja kun minä rukoilen,
niin sinä vartioit minun vaatteitani, ja kun sinä olet rukoilemassa, kas,
minä olen Asrael, Miekan Enkeli, eikä kukaan saa koskea sinun
jalokiviisi elämäni kautta.

Sanotaan heidän syleilleen toisiaan. Abdul samalla koetteli


kätevillä sormillaan toisen vyötäisiä, tuntien joitakin paksuja
muhkuroita, joista ei saanut selvää.

— Minä rukoilen ensiksi, sanoi Abdul, — ja minä rukoilen kauan.

— Kauan minäkin rukoilen, virkkoi vilpitön Bosambo.

Abdul riisui vaatteensa, kokosi dzellabinsa ja housunsa kääröksi,


asetti ne maahan majan eteen ja astui sisään.
*****

Sanders saapui kuusi tuntia jälkeenpäin, ja Bosambo odotti häntä.

— Herra, sanoi hän, — arabialaisen olen vanginnut käskysi


mukaan, sillä kyyhkysesi oli taitava ja tuli nopeasti, vaikka on paljon
haukkoja.

— Missä hän on? kysyi Sanders.

— Minun majassani, sanoi Bosambo, — mutta, herra, kohtele


häntä lempeästi, sillä hän on minun uskoani, mutta vähän hullu.

— Hullu?

Bosambo nyökkäsi.

— Hullu, herra, sanoi hän surullisesti, — sillä hän sanoo minun


ryöstäneen hänet, ottaneen muka kulta- ja kirjarahoja — suuria
aarteita.

Sanders katsoi häneen terävästi.

— Otitko sinä? kysyi hän.

— Herra, sanoi Bosambo koruttoman arvokkaasti, hän oli minun


vieraani ja minun uskoani. Miten olisin voinut ryöstää hänet?

Sandersin keskustelu suuttuneen maurilaisen kanssa oli lyhyt.

— Lähetän sinut Kahleitten kylään vuodeksi, sanoi hän, — sillä


olet valehtelija, varas ja selkkausten aiheuttaja.
— Menen vankilaasi, herra, sanoi Abdul, — mutta sano tälle
mustalaiselle, että hänen on luovutettava rahani, jotka hän on
minulta varastanut: herra, ne olivat kätketty vaatteisiini, ja eräällä
kepposella…

— Se ei kuulu minuun, sanoi Sanders lyhyesti.

Hausat aikoivat viedä maurilaisen, kun tämä kääntyi Bosamboon.

— Tulen takaisin Kahleitten kylästä, sanoi hän, — ja tulen


luoksesi, sinä roisto ja siansyöjä. Ja…

Bosambo heilautti kättään paljon puhuvasti.

— Sinä et palaa ikinä Kahleitten kylästä, sanoi hän, — sillä Sandi,


joka on serkkuni, kertoi minulle salaa, että sinut myrkytetään. Ja
rahoista puhuessasi sinä valehtelet.

— Kuusisataa espanjandollaria! sähisi Abdul.

— Neljä ja puoli sataa, korjasi Bosambo julkeasti, — ja paljon


hopeaa murtuu purressa. Mene rauhassa, oi enkelini!
VAITELIAAT VELJET

Jotkut alkuasukkaat rakastavat Sandia kylliksi mennäkseen


kuolemaan hänen tähtensä. Jotkut vihaavat häntä ja haluavat hänet
tappaa. Nämä molemmat pitävät toisensa tasapainossa, ja vahvan
Tambelin ja nigerialaiseen salaiseen järjestöön kuuluvan
jäsenryhmän, Nigerian Vaiteliaitten, tarina on yksi esimerkki tästä.

Suuresta joesta, joka laskee vetensä Atlantin valtamereen jossain


Dakarin ja Banaani-niemen välillä — tämä on hieman lavea
paikanmäärite — juoksee lukuisia pienempiä jokia itään, länteen,
pohjoiseen ja etelään, keskikokoista isompia tai pienempiä.

Isisi, Pikku joki, on yksi näistä. Se juoksee samaan suuntaan kuin


Baranga-joki, ja maantieteilijöiltä on selvittämättä, onko oikea Isisi
vasen sivujoki ja Baranga oikea sivujoki vaiko päinvastoin.

Komissaari Sanders uhmasi kaikkia karttaherroja ja piti Isisiä


oikeanpuoleisena, koska vasen joki juoksee sekavan heimon
asuma-alueen läpi, jota heimoa kansan kesken sanotaan
nusadombeiksi, kirjaimellisesti »miehiksi, jotka eivät ole kaikki
samanlaisia».
Sankan metsän takana, jonka läpi Baranga juoksee
kaksikymmentä mailia, krokotiilien asuinpaikan takana ja siitä
pohjoiseen, on järvi, josta on useita laskuja, kaikki kuitenkin
purjehduskelvottomia. Täällä oli yhteen aikaan kylä ja tähän kylään
oli ajettu satakunta muista heimoista karkoitettua miestä. Vereen
syypäät, laittomien vainojen toimeenpanijat, veroja pakoilevat,
rikolliset ja rangaistut miehet kaikista heimoista lähimmän sadan
mailin alueelta kerääntyivät Nusadombiin.

Niin että aikojen kuluessa entinen kylä muuttui kaupungiksi ja


kaupunki kansan navaksi.

He asuivat erillään, synkät, vihaiset miehet, joilla ei ollut muuta


lakia kuin itsesäilytyksen laki. Heitä vastaan lähetettiin
rankaisuretkikuntia. He asuivat lähellä Saksan alueen rajaa ja ottivat
sen, mikä heitä miellytti, piittaamatta rajalinjoista ja paperille
piirretyistä viivoista.

Saksa lähetti neekeriarmeijan suon poikki hävittämään heitä — se


palasi kaksin ja kolmin miehin tuoden tappion ja toivottoman
taistelun sanomia.

Ranska lähetti kaakosta retkikunnan — tulos sama.

Sanders ei lähettänyt retkikuntaa eikä rauhanlähetystöä.

Hän tiesi tästä omituisesta kansasta enemmän kuin mitä hän


koskaan merkitsi tiedonantoihin, joiden laatiminen oli
jokakuukautinen homma, jotta siirtomaiden alivaltiosihteeri tulisi
tyydytetyksi.
Komissaari jätti miehet-jotka-eivät-kaikki-ole-samanlaisia
huomioonottamatta. Hän olisi voinut tehdä niin kuinka kauan
tahansa, ellei eräs Tambeli olisi sattunut hänen viralliseen silmäänsä.

Tambelilla oli kolme jumalaa. Yksi oli vahva jumala, joka saapui
hänen elämäänsä, kun sateet tulivat ja suuret tuulet puhalsivat
metsässä heitellen ja paiskellen puita, kun salaman nopeat
välähdykset valaisivat metsää yhtämittaisella valkealla välähtelyllä ja
kun taivas pauhasi ja jyrisi. Hänellä oli toinen jumala, poltettu ja
kaiverrettu eräästä Ngombissa kasvavasta puusta, ja vielä yksi
jumala, joka oli hän itse.

Tambeli oli Isisin muhkein mies.

Hän oli pitkä, leveäharteinen, hänen käsivartensa olivat hyvin


muodostuneet ja lihakset erottautuivat köysikimppuina. Tukkansa
hän mieluimmin voiteli savella, niin että se aaltoili molemmin puolin.

Yllään leopardin nahka ja nojaten pitkään norsukeihääseen hän


seisoi tuntikausia joen rannalla ihmetykseksi naisille, jotka tulivat
varjoisiin paikkoihin täyttämään patojansa vedellä. Tätä Tambeli
halusi, sillä hän oli kehittelevä mies. Enemmänkin kuin eräät
aviomiehet olisivat suoneet, sanottiin; ja kerran illalla, kun Tambeli oli
maleksimassa kylän läpi, muuan suuttunut mies, Mfabo, juoksi
piilosta hänen kimppuunsa karjuen vihasta. Mutta Tambeli oli vikkelä
kuin kissa ja voimakas kuin leopardi, jonka nahka hänellä oli
harteillaan. Hän tarttui Mfabon kurkkuun, kohotti hänet maasta ja
pyöritteli häntä ympäri, niin kuin poikaviikarit pyörittävät rottaa
hännästä, ja heitti hänet majaan, josta hän oli tullutkin.

Sen jälkeen ei yksikään mies julkisesti uskaltanut nostaa kättään


Tambelia vastaan, vaikka moni varkain koetti häntä vahingoittaa.

You might also like