linux的sftp需求配置過程方案_Linux服務器維護_龍虎鷹師網安服務器維護基地--Powered by www.vqbhynr.com.cn

linux的sftp需求配置過程方案

作者:龍虎鷹師網安linux教程網 來源:龍虎鷹師網安linux教程網 瀏覽次數:0

本篇關鍵詞:linuxsftp
龍虎鷹師網安網訊:
背景:由于vsftp采用明文傳輸,用戶名密碼可通過抓包得到,故為了安全性,需使用sftp,鎖定目錄且不允許sftp用戶登到服務器。

背景:由于vsftp采用明文傳輸用戶名密碼可通過抓包得到故為了安全性,需使用sftp,鎖定目錄且不允許sftp用戶登到服務器

   需求如下:
   為安全且方便王五公司的數據傳回,以及我公司(張三和李四公司子公司)提供數據給王五公司具體要求如下
   1、需分別創建3個普通sftp賬號,給張三公司(zhangsan)、李四公司(lisi)及王五公司(wangwu)使用
   2、需建立3個目錄,分別保存我公司(張三和李四公司)的數據和王五公司的數據,
其中我公司賬號(張三公司和李四公司賬號),不允許對方進入各自的目錄,共享各自的數據
   3、王五公司賬號對我公司(張三和李四公司的目錄)數據只有讀取權限。對其自身數據有讀寫權限;張三公司、
李四公司的賬號對王五的數據僅有讀的權限,對我公司數據按各自家目錄擁有讀寫權限
   4、再設置一管理員賬號(sftpadm),對所有公司的數據都具有讀寫權限

1、當前系統版本:suse 10 sp2 64bit
station91:~ # cat /etc/issue.net
Welcome to SUSE Linux Enterprise Server 10 SP2 (x86_64) - Kernel %r (%t).
station91:~ # uname -a
Linux station91 2.6.16.60-0.21-smp #1 SMP Tue May 6 12:41:02 UTC 2008 x86_64 x86_64 x86_64 GNU/Linux
2、將用戶鎖定目錄,需滿足2個條件:
   2.1、OpenSSH版本必須不低于openssh-5.1p1才能夠支持鎖定目錄的功能,suse系統默認suse SP4及以上版本才能夠支持,SP4以下版本需要單獨升級OpenSSH版本。執行ssh -V,查看openssh版本,如下所示,已經滿足要求:之前安全加固已安裝符合要求的openssh
station91:~ # ssh -V
OpenSSH_5.1p1, OpenSSL 0.9.8a 11 Oct 2005
   2.2、被鎖定的那個目錄必須是:root:root,并且權限為:755
