README.md 5.7 KB
Newer Older
1
[![Code Climate](https://codeclimate.com/github/failmap/failmap/badges/gpa.svg)](https://codeclimate.com/github/failmap/failmap) [![pipeline status](https://gitlab.com/failmap/failmap/badges/master/pipeline.svg)](https://gitlab.com/failmap/failmap/commits/master) [![Test Coverage](https://codeclimate.com/github/failmap/failmap/badges/coverage.svg)](https://codeclimate.com/github/failmap/failmap/coverage)
Gitter Badger's avatar
Gitter Badger committed
2
[![Badges](https://img.shields.io/badge/badges-6-yellowgreen.svg)](https://shields.io) [![Cyberveiligheid](https://img.shields.io/badge/Cyberveiligheid-97%25-yellow.svg)](https://eurocyber.nl) [![Join the chat at https://gitter.im/internet-cleanup-foundation/Lobby](https://badges.gitter.im/internet-cleanup-foundation/Lobby.svg)](https://gitter.im/internet-cleanup-foundation/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Johan Bloemberg's avatar
Johan Bloemberg committed
3

4 5 6
Why Failmap
===========
We believe privacy and information integrity are the basics of a resilient information society.
7

8 9
By providing unprecedented transparency on the most basic levels of information security, insight in
the quality and capability of organizations regarding their responsibilities is displayed.
10

11 12
Failmap uses the complexity of a traffic light anyone is able to determine if organizations that are responsible
for safeguarding information are doing what they are supposed to do.
13

14 15 16 17 18 19 20 21 22 23
It is perfectly possible to run Failmap software for yourself, allowing you to independently verify the
state of information security basics. All our products are open source.


What is it
----------
Failmap is an open source web application that continuously evaluates the implementation of security standards and
best practices at (governmental) organizations.

This repository contains the mapping application fo Failmap: the public frontend, an administrative interface and scanners.
24 25 26

![screenshot](docs/screenshot.png)

27 28
![screenshot](docs/admin_interface.png)

dev's avatar
dev committed
29

30 31 32
Getting started
===============
Keywords: quickstart, installation
33 34
## 1: Install dependencies on your system
Setup your system to run this software using your favourite package manager.
35

36 37 38 39
**MacOS (brew)**
```bash
brew install git python3 direnv
```
40

41 42 43 44
**Debian Linux (apt)**
```bash
apt-get install git python3 direnv
```
45

46 47 48 49
**Redhat/CentOS (yum)**
```bash
yum install git python3 direnv
```
50

51
Or download and install each package seperately:
52 53 54 55 56 57 58

- [git](https://git-scm.com/downloads) (download and install)
- [python3.6](https://www.python.org/downloads/) (download and install)
- [Tox](http://tox.readthedocs.io/) (`pip3 install --user tox`)
- [direnv](https://direnv.net/) (download and install, then follow [setup instructions](https://direnv.net/), see Direnv section below)
- [Docker](https://docs.docker.com/engine/installation/) (recommended, follow instructions to install.)

59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
## 2: Install direnv correctly
Then set up direnv, the right command depends on your shell:

**BASH**
Add the following line at the end of the ~/.bashrc file:
```bash
eval "$(direnv hook bash)"
```

Make sure it appears even after rvm, git-prompt and other shell extensions that manipulate the prompt.

**ZSH**
Add the following line at the end of the ~/.zshrc file:
```bash
eval "$(direnv hook zsh)"
```

**FISH**
Add the following line at the end of the ~/.config/fish/config.fish file:

```bash
eval (direnv hook fish)
```

**TCSH**
Add the following line at the end of the ~/.cshrc file:

```bash
eval `direnv hook tcsh`
```


## 3: Generic install steps
Install Tox, which helps to install the rest of the dependancies of this project:

```bash
pip3 install --user tox
```
97 98 99

In a directory of your choosing:

100 101 102 103 104
download the software

```bash
git clone --recursive https://gitlab.com/failmap/failmap/
```
105

106
enter the directory of the downloaded software
107

108 109 110
```bash
cd failmap/
```
111

112
This prepares the shell environment for local development.
113

114 115 116
```bash
direnv allow
```
117

118
Running Tox once creates a development Virtualenv in .tox/default/ which is automatically used after creation due to Direnv setup. Running Tox without arguments by default also runs basic checks and tests to verify project code quality.
119

120 121 122
```bash
tox
```
123

124
After completing succesfully Failmap is available to run. For example, to show a list of commands:
125

126 127 128 129
```bash
failmap help
```
Now run the following command to start a full development server.
130

131 132 133
```bash
failmap devserver
```
dev's avatar
dev committed
134

135 136
Now visit the [map website](http://127.0.0.1:8000/) and/or the
[admin website](http://127.0.0.1:8000/admin/) at http://127.0.0.1:8000 (credentials: admin:faalkaart).
dev's avatar
dev committed
137

138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
## 4. Optional Steps
This shows the current data on the map:

```bash
failmap rebuild_ratings
```

It is possible to start the server without redis and without (re)loading data:

```bash
failmap devserver --no-backend --no-data
```


Give everyone an F rating!

```bash
https://www.youtube.com/watch?v=a14Y2V5zJlY
```

```bash
https://www.youtube.com/watch?v=eAwq2QV7f1k
```

dev's avatar
dev committed
162

163 164 165
Documentation
=============
Documentation is provided at [ReadTheDocs](http://failmap.readthedocs.io/).
Johan Bloemberg's avatar
Johan Bloemberg committed
166

167 168
Get involved
============
dev's avatar
dev committed
169

170
Failmap is open organisation run by volunteers.
dev's avatar
dev committed
171

172
- Talk to us via [gitter.im/internet-cleanup-foundation](https://gitter.im/internet-cleanup-foundation/Lobby#).
Johan Bloemberg's avatar
Johan Bloemberg committed
173
- Or using IRC: #internet-cleanup-foundation/Lobby @ irc.gitter.im (see https://irc.gitter.im for information)
174 175
- E-mail us at: [info@faalkaart.nl](mailto:info@faalkaart.nl),
- Or simply start hacking on the code, open an [Gitlab Issue](https://gitlab.com/failmap/failmap/issues/new) or send a [Gitlab Merge Request](https://gitlab.com/failmap/failmap.org/merge_requests/new).
Johan Bloemberg's avatar
Johan Bloemberg committed
176

177 178
Thanks to
=========
dev's avatar
dev committed
179
This project is being maintained by the [Internet Cleanup Foundation](https://internetcleanup.foundation).
180 181
Special thanks to the SIDN Fonds for believing in this method of improving privacy.

Johan Bloemberg's avatar
Johan Bloemberg committed
182
Thanks to the many authors contributing to open software.