第十二周作業(yè)

1、搭建vsftpd轨蛤,并實(shí)現(xiàn)虛擬用戶

root用戶登錄

#?yum? install? vsftpd -y

安裝完后可以使用以下命令來啟停vsftpd服務(wù)

#?service? vsftpd? start

# service vsftpd? stop

# service vsftpd? restart

它的配置文件目錄為/etc/vsftpd/,該目錄下有主配置文件vsftpd.conf抡诞,接下就以實(shí)現(xiàn)虛擬用戶功能來配置一下vsftpd

虛擬用戶就是系統(tǒng)當(dāng)中不存在的實(shí)體用戶捅伤,它只能訪問和使用ftp資源吏饿,但不允許訪問系統(tǒng)的其他資源愈腾。虛擬用戶的認(rèn)證使用口令庫文件

(1)編寫虛擬用戶的賬戶和密碼數(shù)據(jù)庫文件

編寫一文本文件炉爆,奇數(shù)行為賬戶堕虹,偶數(shù)行為密碼。

# vi? /etc/vsftpd/vusers.list

用戶名1

密碼1

用戶名2

密碼2

……

安裝db4工具來把文本文件轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)庫文件

#?yum install? ?db4-utils? ?-y

#? db_load? -T? -t? hash? ?-f? ?vusers.list? ? vusers.db

#? ?chmod 600? /etc/vsftpd/vusers.*

(2)創(chuàng)建ftp根目錄和虛擬用戶映射的系統(tǒng)用戶

#?mkdir? /var/ftproot

#? useradd -d /var/ftproot? -s? /sbin/nologin? ?virtual

#? chmod? ?755? ? /var/ftproot

(3)創(chuàng)建支持虛擬用戶的PAM認(rèn)證文件

#? vi? ?/etc/pam.d/vsftpd

auth? required? ?pam_userdb.so db=/etc/vsftpd/vusers

account? required??pam_userdb.so db=/etc/vsftpd/vusers

這里指向數(shù)據(jù)庫文件名時芬首,不要加后綴

(4)修改主配置文件

#? vi? ?/etc/vsftpd/vsftpd.conf

anonymous_enable=NO? ?#禁用匿名用戶

local_enable=YES? ? #啟用本地用戶

write_enable=YES? ? #本地用戶可以可寫

anon_umask=022? ? ? #匿名用戶創(chuàng)建文件的掩碼權(quán)限

chroot_local_user=YES? ? #禁錮本地用戶不能超出其家目錄

guest_enable=YES? ? ?#?啟用guest用戶

guest_username=virtual? ? #虛擬用戶映射的系統(tǒng)用戶名

pam_service_name=vsftpd? ?#虛擬用戶的pam文件名赴捞,不需要路徑

(5)創(chuàng)建虛擬用戶配置文件

#? mkdir? ?/etc/vsftpd/vusers_dir? ? 創(chuàng)建虛擬用戶配置文件目錄

在主配置文件中開啟虛擬用戶,并指定虛擬用戶配置文件目錄

#? vi? ?/etc/vsftpd/vsftpd.conf

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vusers_dir

在虛擬用戶配置文件目錄中為個別用戶創(chuàng)建獨(dú)立的配置文件

# vi /etc/vsftpd/vusers_dir/user1

anon_upload_enable=YES

anon_mkdir_enable=YES

(6)重啟vsftpd來重新加載

#? service? vsftpd restart

(7)測試過程

發(fā)現(xiàn)報錯

226 transfer done but failed to open directory

需要把selinux關(guān)掉郁稍。

#? vi /etc/selinux/config

SELINUX=disabled

重啟# reboot

發(fā)現(xiàn)報錯:500 OOPS: vsftpd: refusing to run with writable root inside chroot()

如果啟用chroot,必須保證ftp根目錄不可寫,這樣對于ftp根直接為網(wǎng)站根目錄的用戶不方便

#? chmod? a-x? /var/ftproot

然后如果需要在ftp根目錄下創(chuàng)建目錄或文件螟炫。請自行創(chuàng)建。

