notes
[ach-master.git] / TODO.md
1
2 BIG TOPICS
3 ==========
4
5
6 * be consistent: 2048 RSA < 128 bit symmetric cipher strength. We should aim at 128+ bits symmetric strength. --> fix RSA 2048 in the document. Upgrade to 3072
7
8 * clean up 9.5 "chossing your own cipher"
9
10 * DDOS possibilities when we increase cyrpto security?? What about that? (--> LATER)
11
12 * write a Justification section to every setting, maybe have that later in the document. 
13
14 * more focus on these sections:
15   - GPG
16   - SSH : do we need a client subsection? 
17
18 DONE * move the explanations to a later part of the document. Code snippets go *first* . The target group is sysadmins, must be easily copy & paste-able. Or find a different way so that they can easily use/read the document
19
20 DONE * Decide/Discuss recommended ciphers:
21   - DH parameters: what is our recommendation? >2048? >=2048? leave default (aka 1024)?
22   --> answer: we trust IETF/IKE  as described in ECRYPT2
23
24 * comments from IAIK integrate (--> Aaron, check again if it was done)
25 DONE * SHA-1 section: write why it is a problem (--> Florian Mendel)
26 * PKI section (--> Thomas Schreck)
27 DONE * include OpenSSL names/IANA names into appendix (--> cm)
28 * Document RNG problem in Apache (--> Pepi)
29 DONE * Oracle ?? (--> Berg?? maybe . Or aaron: ask nic.at. Or link to T-Systems paper) --> T-Systems paper
30 DONE * DB2 (--> Berg. Or ask MLeyrer)
31 * Add AES128 to cipherStringA ?
32 * re-work chapter 2 (practical settings). Add lots of references to chapter 3 to get people interested in reading the theory.
33 * Document : add license
34
35
36 Website
37 =======
38 People with outdated browsers (winXP) etc can't see our webpage. --> make a landing page explaining 
39 how to updated the browser :)
40
41
42 Formatting
43 ==========
44
45 * check all http:// URLs that we reference - check if they are also reachable via httpS:// and if so, change our reference
46 * make style guide
47 DONE * one-column layout: make page margins smaller
48 DONE * add large "DRAFT" letters on top of every page.
49 DONE  make the git version number part of the document
50 DONE * Layout of sample code (lstisting format) : make it pretty!
51 Rendering in Firefox (inline) on Windows seems to be really messed up. What happenened?
52
53 * make every section like the Apache section (--> Aaron)
54
55 * make a HTML Version of the document. It is much easier to copy & paste from than from PDFs.
56 * Add Timestamp and git shorthash, not only date, to the title page of the document. Easier to check if you version of the document is current!
57
58 * \usepackage[utf8]{inputencoding} and all the other \usepackage things in applied-crypto-hardening.tex should be reviewed and we should take a look if it should't all be in common/*.tex
59
60 Formats to export
61 =================
62 Requested by many people on Twitter
63     * Plain TXT version for use on headless servers
64     * HTML version for better reading in browsers and always up-to-date
65     * EPUB version for comfortable reading on tablets and ebook readers
66
67
68 Workflow
69 ========
70
71 * how to keep things up to date?
72 * how to automatically test  compatibility?
73 * how to make sure that this document has the latest information on cipher strengths?
74 * !! GPG sign every PDF !!
75 * store the keys in DNS: see RFC 4398
76
77
78 Contents
79 ========
80
81 * DBs:
82   Postgresql: put in \%*\cipherstringB*) in the config!
83
84 * Webservers:
85   Header Strict-Transport-Security "... includeSubDomains": we need to meed to mention that this can be a big pitfall.
86   Also do some more research on this!
87   For example: http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec#section-6.1
88
89 * Tools: 
90   mention that sslscan (the tool) does not understand all cipherstrings! For example SHA2-\* is missing
91   --> recommend something better
92
93 * re-write PKI section: make it *much* shorter. Reference: https://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf and 
94   https://en.wikipedia.org/wiki/X.509#Problems_with_certificate_authorities.
95
96 * scan our local region of the internet for https/smtp/imaps/pop3s
97
98 * Common Pitfalls: 
99   - key generation
100   - key management , key life cycle
101   - cloning of VMs
102   - common / default passphrases
103 * DH parameter?
104 * Further research
105  - mysql, SMB, 
106 * Wish List for software vendors?
107 * sweet spot, wo koennen wir was sinnvoll machen, was waere zu viel (8192 bit keys...)
108
109
110 1. document the abstract needs that we have for the cipher settings (HSTS etc)
111    Then find the best cipher setting strings per se
112    Only then put it to all servers and keep it rather uniformely (as much as possible)
113
114 2. Test all settings 
115
116 * Test especially with non-Debian-OS!
117
118 * Test with more clients and other OSes than OSX / iPhone!!
119 --> clients? 
120   - thunderbird
121   - Apple Mail?
122   - Outlook *
123   - Playstation und XBox? --> LATER!
124   - Lotus Notes
125   - Blackberry\*
126   - Windows Phone 7 ???
127   How to Test?
128   - chapter owner makes a test setup
129   - tested by: XXX , on: $date. Screenshot of SSLlabs/ $testtool. (checktls.com)
130
131 * document (cite) EVERYTHING! Why we chose certain values. References, references, references. Otherwise it does not count!
132   Srsly!!
133 DONE * .bib file is completely wrong. Make good citations/references. Add books: Schneier, ...
134 * !! important: add the version string to everything that we tested!!
135
136 * two target groups:
137   - security specialists / freaks who want the very best settings
138   - should as many clients work with the settings as possible
139 * look at TLS1.2 specs and really check if we want all of these settings
140
141
142 Practical settings section
143 ----------
144 Definitely still missing these subsubsections:
145 * Exchange Server ??  (--> bei M$ angefragt, Evtl. Beitrag von A-Trust)
146   - SMTP, POP, IMAP
147 DONE * Exim4 (-> Adi & Wolfgang Breya)
148 DONE * Checkpoint (-> cm)
149 * Asa / Palo Alto (-> Azet)
150 * Terminal Server (VNC ), ??
151 DONE * Squid
152 DONE * XMPP
153   --> verweise auf die xmpp community bzw. auf xmpp.net verweisen.
154   Empfehlung: unbedingt ejabberd updaten!!  
155
156
157 ----- snip ---- all protocols that we looked at --- snip ----
158 * whatsapp --> man kann nichts machen, out of scope
159 * Lync: == SIP von M$. 
160 * Skype: man kann ncihts machen, out of scope.
161 * Wi-Fi APs, 802.1X, ... ???? --> out of scope
162 * Tomcats/...????
163 * VPNs          ???
164   * PPTP
165   * Cisco IPSec
166   * Juniper VPN
167   * L2TP over IPSec -> egal
168 * SIP   -> Klaus
169 * SRTP  -> Klaus???
170 * DNSSec ??     Verweis auf BCPxxx      --> out of scope
171    - DANE
172 What happens at the IETF at the moment?
173 * TOR?? --> out of scope
174 * S/Mime --> nachsehen, gibt es BCPs? (--> Ramin)
175 * TrueCrypt, LUKS, FileVault, etc ---> out of scope
176 * AFS -> out of scope
177 * Kerberos --> out of scope
178 * NNTP -> out of scope
179 * NTPs tlsdate -> out of scope
180 * BGP / OSPF --> out of scope
181 * irc,silc --> out of scope
182 !! * IPMI/ILO/RAC: Java --> important. Empfehlung: nie ins Internet, nur in ein eigenes mgmt VLAN, das via VPN erreichbar ist!!
183 * LDAP -> out of scope
184 * RADIUS? -> maybe later...
185 * Moxa , APC, und co... ICS . Ethernet to serial --> out of scope
186 * telnet -> DON't!!! 
187 * rsyslog --> out of scope
188 * ARP bei v6 spoofing -> out of scope
189 * tinc?? -> out of scope
190 * rsync -> nur ueber ssh fahren ausser public web mirrors
191 * telnets -> out of scope
192 * ftps -> out of scope
193 !! * seclayer-tcp --> review von Posch & co.
194 seclayer-tcp    3495/udp    # securitylayer over tcp
195 seclayer-tcp    3495/tcp    # securitylayer over tcp
196 * webmin -> maybe
197 * plesk -> out of scope
198 * phpmyadmin --> haengt am apache, out of scope
199 * DSL modems -> out of scope
200 * UPnP, natPmp --> out of scope
201 * SAML federated auth providers (e.g., all the REFEDS folks (https://refeds.org/)), including InCommon (http://www.incommon.org/federation/metadata.html)
202   https://wiki.shibboleth.net/confluence/display/SHIB2/TrustManagement (idea by Joe St. Sauver)
203
204 ----- snip ---- all protocols that we looked at --- snip ----
205
206
207
208
209
210
211 RNG section
212 ------------
213 DONE - add two, three sentences
214 DONE - mention HaveGED 
215 DONE - embedded devices are a problem
216
217
218
219 Contacting / who?
220 =================
221 * Juniper
222 * Cisco
223
224 LATER / further 
225 ================
226 * OpenLDAP (-> Adi)
227 * Radius
228 * Windows Active Directory
229 DONE * SRP: not part of this document. But we did not exclude it in our cipher string :)
230 DONE * \cipherA , \cipherB setting ---> does not work in our \begin{listing} environment --> maybe there is a different listing environment or use awk/sed/make/perl/python
231 * What about 3270 terminal emulation? How to do crypto there? Can we? ( --> IBM sec. Stammtisch. Aaron)
232
233
234 * client/users-guide:
235   * PGP 
236   * ssh client settings
237   * OTR ?
238   * public key infrastructure
239   * certificate handling
240