国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

用RSSH 和Chroot保障復制文件的安全
2007-05-15   賽迪網

對于遠程登錄來說,SSH(Secure Shell)確實是好東西。通過使用SSH,我們可以把所有傳輸的數據進行加密,這樣就可以阻止“中間人”這種攻擊方式,還能夠防止DNS欺騙和IP欺騙。而且如果考慮到安全的文件傳輸選擇,我們就可以放棄使用FTP轉而考慮使用如SCP或者SFTP,它們與FTP應用相似但采用SSH來進行驗證和加密,如果我們使用基于UNIX的服務器,可以在命令方式下調用SCP或者SFTP。不過,這同時意味著別人也能夠登錄到你的系統并且執行其中的命令。即使你進行限制使其只能對SFTP訪問,用戶仍然享有對整個系統的完全的訪問權限。

通過使用一種稱為RSSH(restricted secure shell)的程序我們完全可以改變這種情況,此程序可從pizzashack.org下載。當然,如果廠商支持的話,用戶還可以從其組件庫中將此程序安裝到您的Linux系統中。通過使用RSSH,你不但能夠限制用戶使用SCP和SFTP(也包括一些使用SSH進行傳輸的程序,如rsync 和cvs),而且可以依靠chroot去限制用戶只能訪問一個目錄而不是整個的文件系統。

創建chroot通常情況下技巧性較強,下面這段腳本可以作為一個用于創建初始化chroot的范例:

#!/bin/sh
 chroot="${1}"
if [ "${chroot}" == "" ]; then
    echo "FATAL: I need a location to create the chroot!"
    exit 1
fi
if [ -e ${chroot} ]; then
    echo "FATAL: ${chroot} already exists!"
    exit 1
fi
mkdir -p ${chroot}/{usr/bin,lib,usr/lib/ssh,dev,etc}
for bin in /usr/bin/scp /usr/bin/rssh /usr/lib/rssh_chroot_helper
  /usr/lib/ssh/sftp-server;
do
    cp ${bin} ${chroot}${bin}
 
    for lib in `ldd ${bin} | awk '{print $3}'`;
    do
        if [ -f ${lib} ]; then
            cp ${lib} ${chroot}/${lib}
        fi
    done
done
cp /lib/ld-linux.so.2 ${chroot}/lib/
cp /lib/libcrypt.so.1 ${chroot}/lib/
cp /lib/libnss_compat.so.2 ${chroot}/lib/
mknod -m 0666 ${chroot}/dev/null c 1 3

上面這段腳本會被執行為:# mkchroot /chroot/user。

下一步就是要執行針對用戶的特定操作,如為用戶創建密鑰文件:

# getent passwd user >/chroot/user/etc/passwd

此外,我們還需要修改其登錄的外殼:

# usermod -s /usr/bin/rssh user

最后,編輯/etc/rssh.conf并增加如下一項:

user = "user:022:00011:/chroot/user"

這會將用戶的默認umask設置為022,并提供SCP和SFTP的訪問。

最后,確保關鍵字在rssh.conf中被啟用:

allowscp
allowsftp

這樣你就可以確保了安全的文件傳輸,并且不會暴露整個的文件系統或外殼(shell)訪問。

熱詞搜索:

上一篇:剔除惡意代碼鏈接 保障搜索用戶安全
下一篇:高手教你如何清除局域網中的ARP病毒

分享到: 收藏
主站蜘蛛池模板: 璧山县| 台州市| 高邮市| 安丘市| 吉水县| 溧水县| 贞丰县| 武汉市| 纳雍县| 漯河市| 靖边县| 黔江区| 玉田县| 剑河县| 吉木乃县| 宁阳县| 资溪县| 巩留县| 通化市| 美姑县| 当涂县| 西贡区| 陇西县| 隆子县| 巴青县| 沈丘县| 南陵县| 鲜城| 文山县| 海南省| 闽侯县| 新野县| 裕民县| 收藏| 临泉县| 铜山县| 双鸭山市| 秦安县| 全椒县| 黄浦区| 奉化市|