2艺晴、簡述iptales四表五鏈及詳細(xì)介紹iptables命令使用方法昼钻。

Linux系統(tǒng)上的防火墻是由iptables/netfilter組成,其中iptables是規(guī)則的制定工具封寞,工作在用戶空間然评,它制定的規(guī)則送到內(nèi)核空間,netfilter在內(nèi)核協(xié)議框架中定義了5個位置通過鉤子函數(shù)對進(jìn)出的數(shù)據(jù)包進(jìn)行過濾狈究。

iptables四表為filter ,? nat ,mangle ,? raw 碗淌。默認(rèn)表是flter,表的處理優(yōu)先級為:raw ,mangle,nat,filter抖锥。

filter:一般的過濾功能;

nat:?用于nat功能(地址轉(zhuǎn)換亿眠、映射、端口映射等)

mangle:用于對特定數(shù)據(jù)包的修改(使用情況少)

raw:? 一般是為了不再讓iptables做數(shù)據(jù)包的鏈接跟蹤處理磅废,從而提高性能纳像。

五個鏈分別是:

INPUT:?通過路由表判斷后目的地是本機(jī),然后進(jìn)入本機(jī)內(nèi)部資源

OUTPUT:?由本機(jī)產(chǎn)生的數(shù)據(jù)向外部轉(zhuǎn)發(fā)

FORWARD:通過路由表判斷后目的地不是本機(jī)拯勉,然后通過路由轉(zhuǎn)發(fā)到其他地方

PREROUTING:流入的數(shù)據(jù)包進(jìn)入路由表之前

POSTROUTING:傳出的數(shù)據(jù)包到達(dá)網(wǎng)卡出口前

四個表對應(yīng)的鏈分別為:

filter: INPUT? ,? ?OUTPUT? ,? ?FORWARD

nat:? ?PREROUTING? ,? POSTROUTING? ?FORWARD

mangle: INPUT? OUTPUT??PREROUTING? ,? POSTROUTING? ?FORWARD

raw:??PREROUTING ?OUTPUT

iptables的語法格式:

iptables? ?[-t? TABLE ]? COMMAND? ?CHAIN? ?[-m matchname [per-match-options]]? ?-j? ?targetname? [per-target-options]

-t? TABLE:? 默認(rèn)為filter? ,可以是filter ,nat? ,mangle, raw

COMMAND有以下幾種:

(1)查看:-L? ?list列出指定鏈上所有的規(guī)則竟趾,有以下幾條子選項(xiàng)

-n? :? ?numberic?以數(shù)字格式顯示地址與端口號,例如任意地址不加-n顯示為anywhere?加-n顯示為0.0.0.0/0

-v? :? ? verbose顯示詳細(xì)信息 , -vv? -vvv顯示的信息更為詳細(xì)

-x:? ? ?顯示計(jì)數(shù)器結(jié)果的精確值宫峦,不加的話顯示四舍五入的值岔帽,但是更有可讀性

--line-numbers:? ?顯示規(guī)則的序號

(2)鏈管理:

-N: new,定義一臺新的自定義規(guī)則鏈

-X:delete? 刪除一條自定義規(guī)則鏈(僅能刪除自定義的?引用計(jì)數(shù)為0的? 空的?鏈)

-E:? 重命名自定義鏈(僅能重命名引用計(jì)數(shù)為0的自定義鏈)

-P:policy? 設(shè)置默認(rèn)策略,對于filter表中的鏈來說导绷,以三種策略:ACCEPT? /? ?DROP? /? ?REJECT

(3)規(guī)則管理

-A:?append? 在最后一條規(guī)則之后犀勒,追加規(guī)則

-I:? ?insert? ?插入規(guī)則,要指定位置,不指定位置則在第一條前插入規(guī)則

-D:? delete? 刪除規(guī)則贾费,指定規(guī)則序號或規(guī)則本身來進(jìn)行刪除

-R:? replace? 替換規(guī)則枚碗,替換指定鏈上的指定規(guī)則

-F:? flush? ?清空指定鏈上的規(guī)則

