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 = share263 [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.mp33)启动服务 测试
关闭防火墙 SELINUX 
#service smb start
#service nmb start 测试 windows \\192.168.172.251
实验2 共享目录 /pub /soft 安全级别 user
1)修改配置文件
#vim /etc/samba/smb.conf
101 security = user263 [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 = yes2)建立/pub /soft
#mkdir /pub
#mkdir /soft
#chmod 777 /pub
#chmod 700 /soft
#useradd aa
#passwd aa
#chown aa /soft (六)
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 清除所有链统计
以端口和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  状态模块 常见状态
按照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
会把规则保存到
 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
开机运行
写入