Merge branch 'master' of github.com:BetterCrypto/Applied-Crypto-Hardening
[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
34
35 Website
36 =======
37 People with outdated browsers (winXP) etc can't see our webpage. --> make a landing page explaining 
38 how to updated the browser :)
39
40
41 Formatting
42 ==========
43
44 DONE * one-column layout: make page margins smaller
45 DONE * add large "DRAFT" letters on top of every page.
46 DONE  make the git version number part of the document
47 DONE * Layout of sample code (lstisting format) : make it pretty!
48 Rendering in Firefox (inline) on Windows seems to be really messed up. What happenened?
49
50 * make every section like the Apache section (--> Aaron)
51
52 * make a HTML Version of the document. It is much easier to copy & paste from than from PDFs.
53 * 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!
54
55
56 Formats to export
57 =================
58 Requested by many people on Twitter
59     * Plain TXT version for use on headless servers
60     * HTML version for better reading in browsers and always up-to-date
61     * EPUB version for comfortable reading on tablets and ebook readers
62
63
64 Workflow
65 ========
66
67 * how to keep things up to date?
68 * how to automatically test  compatibility?
69 * how to make sure that this document has the latest information on cipher strengths?
70 * !! GPG sign every PDF !!
71 * store the keys in DNS: see RFC 4398
72
73
74 Contents
75 ========
76 * scan our local region of the internet for https/smtp/imaps/pop3s
77
78 * Common Pitfalls: 
79   - key generation
80   - key management , key life cycle
81   - cloning of VMs
82   - common / default passphrases
83 * DH parameter?
84 * Further research
85  - mysql, SMB, 
86 * Wish List for software vendors?
87 * sweet spot, wo koennen wir was sinnvoll machen, was waere zu viel (8192 bit keys...)
88
89
90 1. document the abstract needs that we have for the cipher settings (HSTS etc)
91    Then find the best cipher setting strings per se
92    Only then put it to all servers and keep it rather uniformely (as much as possible)
93
94 2. Test all settings 
95
96 * Test especially with non-Debian-OS!
97
98 * Test with more clients and other OSes than OSX / iPhone!!
99 --> clients? 
100   - thunderbird
101   - Apple Mail?
102   - Outlook *
103   - Playstation und XBox? --> LATER!
104   - Lotus Notes
105   - Blackberry\*
106   - Windows Phone 7 ???
107   How to Test?
108   - chapter owner makes a test setup
109   - tested by: XXX , on: $date. Screenshot of SSLlabs/ $testtool. (checktls.com)
110
111 * document (cite) EVERYTHING! Why we chose certain values. References, references, references. Otherwise it does not count!
112   Srsly!!
113 DONE * .bib file is completely wrong. Make good citations/references. Add books: Schneier, ...
114 * !! important: add the version string to everything that we tested!!
115
116 * two target groups:
117   - security specialists / freaks who want the very best settings
118   - should as many clients work with the settings as possible
119 * look at TLS1.2 specs and really check if we want all of these settings
120
121
122 Practical settings section
123 ----------
124 Definitely still missing these subsubsections:
125 * Exchange Server ??  (--> bei M$ angefragt, Evtl. Beitrag von A-Trust)
126   - SMTP, POP, IMAP
127 DONE * Exim4 (-> Adi & Wolfgang Breya)
128 DONE * Checkpoint (-> cm)
129 * Asa / Palo Alto (-> Azet)
130 * Terminal Server (VNC ), ??
131 DONE * Squid
132 DONE * XMPP
133   --> verweise auf die xmpp community bzw. auf xmpp.net verweisen.
134   Empfehlung: unbedingt ejabberd updaten!!  
135
136
137 ----- snip ---- all protocols that we looked at --- snip ----
138 * whatsapp --> man kann nichts machen, out of scope
139 * Lync: == SIP von M$. 
140 * Skype: man kann ncihts machen, out of scope.
141 * Wi-Fi APs, 802.1X, ... ???? --> out of scope
142 * Tomcats/...????
143 * VPNs          ???
144   * PPTP
145   * Cisco IPSec
146   * Juniper VPN
147   * L2TP over IPSec -> egal
148 * SIP   -> Klaus
149 * SRTP  -> Klaus???
150 * DNSSec ??     Verweis auf BCPxxx      --> out of scope
151    - DANE
152 What happens at the IETF at the moment?
153 * TOR?? --> out of scope
154 * S/Mime --> nachsehen, gibt es BCPs? (--> Ramin)
155 * TrueCrypt, LUKS, FileVault, etc ---> out of scope
156 * AFS -> out of scope
157 * Kerberos --> out of scope
158 * NNTP -> out of scope
159 * NTPs tlsdate -> out of scope
160 * BGP / OSPF --> out of scope
161 * irc,silc --> out of scope
162 !! * IPMI/ILO/RAC: Java --> important. Empfehlung: nie ins Internet, nur in ein eigenes mgmt VLAN, das via VPN erreichbar ist!!
163 * LDAP -> out of scope
164 * RADIUS? -> maybe later...
165 * Moxa , APC, und co... ICS . Ethernet to serial --> out of scope
166 * telnet -> DON't!!! 
167 * rsyslog --> out of scope
168 * ARP bei v6 spoofing -> out of scope
169 * tinc?? -> out of scope
170 * rsync -> nur ueber ssh fahren ausser public web mirrors
171 * telnets -> out of scope
172 * ftps -> out of scope
173 !! * seclayer-tcp --> review von Posch & co.
174 seclayer-tcp    3495/udp    # securitylayer over tcp
175 seclayer-tcp    3495/tcp    # securitylayer over tcp
176 * webmin -> maybe
177 * plesk -> out of scope
178 * phpmyadmin --> haengt am apache, out of scope
179 * DSL modems -> out of scope
180 * UPnP, natPmp --> out of scope
181 * SAML federated auth providers (e.g., all the REFEDS folks (https://refeds.org/)), including InCommon (http://www.incommon.org/federation/metadata.html)
182   https://wiki.shibboleth.net/confluence/display/SHIB2/TrustManagement (idea by Joe St. Sauver)
183
184 ----- snip ---- all protocols that we looked at --- snip ----
185
186
187
188
189
190
191 RNG section
192 ------------
193 DONE - add two, three sentences
194 DONE - mention HaveGED 
195 DONE - embedded devices are a problem
196
197
198
199 Contacting / who?
200 =================
201 * Juniper
202 * Cisco
203
204 LATER / further 
205 ================
206 * OpenLDAP (-> Adi)
207 * Radius
208 * Windows Active Directory
209 DONE * SRP: not part of this document. But we did not exclude it in our cipher string :)
210 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
211 * What about 3270 terminal emulation? How to do crypto there? Can we? ( --> IBM sec. Stammtisch. Aaron)
212
213
214 * client/users-guide:
215   * PGP 
216   * ssh client settings
217   * OTR ?
218   * public key infrastructure
219   * certificate handling
220