-Z:? zero? ?計(jì)數(shù)器置零,每條規(guī)則對匹配的報文個數(shù)和報文的大小之和進(jìn)行統(tǒng)計(jì)铸本。

CHAIN?就是鏈肮雨,參考之前的鏈與表的關(guān)系

匹配條件:

基本匹配條件:無需加載任何模塊,由iptables/netfilter來提供

[!]? -s:? ?檢查報文中的源IP地址是否符合對應(yīng)IP或網(wǎng)絡(luò)地址范圍 ,前加“箱玷!"表示條件取反(下同)

如:0.0.0.0/0表示所有地址怨规,其他地址網(wǎng)段可以用CIDR方式書寫

[!]? -d:? ?檢查報文中的目標(biāo)IP地址是否符合對應(yīng)IP或網(wǎng)絡(luò)地址范圍

[!]? -p:? 網(wǎng)絡(luò)協(xié)議,常見的有tcp? /? udp? ?/icmp

[!] -i? ?:數(shù)據(jù)報文流入的接口(即哪張網(wǎng)卡)锡足,只能應(yīng)用于?INPUT? ?PREROUTING? ,? ?FORWARD? 鏈

[!]? -o? :數(shù)據(jù)報文流出的接口(即哪張網(wǎng)卡)波丰,只能應(yīng)用于OUTPUT? ? POSTROUTING? ?FORWARD鏈

擴(kuò)展匹配條件:

隱式擴(kuò)展:使用-p指定了協(xié)議后,隱式包含了一些擴(kuò)展選項(xiàng)

tcp協(xié)議:

[!]? --source-port? 或? --sport? port[:port]? ?匹配報文的源端口舶得,可以是端口范圍兩個port之間用“:”隔開

[!]? --destination-port? 或? --dport? port[:port]? ?匹配報文的目標(biāo)端口掰烟,可以是端口范圍

[!]? --tcp-flags? 檢查的標(biāo)志位列表? 必須為1的標(biāo)志位列表? ?用于匹配報文的標(biāo)志位,如果標(biāo)志位出現(xiàn)在第一列表中沐批,而沒有出現(xiàn)在第二列表中纫骑,則必須為0。第二列表是第一列表的子集九孩。

[!]? --syn? ?用于匹配第一次握手先馆,相當(dāng)于"--tcp-flags? SYN,ACK,FIN,RST? SYN"

udp協(xié)議:

[!]? --source-port? 或? --sport? port[:port]? ?匹配報文的源端口,可以是端口范圍兩個port之間用“:”隔開

[!]? --destination-port? 或? --dport? port[:port]? ?匹配報文的目標(biāo)端口躺彬,可以是端口范圍

icmp協(xié)議:

[!]? --icmp-type? {type[/code]| typename}

echo-request? :? ?8

echo-replay? ? :? ?0

顯式擴(kuò)展:使用-m來指明要調(diào)用的擴(kuò)展模塊, -m? 模塊名? 模塊對應(yīng)選項(xiàng)煤墙,常用的模塊名舉例如下:

multiport:

以離散方式來指定端口號列表

[!]? --source-port? 或? --sport? port,port,port ....指定多個源端口

[!]? --destination-port? 或? --dport? ?port,port,port ..指定多個目標(biāo)端口

iprange:指定IP地址范圍

[!}? --src-range? ?fromIP[-toIP]? 來源IP范圍

[!}? --dst-range? ?fromIP[-toIP]? 目標(biāo)IP范圍

time:? 指定日期時間范圍

--timestart? hh:mm[:ss]? ? 開始時間

--timestop? ?hh:mm[:ss]? ? 結(jié)束時間

[!]? --weekdays day,day.....?周幾

[!]? --monthdays? ?day,day,....?每月內(nèi)的幾日

--datestart? ?YYYY[-MM[-DD[Thh[:mm[:ss]]]]]? ? 開始日期和時間

--datestop? ?YYYY[-MM[-DD[Thh[:mm[:ss]]]]]? ? ?結(jié)束日期和時間

--kerneltz? ?使用內(nèi)核配置的時區(qū),而不是默認(rèn)的UTC

