diff options
-rw-r--r-- | meta/recipes-core/dropbear/dropbear.inc | 6 | ||||
-rw-r--r-- | meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch | 44 |
2 files changed, 48 insertions, 2 deletions
diff --git a/meta/recipes-core/dropbear/dropbear.inc b/meta/recipes-core/dropbear/dropbear.inc index b74d186cd4..dcbda741c3 100644 --- a/meta/recipes-core/dropbear/dropbear.inc +++ b/meta/recipes-core/dropbear/dropbear.inc | |||
@@ -20,7 +20,8 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \ | |||
20 | file://dropbear@.service \ | 20 | file://dropbear@.service \ |
21 | file://dropbear.socket \ | 21 | file://dropbear.socket \ |
22 | file://dropbear.default \ | 22 | file://dropbear.default \ |
23 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} " | 23 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ |
24 | ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} " | ||
24 | 25 | ||
25 | PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \ | 26 | PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \ |
26 | file://0006-dropbear-configuration-file.patch \ | 27 | file://0006-dropbear-configuration-file.patch \ |
@@ -46,8 +47,9 @@ SBINCOMMANDS = "dropbear dropbearkey dropbearconvert" | |||
46 | BINCOMMANDS = "dbclient ssh scp" | 47 | BINCOMMANDS = "dbclient ssh scp" |
47 | EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"' | 48 | EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"' |
48 | 49 | ||
49 | PACKAGECONFIG ?= "" | 50 | PACKAGECONFIG ?= "disable-weak-ciphers" |
50 | PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt" | 51 | PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt" |
52 | PACKAGECONFIG[disable-weak-ciphers] = "" | ||
51 | 53 | ||
52 | EXTRA_OECONF += "\ | 54 | EXTRA_OECONF += "\ |
53 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}" | 55 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}" |
diff --git a/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch b/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch new file mode 100644 index 0000000000..e48a34bac0 --- /dev/null +++ b/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | This feature disables all CBC, SHA1, and diffie-hellman group1 ciphers | ||
2 | in the dropbear ssh server and client since they're considered weak ciphers | ||
3 | and we want to support the stong algorithms. | ||
4 | |||
5 | Upstream-Status: Inappropriate [configuration] | ||
6 | Signed-off-by: Joseph Reynolds <joseph.reynolds1@ibm.com> | ||
7 | |||
8 | Index: dropbear-2019.78/default_options.h | ||
9 | =================================================================== | ||
10 | --- dropbear-2019.78.orig/default_options.h | ||
11 | +++ dropbear-2019.78/default_options.h | ||
12 | @@ -91,7 +91,7 @@ IMPORTANT: Some options will require "ma | ||
13 | |||
14 | /* Enable CBC mode for ciphers. This has security issues though | ||
15 | * is the most compatible with older SSH implementations */ | ||
16 | -#define DROPBEAR_ENABLE_CBC_MODE 1 | ||
17 | +#define DROPBEAR_ENABLE_CBC_MODE 0 | ||
18 | |||
19 | /* Enable "Counter Mode" for ciphers. This is more secure than | ||
20 | * CBC mode against certain attacks. It is recommended for security | ||
21 | @@ -101,7 +101,7 @@ IMPORTANT: Some options will require "ma | ||
22 | /* Message integrity. sha2-256 is recommended as a default, | ||
23 | sha1 for compatibility */ | ||
24 | #define DROPBEAR_SHA1_HMAC 1 | ||
25 | -#define DROPBEAR_SHA1_96_HMAC 1 | ||
26 | +#define DROPBEAR_SHA1_96_HMAC 0 | ||
27 | #define DROPBEAR_SHA2_256_HMAC 1 | ||
28 | |||
29 | /* Hostkey/public key algorithms - at least one required, these are used | ||
30 | @@ -149,12 +149,12 @@ IMPORTANT: Some options will require "ma | ||
31 | * Small systems should generally include either curve25519 or ecdh for performance. | ||
32 | * curve25519 is less widely supported but is faster | ||
33 | */ | ||
34 | -#define DROPBEAR_DH_GROUP14_SHA1 1 | ||
35 | +#define DROPBEAR_DH_GROUP14_SHA1 0 | ||
36 | #define DROPBEAR_DH_GROUP14_SHA256 1 | ||
37 | #define DROPBEAR_DH_GROUP16 0 | ||
38 | #define DROPBEAR_CURVE25519 1 | ||
39 | #define DROPBEAR_ECDH 1 | ||
40 | -#define DROPBEAR_DH_GROUP1 1 | ||
41 | +#define DROPBEAR_DH_GROUP1 0 | ||
42 | |||
43 | /* When group1 is enabled it will only be allowed by Dropbear client | ||
44 | not as a server, due to concerns over its strength. Set to 0 to allow | ||