3、 創建目錄。因需要創建的賬號為sftp賬號,故不使用useradd -d /home/lhf -m lhf的方式創建賬號,而是先使用root創建出用戶存放數據的目錄,然后使用-d指定該目錄為家目錄,無需使用-m參數,這樣當使用sftp賬號登入 后,是一個干凈的目錄
station91/# mkdir -p /sftpserver/wangwusftp/
station91/# mkdir -p /sftpserver/wangwusftp/wangwu
station91/# mkdir -p /sftpserver/wangwusftp/zhangsan
station91/# mkdir -p /sftpserver/wangwusftp/lisi
station91/# mkdir -p /sftpserver/wangwusftp/sftpadm
4、創建組,將要創建的3個用戶的組都屬于gwangwusftp組,管理員屬于gwangwusftpadm組
station91/# groupadd gwangwusftp
station91/# groupadd gwangwusftpadm
5、創建用戶,指定SHELL為/bin/false,指定普通用戶組為gwangwusftp,管理員用戶組為:gwangwusftpadm
station91/# useradd -d /sftpserver/wangwusftp/wangwu -g gwangwusftp -s /bin/false wangwu
station91/# useradd -d /sftpserver/wangwusftp/zhangsan -g gwangwusftp -s /bin/false zhangsan
station91/# useradd -d /sftpserver/wangwusftp/lisi -g gwangwusftp -s /bin/false lisi
station91/# useradd -d /sftpserver/wangwusftp/sftpadm -g gwangwusftpadm -s /bin/false sftpadm
6、批量更改用戶密碼
station91/sftpserver/wangwusftp# cat /root/passwd.txt
wangwu:$98#ukDe
zhangsan:#kuE4$3!
lisi:kdE9#%hp
sftpadm:weE$%kPq
station91/sftpserver/wangwusftp# chpasswd < /root/passwd.txt
station91/sftpserver/wangwusftp# rm -i /root/passwd.txt
rm: remove regular file `/root/passwd.txt'? y
7、對用戶的家目錄賦予正確的用戶和屬組關系
station91/# cd /sftpserver/wangwusftp/
station91/sftpserver/wangwusftp# chown wangwu:gwangwusftp  wangwu
station91/sftpserver/wangwusftp# chown zhangsan:gwangwusftp  zhangsan
station91/sftpserver/wangwusftp# chown lisi:gwangwusftp  lisi
station91/sftpserver/wangwusftp# chown sftpadm:gwangwusftpadm sftpadm

8、為了數據的安全性,不允許other用戶訪問zhangsan,lisi,wangwu,sftpadm目錄
station91/sftpserver/wangwusftp# pwd
/sftpserver/wangwusftp
station91/sftpserver/wangwusftp# ls -ld * //默認為755
drwxr-xr-x 2 lisi     gwangwusftp    4096 Nov  2 10:54 lisi
drwxr-xr-x 2 sftpadm  gwangwusftpadm 4096 Nov  2 10:54 sftpadm
drwxr-xr-x 3 wangwu   gwangwusftp    4096 Nov  2 11:13 wangwu
drwxr-xr-x 2 zhangsan gwangwusftp    4096 Nov  2 10:54 zhangsan
station91/sftpserver/wangwusftp# chmod 750 *
station91/sftpserver/wangwusftp# ls -ld * //更改后為750
drwxr-x--- 2 lisi     gwangwusftp    4096 Nov  2 10:54 lisi
drwxr-x--- 2 sftpadm  gwangwusftpadm 4096 Nov  2 10:54 sftpadm
drwxr-x--- 3 wangwu   gwangwusftp    4096 Nov  2 11:13 wangwu
drwxr-x--- 2 zhangsan gwangwusftp    4096 Nov  2 10:54 zhangsan

9、配置/etc/ssh/sshd_config,限制訪問的賬號和地址,修改配置前請先備份
station91/# cp /etc/ssh/sshd_config /etc/ssh/sshd_config_20121102.bak
station91/# cd /etc/ssh/
station91/etc/ssh#vim sshd_config
//在# Authentication:下面新增如下四行,指的是只允許zhangsan,lisi,wangwu,sftpadm用戶從10.46網段登入
# Authentication:
AllowUsers [email protected].*.*
AllowUsers [email protected].*.*
AllowUsers [email protected].*.*
AllowUsers [email protected].*.*

//對下面這行進行注釋,不使用標準的sftp
#Subsystem      sftp    /usr/lib64/ssh/sftp-server
//新增一行如下:
Subsystem sftp internal-sftp

//在/etc/ssh/sshd_config最后面添加如下:屬于gwangwusftp組的用戶都鎖定在/sftpserver/wangwusftp/,且創建的文件的權限為660,目錄為770
用戶sftpadm鎖定在/sftpserver/wangwusftp/,如上所述,/sftpserver/wangwusftp/目錄必須為root:root,權限為755,否則鎖定失敗
Match group gwangwusftp
   ForceCommand internal-sftp -u 007
   ChrootDirectory /sftpserver/wangwusftp/
   X11Forwarding no
   AllowTcpForwarding no
Match user sftpadm
   ForceCommand internal-sftp -u 007
   ChrootDirectory /sftpserver/wangwusftp/
   X11Forwarding no
   AllowTcpForwarding no

/etc/ssh/sshd_config的全部配置如下:
station91/# cat /etc/ssh/sshd_config | grep -v ^# | grep -v ^$
AllowUsers [email protected].*.*
AllowUsers [email protected].*.*
AllowUsers [email protected].*.*
AllowUsers [email protected].*.*
PermitRootLogin no
PasswordAuthentication no

UsePAM yes
X11Forwarding yes
UseDNS no //將DNS解析設置為no,避免DNS解析失敗,導致長時間無法登入sftp
Subsystem       sftp   internal-sftp
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
Match group gwangwusftp
   ForceCommand internal-sftp -u 007
   ChrootDirectory /sftpserver/wangwusftp/
   X11Forwarding no
   AllowTcpForwarding no
Match user sftpadm
   ForceCommand internal-sftp -u 007
   ChrootDirectory /sftpserver/wangwusftp/
   X11Forwarding no
   AllowTcpForwarding no

10、設置acl,不允許zhangsan,lisi互相訪問各自的數據
station91/sftpserver/wangwusftp# setfacl -m u:zhangsan:- lisi
station91/sftpserver/wangwusftp# setfacl -m u:lisi:- zhangsan
station91/sftpserver/wangwusftp# getfacl  lisi
# file: lisi
# owner: lisi
# group: gwangwusftp
user::rwx
user:zhangsan:---
group::r-x
mask::r-x
other::---

station91/sftpserver/wangwusftp# getfacl zhangsan
# file: zhangsan
# owner: zhangsan
# group: gwangwusftp
user::rwx
user:lisi:--- //張三這個目錄,lisi用戶無訪問權限,但能看得到zhangsan這個目錄,因為能否看是看上一級目錄是否有r權限
group::r-x
mask::r-x
other::---

//設置acl后,測試結果,是OK的
station91/sftpserver/wangwusftp# sftp [email protected]
Connecting to 10.46.14.91...
Password:
sftp> pwd
Remote working directory: /
sftp> ls
lisi      sftpadm   wangwu    zhangsan
sftp> cd lisi
sftp> ls
Couldn't get handle: Permission denied //zhangsan用戶讀取不了lisi的數據了
sftp>

10、設置acl,允許管理員對所有用戶的數據都有讀寫權限
設置acl前,是沒有讀寫權限的,如下所示:
station91/sftpserver/wangwusftp# sftp [email protected]
Connecting to 10.46.14.91...
Password:
sftp> pwd
Remote working directory: /
sftp> ls
lisi      sftpadm   wangwu    zhangsan
sftp> cd lisi
sftp> mkdir lisi1 //管理員sftp無法在lisi家目錄創建目錄
Couldn't create directory: Permission denied
sftp> cd ../sftpadm
sftp> mkdir sftpadm1
sftp>

設置相應的acl:
station91/sftpserver/wangwusftp# setfacl -m u:sftpadm:rwx lisi
station91/sftpserver/wangwusftp# setfacl -m u:sftpadm:rwx zhangsan
station91/sftpserver/wangwusftp# setfacl -m u:sftpadm:rwx wangwu
station91/sftpserver/wangwusftp# setfacl -m d:u:sftpadm:rwx lisi //為了讓lisi以后創建的文件都可以讓sftpadm讀寫,所以要設置默認權限(d參數的作用)
station91/sftpserver/wangwusftp# setfacl -m d:u:sftpadm:rwx zhangsan
station91/sftpserver/wangwusftp# setfacl -m d:u:sftpadm:rwx wangwu
station91/sftpserver/wangwusftp# ls -ld *
drwxrwx---+ 2 lisi     gwangwusftp    4096 Nov  2 10:54 lisi
drwxr-x---  3 sftpadm  gwangwusftpadm 4096 Nov  2 11:37 sftpadm
drwxrwx---+ 3 wangwu   gwangwusftp    4096 Nov  2 11:13 wangwu
drwxrwx---+ 2 zhangsan gwangwusftp    4096 Nov  2 10:54 zhangsan
station91/sftpserver/wangwusftp# getfacl lisi
# file: lisi
# owner: lisi
# group: gwangwusftp
user::rwx
user:zhangsan:---
user:sftpadm:rwx
group::r-x
mask::rwx
other::---
default:user::rwx
default:user:sftpadm:rwx //sftpadm對lisi家目錄的文件和目錄都有默認rwx的權限
default:group::r-x
default:mask::rwx
default:other::---

設置相應的acl后,管理員sftpadm是可以在在所有目錄上傳數據和刪除數據,但是上傳的數據為sftpadm:gwangwusftpadm,而文件權限為660,目錄權限為770,所以
導致管理員sftpadm創建的文件無法讓普通用戶讀和寫,如下所示:
station91/sftpserver/wangwusftp# sftp [email protected]
Connecting to 10.46.14.91...
Password:
sftp> pwd
Remote working directory: /
sftp> ls
lisi      sftpadm   wangwu    zhangsan
sftp> cd lisi
sftp> mkdir lisi2
sftp> quit
station91wangwusftp/lisi# ls -ld lisi2
drwxrwx---+ 2 sftpadm gwangwusftpadm 4096 Nov  2 11:40 lisi2 //所屬的組為gwangwusftpadm,而權限為770,導致lisi用戶無法對管理員上傳給lisi家目錄的數據做處理
這種情況,使用sgid來實現,不管誰創建的文件都屬于gwangwusftp這個組所擁有,就可以很好的解決,安全性方面就做的狠到位了。
FJXM-DM-Test-bossinfo-01 /sftpserver/wangwusftp# chmod g+s *
FJXM-DM-Test-bossinfo-01 /sftpserver/wangwusftp# ls -ld *
drwxrws---+ 4 lisi     gwangwusftp    4096 Nov  2 14:24 lisi
drwxr-s---  3 sftpadm  gwangwusftpadm 4096 Nov  2 11:37 sftpadm
drwxrws---+ 6 wangwu   gwangwusftp    4096 Nov  2 11:46 wangwu
drwxrws---+ 5 zhangsan gwangwusftp    4096 Nov  2 14:23 zhangsan
station91/sftpserver/wangwusftp# sftp [email protected]
Connecting to 10.46.14.91...
Password:
sftp> pwd
Remote working directory: /
sftp> cd lisi
sftp> mkdir lisi_laici
sftp> quit
station91/sftpserver/wangwusftp# cd lisi
station91wangwusftp/lisi# pwd
/sftpserver/wangwusftp/lisi
station91wangwusftp/lisi# ls -ld lisi_laici/
drwxrws---+ 2 sftpadm gwangwusftp 4096 Nov  2 14:20 lisi_laici/ //這時候由管理員sftpadm創建的目錄就不再屬于gwangwusftpadm了,管理員存放在lisi
家目錄的數據就可以讓lisi讀寫,同理,存放在其他普通用戶家目錄的數據也可以讓他們各自讀寫了

解決該需求用到的知識點:sshd_config關于sftp的配置,sgid,acl
解決該需求用到的思路:王五要能訪問張三,李四目錄讀取數據,所以王五對張三和李四目錄就必須也只能有rx的權限;而張三,李四不能互相訪問對方目錄讀取數據,
張三和李四各自的目錄對各自沒有rx權限,如果是這樣的話,也就是說張三和李四的家目錄權限都只能是700,那么王五如何來讀取張三和李四的數據???看上去變的該需求不能實現了
這時候就需要想到linux下的acl了,到現在為止,我們要知道的是,我們會用到acl,但怎么用,還得細想,提到上面的思路,可能會讓你誤解,那就設置張三和李四的家目錄權限為700,然后
設置acl,讓王五對張三和李四的目錄有讀取數據的權限不就得了,設置如下:
chmod 700 zhangsan
chmod 700 lisi
setfacl -m u:wangwu:rx zhangsan
setfacl -m u:wangwu:rx lisi
setfacl -m d:u:wangwu:rx zhangsan
setfacl -m d:u:wangwu:rx lisi
但如果這樣,我們后面的管理員sftpadm呢,他在zhangsan,lisi,wangwu創建的文件屬性為:sftpadm:gwangwusftpadm,創建的目錄權限為770,文件權限為:660
那么管理員sftpadm上傳數據到在lisi目錄,是為了讓lisi能讀寫管理員上傳到他家目錄的數據,結果卻不行,所以正確的思路為:
zhangsan,lisi,wangwu屬于同一個組gwangwusftp,家目錄的權限均為750,從安全性方面考慮,不允許other用戶對他們的數據可以下載,所以other謂設置為0,
設置acl,讓張三李四不能互訪各自的家目錄,而王五仍舊是可以的
setfacl -m u:zhangsan:- lisi
setfacl -m u:lisi:- zhangsan
這時候管理員sftpadm上傳給lisi,wangwu,zhangsan的數據仍為sftpadm:gwangwusftpadm,權限為660或者770,導致普通用戶無法讀寫管理員上傳給他的數據,這時候就要想到sgid了,連selinux
都要遵守他的規則
chmod g+s lisi
chmod g+s wangwu
chmod g+s zhangsan
這時候sftpadm再上傳數據到lisi,wangwu,zhangsan,他們就可以對這些數據進行讀寫操作了
花了些時日,才理清這些思路的,現共享出來,希望對一些人有用。

    龍虎鷹師網安服務器維護方案本篇連接:http://www.vqbhynr.com.cn/show-19616-1.html
網站維護教程更新時間:2013-01-14 22:13:49  【打印此頁】  【關閉
全站連接N點 | 龍虎鷹師網安 |  
專業服務器維護及網站維護手工安全搭建環境,網站安全加固服務。龍虎鷹師網安服務器維護基地招商進行中!請QQ:29769479

footer  footer  互聯網安全  footer    

山东体十一选五走势 15选5官方同步 天津11选5任五遗漏 000613大东海a股吧 重庆时时彩过滤软件 福建体彩36选7走势图彩之家 股市点评千股千评 秒速时时彩怎么玩 黑龙江体彩6 1开奖结果今天 今日股票推荐股 腾讯分分彩全能版必中计划 快乐双彩今晚开奖公告 内蒙古11选五任五遗漏一定牛 白小姐精选四不像中特图 股票解禁对股价的影 广东十一选五app 甘肃11选五开奖中3个号