Samba文件服務器
(一)簡介
內網文件服務器
windows-windows 文件共享服務 網絡鄰居
linux-linux NFS
windows-linux Samba
(二)端口
smbd: 為clinet(客戶端)提供資源訪問 tcp 139 445
nmbd: 提供netbios主機名解析 udp 137 138
(三)安裝相關程序
samba 主程序包 服務器軟件包 需要安裝
samba-common 通用工具和庫文件
samba-client 客戶端工具
安裝軟件 samba ISO
#mount /dev/sr0 /mnt/cdrom
#yum -y install samba
(四)相關文件
/etc/samba/smb.conf 配置文件 # 和 ;注釋
(五)服務器段配置
vi /etc/samba/smb.conf 安全級別:share user
[global]
workgroup = 工作組
server string = 描述
log file = 日志位置
max log size = 最大日志設置 KB
security = user 安全等級
user 使用samba用戶登錄。注意:samba用戶由系統用戶轉變過來。要把用戶生成為samba用戶,此用戶必須已經是系統用戶
share 不用密碼
server 使用驗證服務器驗證
share definitions 共享設置
1)修改配置文件
#vim /etc/samba/smb.conf
101 security = share
263 [movie]
264 comment = dianying
265 path = /movie
266 browseable = yes
267 guest ok = yes
268 writable = yes
[共享目錄名]
Comment = 目錄描述
browseable = yes 目錄是否對用戶可見
writeable = yes 可寫(要與系統目錄權限相與)
valid users = 用戶名 用戶限制(目錄是哪個用戶所有)
path = /www 指定共享目錄位置
例子:
共享兩個目錄,一個是pub 位置在 /pub 所有用戶都能訪問,所有用戶都能上傳
soft 位置在 /soft 只有aa用戶能訪問,上傳。其他用戶不能訪問
[pub]
browseable = yes
path = /pub
writable = yes
[soft]
browseable = yes
path = /soft
writable=yes
mkdir /pub
mkdir /soft
chmod 777 /pub
chmod 700 /soft
chown aa /soft
2)建立/movie
#mkdir /movie
#chmod 777 /movie
#cd /movie
#touch starwar.avi bubugao.mp3
3)啟動服務 測試
關閉防火牆 SELINUX
#service smb start
#service nmb start
測試 windows \\192.168.172.251
實驗2 共享目錄 /pub /soft 安全級別 user
1)修改配置文件
#vim /etc/samba/smb.conf
101 security = user
263 [pub]
264 comment = public
265 path = /pub
266 browseable = yes
267 writable = yes
268
269 [soft]
270 comment = software
271 path = /soft
272 browseable = yes
273 writable = yes
2)建立/pub /soft
#mkdir /pub
#mkdir /soft
#chmod 777 /pub
#chmod 700 /soft
#useradd aa
#passwd aa
#chown aa /soft
(六) 把系統用戶聲明為samba用戶
smbpasswd -a aa(系統用戶名)
smbpasswd -x 用戶名 刪除samba用戶
pdbedit -L 查看samba用戶
(七) 重啟服務
service smb restart
service nmb restart
注意:samba權限和系統權限取最嚴格權限
samba用戶必須是系統用戶
啟動的服務名是smb
(八) 客戶端使用
windows: 共享目錄
net use * /del 刪除緩存(命令窗口)
linux客戶端:
smbclient //192.168.140.253/soft -U aa
防火牆配置
一 簡介
1 功能:
分割內網和外網
划分要被保護的服務器
2 分類
1)數據包過濾
分析ip和端口,mac是否符合規則,如果符合,接受
通過源端口,源ip,源mac,包中特定標記 和目標端口,IP,mac
來確定數據包是否可以通過防火牆
2)代理服務器
3 防火牆限制
1)防火牆不能有效防止病毒和木馬
2)防火牆一般不設定對內部訪問規則,所以對內部攻擊無效
4 防火牆配置原則
拒絕所有,逐個允許
允許所有,逐個拒絕
5 linux常見防火牆
2.4---- iptables
2.2 ipchains
二 iptables防火牆
1 結構
表-------鏈--------規則
2 表
filter表 數據過濾表
nat表 網絡地址轉換
mangle 特殊數據包標記(對數據進行標記)
3 鏈
filter表中: INPUT OUTPUT FORWARD
三 iptables基礎語法
1 規則的查看和清楚
iptables [-t 表名] [選項] -n
選項:
-L 查看
-F 清除所有規則
-X 清除自定義鏈
-Z 清除所有鏈統計
-n 以端口和ip顯示
iptables -t nat -L
查看nat表中規則
iptables -L
查看filter表中規則
2 定義默認策略
iptables -t 表名 -P 鏈名 ACCEPT|DROP
-P(大) 定義默認策略
iptables -t filter -P INPUT DROP
注意:不要把自己踢出服務器,應該最后設定。
#iptables -A INPUT -i lo -j ACCEPT
允許本機回環網卡通信,在INPUT鏈
3 ip和網卡接口設置
iptables [-AI 鏈] [-io 網卡接口] [-p 協議] [-s 源IP] [-d 目標ip] -j 動作
#iptables -A INPUT -i eth0 -s 192.168.172.250 -j DROP (封IP)
-A 追加鏈規則 在鏈規則最后加入此規則
-I INPUT 2 把此規則插入到INPUT鏈,變成第二條規則
-D 鏈 條數 刪除指定鏈的指定條數防火牆
iptables -D INPUT 2 刪除input鏈第二條規則
-i eth0 指定進入接口 要在INPUT鏈上定義
-o eth0 指定傳出接口 要在OUTPUT鏈上定義
-p 協議 tcp udp icmp all
-j 動作 ACCEPT DROP
iptables -A INPUT -i lo -j ACCEPT
允許本機回環網卡通信,在INPUT鏈
iptables -A INPUT -i eth0 -s 192.168.140.254 -j ACCEPT
允許254進入eth0
iptables -A INPUT -i eth0 -s 192.168.140.0/24 -j DROP
拒絕140網段訪問
4 設定端口訪問
iptables -A INPUT -i eth0 -p all -s 源ip --sport 源端口 -d 目標ip --dport 目標端口 -j 動作
#iptables -A INPUT -i eth0 -s 192.168.172.250 -p tcp --dport 22 -j DROP (封端口)
iptables -A INPUT -i eth0 -p tcp -s 192.168.140.0/24 --dport 22 -j DROP
iptables -A INPUT -i eth0 -p tcp -s 192.168.140.0/24 --dport 137:139 -j ACCEPT
指定端口時,協議不能用all,要指定確切協議
5 模塊調用
1)-m 模塊名 模塊選項 加載iptables功能模塊
-m state --state ESTABLISHED,RELATED
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT(ACCEPT開啟DROP 關閉)
state 狀態模塊 常見狀態 ESTABLISHED 聯機成功的狀態 RELATED 返回包狀態
2)-m mac --mac-source 按照mac地址限制訪問
iptables -A INPUT -m mac --mac-source aa:bb:cc:dd:ee:ff -j DROP
拒絕某mac訪問
3)-m string --string "想要匹配的數據包中字串"
iptables -A FORWARD -p udp --dport 53 -m string --string "tencent" --algo kmp -j DROP
通過dns拒絕qq登錄
--algo 選擇模式匹配策略,支持KMP和BM兩種字符串搜索算法,任意指定一個即可
6 簡易防火牆
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 873 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -P INPUT DROP
7 防火牆服務開機自啟動(命令設置)
#chkconfig iptables on
#./iptables.rule 手動執行
#vim /etc/rc.local
/root/iptables.rule
#service iptables save 保存防火牆規則到文件內
8 防火牆規則開啟自啟動
1) service iptables save
會把規則保存到 /etc/sysconfig/iptables文件中,重啟會自動讀取
2) 手工寫防火牆腳本
如 vi /root/iptables.rule
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 873 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -P INPUT DROP
賦予執行權限 chmod 755 /root/iptables.rule
開機運行 vi /etc/rc.local
寫入 /root/iptables.rule