isundil 8 years ago
parent
commit
b950f6ec34
3 changed files with 56 additions and 0 deletions
  1. 32 0
      m_sftp
  2. 6 0
      runchecks
  3. 18 0
      runscp

+ 32 - 0
m_sftp

@@ -0,0 +1,32 @@
+#!/bin/sh
+
+SSH_JAILED=$1
+
+>&2 echo "Preparing chroot env"
+
+mkdir -p $SSH_JAILED/{dev,etc,lib,usr/lib,lib64,bin,data,var/lib/clamav}
+
+sudo mknod -m 666 $SSH_JAILED/dev/null c 1 3
+
+cp /etc/{nsswitch.conf,hosts,ld.so.cache,ld.so.conf} $SSH_JAILED/etc
+cp runchecks $SSH_JAILED/bin
+
+#sh stuff
+cp /bin/sh $SSH_JAILED/bin
+cp /usr/lib/libreadline.so.7 /usr/lib/libdl.so.2 /usr/lib/libc.so.6 /usr/lib/libncursesw.so.6 $SSH_JAILED/usr/lib
+cp /lib64/ld-linux-x86-64.so.2 $SSH_JAILED/lib64
+
+#ls stuff
+cp /bin/ls $SSH_JAILED/bin
+cp /usr/lib/libcap.so.2 $SSH_JAILED/usr/lib
+
+#clamscan stuff
+cp /usr/bin/{clamscan,clamdscan} $SSH_JAILED/bin
+cp /usr/lib/{libclamunrar_iface.so.7,libclamunrar.so.7,libclamav.so.7,libpthread.so.0,libxml2.so.2,liblzma.so.5,libbz2.so.1.0,libltdl.so.7,libLLVM-3.5.so,libstdc++.so.6,libssl.so.1.0.0,libcrypto.so.1.0.0,libz.so.1,libpcre.so.1,libm.so.6,libgcc_s.so.1,libffi.so.6,libncursesw.so.6} $SSH_JAILED/usr/lib
+cp /lib64/ld-linux-x86-64.so.2 $SSH_JAILED/lib64
+cp /var/lib/clamav/{main.cvd,daily.cld,bytecode.cvd} $SSH_JAILED/var/lib/clamav/
+
+sudo chroot $SSH_JAILED /bin/runchecks 1>&2
+
+>&2 echo "Cleaning environment"
+

+ 6 - 0
runchecks

@@ -0,0 +1,6 @@
+#!/bin/sh
+
+/bin/clamscan -V
+/bin/ls -1FshA /data
+/bin/clamscan -r /data
+

+ 18 - 0
runscp

@@ -0,0 +1,18 @@
+#!/bin/sh
+
+SSH_JAILED=$HOME/tmpfs/jailed-$$
+
+mkdir -p $SSH_JAILED/data
+chmod 700 $SSH_JAILED
+
+>&2 echo "Downloading..."
+scp -t $SSH_JAILED/data
+
+$HOME/m_sftp $SSH_JAILED 1>&2 &
+
+childPid=`jobs -p`
+trap "kill $childPid" 2
+wait $childPid
+
+rm -rf $SSH_JAILED
+