summaryrefslogtreecommitdiff
path: root/security/sbd
diff options
context:
space:
mode:
authoragc <agc@pkgsrc.org>2007-05-10 18:18:16 +0000
committeragc <agc@pkgsrc.org>2007-05-10 18:18:16 +0000
commit0ac665d99bb0afdda1da65501c81b8a9b2bd80a9 (patch)
treef6149a3773a15937f732e6691a7e8d86edc574d2 /security/sbd
parent0632bfa1d22f46aa144c5722dbff3b2ccad84b7a (diff)
downloadpkgsrc-0ac665d99bb0afdda1da65501c81b8a9b2bd80a9.tar.gz
Initial import of sbd-0.5 into the Packages Collection.
One-time cipher based back door program for executing emergency commands. Secure Back Door(SBD) is an alternative to leaving SSH open all the time. It is based on a secure one-time keypad method, that insures maximum security. Since SBD is very small, it is less likely to have security exploits, as compared to SSH. Therefore, you could leave an important computer up and running with just sbdd running in the background, and if an emergency came about, you could simple execute a command to bring ssh up, then work on the computer as regular. It would be as simple as doing ./sbd domain.com "/etc/init.d/sshd start", and with the proper key file set, the remote computer would have ssh up and running shortly.
Diffstat (limited to 'security/sbd')
-rw-r--r--security/sbd/DESCR13
-rw-r--r--security/sbd/Makefile39
-rw-r--r--security/sbd/PLIST9
-rw-r--r--security/sbd/distinfo7
-rw-r--r--security/sbd/patches/patch-aa22
-rw-r--r--security/sbd/patches/patch-ab33
6 files changed, 123 insertions, 0 deletions
diff --git a/security/sbd/DESCR b/security/sbd/DESCR
new file mode 100644
index 00000000000..cb5119593e3
--- /dev/null
+++ b/security/sbd/DESCR
@@ -0,0 +1,13 @@
+One-time cipher based back door program for executing emergency
+commands.
+
+Secure Back Door(SBD) is an alternative to leaving SSH open all the
+time. It is based on a secure one-time keypad method, that insures
+maximum security. Since SBD is very small, it is less likely to have
+security exploits, as compared to SSH. Therefore, you could leave an
+important computer up and running with just sbdd running in the
+background, and if an emergency came about, you could simple execute a
+command to bring ssh up, then work on the computer as regular. It
+would be as simple as doing ./sbd domain.com "/etc/init.d/sshd start",
+and with the proper key file set, the remote computer would have ssh
+up and running shortly.
diff --git a/security/sbd/Makefile b/security/sbd/Makefile
new file mode 100644
index 00000000000..7f6cbc14df5
--- /dev/null
+++ b/security/sbd/Makefile
@@ -0,0 +1,39 @@
+# $NetBSD: Makefile,v 1.1.1.1 2007/05/10 18:18:16 agc Exp $
+#
+
+DISTNAME= sbd-0.5
+CATEGORIES= security
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=sbd/}
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://sourceforge.net/projects/sbd/
+COMMENT= HMAC & one-time pad-based remote login program
+
+WRKSRC= ${WRKDIR}/sbd
+
+USE_LANGUAGES+= c c++
+
+EGDIR= ${PREFIX}/share/sbd
+CONF_FILES= ${EGDIR}/deckey.bits ${PKG_SYSCONFDIR}/sbd/deckey.bits
+CONF_FILES+= ${EGDIR}/enckey.bits ${PKG_SYSCONFDIR}/sbd/enckey.bits
+CONF_FILES+= ${EGDIR}/athkey.bits ${PKG_SYSCONFDIR}/sbd/athkey.bits
+
+do-configure:
+
+do-build:
+ cd ${WRKSRC} && \
+ ${CXX} -DPKG_SYSCONFDIR=\""${PKG_SYSCONFDIR}/sbd\"" -Wall -O2 -o sbdd ssocket.cpp sha1.cpp utils.cpp sbdd.cpp; \
+ ${CXX} -DPKG_SYSCONFDIR=\""${PKG_SYSCONFDIR}/sbd\"" -Wall -O2 -o sbd csocket.cpp sha1.cpp utils.cpp sbd.cpp
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/sbdd ${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/sbd ${PREFIX}/bin
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/sbd
+ ${INSTALL_DATA_DIR} ${PKG_SYSCONFDIR}/sbd
+ ${INSTALL_DATA} ${WRKSRC}/PROTOCOL ${PREFIX}/share/sbd/
+ ${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/sbd/
+ ${INSTALL_DATA} ${WRKSRC}/athkey.bits ${EGDIR}
+ ${INSTALL_DATA} ${WRKSRC}/deckey.bits ${EGDIR}
+ ${INSTALL_DATA} ${WRKSRC}/enckey.bits ${EGDIR}
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/security/sbd/PLIST b/security/sbd/PLIST
new file mode 100644
index 00000000000..c12add9870e
--- /dev/null
+++ b/security/sbd/PLIST
@@ -0,0 +1,9 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2007/05/10 18:18:16 agc Exp $
+bin/sbd
+bin/sbdd
+share/sbd/PROTOCOL
+share/sbd/README
+share/sbd/athkey.bits
+share/sbd/deckey.bits
+share/sbd/enckey.bits
+@dirrm share/sbd
diff --git a/security/sbd/distinfo b/security/sbd/distinfo
new file mode 100644
index 00000000000..7b1ff481095
--- /dev/null
+++ b/security/sbd/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1.1.1 2007/05/10 18:18:16 agc Exp $
+
+SHA1 (sbd-0.5.tar.gz) = 958860dc240105b705a0127409cfb5e4da4109ab
+RMD160 (sbd-0.5.tar.gz) = 374db4f75210bc04ed9dd91c1c608fa2984856b3
+Size (sbd-0.5.tar.gz) = 25750 bytes
+SHA1 (patch-aa) = e516c2a43d33e3e4a0c808f38a128bce8b96fedf
+SHA1 (patch-ab) = afa9111e000d25dd05189554c2d97991d799ed5c
diff --git a/security/sbd/patches/patch-aa b/security/sbd/patches/patch-aa
new file mode 100644
index 00000000000..318c4f04b33
--- /dev/null
+++ b/security/sbd/patches/patch-aa
@@ -0,0 +1,22 @@
+$NetBSD: patch-aa,v 1.1.1.1 2007/05/10 18:18:16 agc Exp $
+
+--- sbd.cpp 2007/05/10 09:59:22 1.1
++++ sbd.cpp 2007/05/10 10:00:30
+@@ -121,7 +121,7 @@
+
+ // We always assume server recieved the command ok
+ // truncate file so same bytes are not used
+- truncateFile("enckey.bits", keyBytesUsed);
++ truncateFile(PKG_SYSCONFDIR "/" "enckey.bits", keyBytesUsed);
+
+ return 0;
+ }
+@@ -136,7 +136,7 @@
+ eMsg=""; // Finished cypher text
+
+ // get key bytes from file
+- readKey("enckey.bits", key, SHA1_SIZE*2 + msg.size());
++ readKey(PKG_SYSCONFDIR "/" "enckey.bits", key, SHA1_SIZE*2 + msg.size());
+
+ // Copy 20 bytes of key over to hashOTP for computing HMAC-SHA1
+ for (i = 0; i < SHA1_SIZE; i++)
diff --git a/security/sbd/patches/patch-ab b/security/sbd/patches/patch-ab
new file mode 100644
index 00000000000..7140672f82a
--- /dev/null
+++ b/security/sbd/patches/patch-ab
@@ -0,0 +1,33 @@
+$NetBSD: patch-ab,v 1.1.1.1 2007/05/10 18:18:16 agc Exp $
+
+--- sbdd.cpp 2007/05/10 09:59:22 1.1
++++ sbdd.cpp 2007/05/10 10:01:05
+@@ -110,8 +110,8 @@
+ return 1;
+ }
+
+- readKey("athkey.bits", authBytes, AUTH_SIZE);
+- truncateFile("athkey.bits", AUTH_SIZE);
++ readKey(PKG_SYSCONFDIR "/" "athkey.bits", authBytes, AUTH_SIZE);
++ truncateFile(PKG_SYSCONFDIR "/" "athkey.bits", AUTH_SIZE);
+
+ for (i = 0; i < authBytes.size() ; i++)
+ {
+@@ -180,7 +180,7 @@
+ unsigned char hashOTP[SHA1_SIZE]; // First 20 bytes of OTP used to comput HMAC-SHA1
+ unsigned char finishedHash[SHA1_SIZE]; // Finished HMAC-SHA1 hash
+
+- readKey("deckey.bits", key, infileCmd.size()+SHA1_SIZE);
++ readKey(PKG_SYSCONFDIR "/" "deckey.bits", key, infileCmd.size()+SHA1_SIZE);
+
+ // Copy 20 bytes of key over to hashOTP for computing HMAC-SHA1
+ for (i = 0; i < SHA1_SIZE; i++)
+@@ -227,7 +227,7 @@
+ logFile << "system() returned : " << system(cmd.c_str()) << endl;
+
+ //truncate bytes file
+- truncateFile("deckey.bits", infileCmd.size()+SHA1_SIZE);
++ truncateFile(PKG_SYSCONFDIR "/" "deckey.bits", infileCmd.size()+SHA1_SIZE);
+ return 0;
+ }
+