string:?匹配報文中的字符串

--algo {bm|kmp}? ? 必選項(xiàng)? ?指定匹配字符串的算法

[!]? --string? 模式字符串

[!]? --hex-string? 16進(jìn)制編碼的模式字符串

--from? offset? ?指定開始檢查的位置

--to? ?offset? ? ? 指定結(jié)束檢查的位置

connlimit :單IP的并發(fā)連接數(shù)限制

--connlimit-upto? n? 連接數(shù)小于等于n

--connlimit-above? n? ? 連接數(shù)大于等于n

limit? :使用令牌桶過濾器宪拥,指定令牌生成速率

--limit-burst? n? ?令牌桶的大小

--limit? n[/second|/minute|/hour|/day]? ?限制每秒多少個包(每分鐘/小時/天多少個包)

state:? 連接追蹤記錄仿野,在并發(fā)訪問量大的主機(jī)不要開啟

追蹤到的連接:/proc/net/nf_conntrack

調(diào)整可記錄的連接數(shù)量最大值:/proc/sys/net/nf_conntrack_max

超時時長:/proc/sys/net/netfilter/* timeout *

[!]? --state? 狀態(tài)

這里的狀態(tài)可以為以下幾種:

NEW:新連接請求

ESTABLISHED:已建立的連接

INVALID:未識別的連接

RELATED:相關(guān)聯(lián)連接,附屬于某個已存在連接的新請求

UNTRACKED:未追蹤的連接

-j?targetname? ? 跳轉(zhuǎn)的目標(biāo)或處理動作:

基本處理動作:

ACCEPT:接受

DROP:? 丟棄

擴(kuò)展處理動作:

REJECT:拒絕

--reject-with type?定義拒絕類型

LOG? ?日志記錄她君,默認(rèn)保存在/var/log/messages文件中脚作,

--log-level? ?日志級別

--log-prefix? ?日志前綴

RETURN

從自定義鏈返回原鏈繼續(xù)檢查規(guī)則

自定義鏈名作為目標(biāo)

自定義鏈中的規(guī)則如果都不匹配時,再返回原鏈繼續(xù)檢查原鏈上的規(guī)則

其它命令

iptables-save? > filename? ?保存iptables內(nèi)容到某一文件中

iptables-restore

-n? 不清除原有規(guī)則

-t? :僅檢查分析生成的規(guī)則集是否有語法錯誤

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末犁河,一起剝皮案震驚了整個濱河市鳖枕,隨后出現(xiàn)的幾起案子魄梯,更是在濱河造成了極大的恐慌桨螺,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酿秸,死亡現(xiàn)場離奇詭異灭翔,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門肝箱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哄褒,“玉大人,你說我怎么就攤上這事煌张∧派模” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵骏融,是天一觀的道長链嘀。 經(jīng)常有香客問我,道長档玻,這世上最難降的妖魔是什么怀泊? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮误趴,結(jié)果婚禮上霹琼,老公的妹妹穿的比我還像新娘。我一直安慰自己凉当,他們只是感情好枣申,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著看杭,像睡著了一般糯而。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泊窘,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天熄驼,我揣著相機(jī)與錄音,去河邊找鬼烘豹。 笑死瓜贾,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的携悯。 我是一名探鬼主播祭芦,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼憔鬼!你這毒婦竟也來了龟劲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤轴或,失蹤者是張志新(化名)和其女友劉穎昌跌,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體照雁,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚕愤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萍诱。...
    茶點(diǎn)故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡悬嗓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出裕坊,到底是詐尸還是另有隱情包竹,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布籍凝,位于F島的核電站映企,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏堰氓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一苹享、第九天 我趴在偏房一處隱蔽的房頂上張望双絮。 院中可真熱鬧,春花似錦得问、人聲如沸囤攀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焚挠。三九已至,卻和暖如春漓骚,著一層夾襖步出監(jiān)牢的瞬間蝌衔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工蝌蹂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留噩斟,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓孤个,卻偏偏與公主長得像剃允,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子齐鲤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容