mysql中实现vsftp虚拟用户及iptables用法
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,下面讲讲关于mysql中实现vsftp虚拟用户及iptables用法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完mysql中实现vsftp虚拟用户及iptables用法
千家信息网最后更新 2025年12月02日mysql中实现vsftp虚拟用户及iptables用法
下面讲讲关于mysql中实现vsftp虚拟用户及iptables用法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完mysql中实现vsftp虚拟用户及iptables用法这篇文章你一定会有所受益。
vsftp基于mysql创建虚拟用户
1.首先安装环境
yum groupinstall -y "Development Tools" "Server PlatformDevelopment"yum install -y pam-devel mariadb-devel mariadb-server vsftpd lftp ftp下载最新的pam-mysqlhttp://pam-mysql.sourceforge.net/编译安装pam-mysqltar xf pam_mysql-0.7RC1.tar.gzcd pam_mysql-0.7RC1./configure --with-pam=/usr --with-mysql=/usr --with-pam-mods-dir=/usr/lib64/securitymakemake install
2 配置vsftp
建立pam认证所需文件
vim /etc/pam.d/vsftpd.mysql添加如下两行auth required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=centos host=127.0.0.1 db=vsftpd table=user usercolumn=name passwdcolumn=password crypt=2account required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=centos host=127.0.0.1 db=vsftpd table=user usercolumn=name passwdcolumn=password crypt=2
建立虚拟用户映射的系统用户及对应的目录
mkdir /ftproot useradd -s /sbin/nologin -d ftproot vuser创建测试目录 mkdir /ftproot/{pub,upload} cd /ftproot chown vuser:vuser upload修改vsftpd的配置文件,使其适应mysql认证
vim /etc/vsftpd/vsftpd.conf修改pam_service_name选项的值如下所示pam_service_name=vsftpd.mysql添加以下两行:guest_enable=YESguest_username=vuser
配置虚拟用户具有不同的访问权限
创建所需目录,并为虚拟用户提供配置文件
mkdir /etc/vsftpd/vusers_confcd /etc/vsftpd/vusers_conf
配置虚拟用户具有不同的访问权限:
vim tom 写入如下内容
anon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES
vim jerry
anon_upload_enable=NOanon_mkdir_write_enable=NOanon_other_write_enable=NO
3 创建sql中的数据
MariaDB [(none)]> CREATEDATABASE vsftpd;MariaDB [(none)]>use vsftpd;MariaDB [vsftpd]> create table user(name char(30),password char(50));MariaDB [vsftpd]> INSERT INTO vsftpd.user(name,password) VALUES ('tom',PASSWORD('lxq')),('jerry',PASSWORD('lxq'));MariaDB [(none)]>create user vsftpd@localhost identified by 'centos'MariaDB [(none)]>grant all privileges on vsftp.user to vsftpd@localhost identified by 'centos';MariaDB [(none)]>FLUSHPRIVILEGES;4测试
登陆tom

随便上传一个文件
登陆jerry,上传失败
详述iptables五链
四表五链概念
filter表--过滤数据包Nat表--用于网络地址转换(IP、端口)Mangle表--修改数据包的服务类型、TTL、并且可以配置路由实现QOSRaw表--决定数据包是否被状态跟踪机制处理INPUT链--进来的数据包应用此规则链中的策略OUTPUT链--外出的数据包应用此规则链中的策略FORWARD链--转发数据包时应用此规则链中的策略PREROUTING链--对数据包作路由选择前应用此链中的规则(所有的数据包进来的时侯都先由这个链处理)POSTROUTING链--对数据包作路由选择后应用此链中的规则(所有的数据包出去的时侯都先由这个链处理 #清空iptables规则[root@localhost ~]# iptables -F[root@localhost ~]# iptables -vnLChain INPUT (policy ACCEPT 6 packets, 348 bytes) pkts bytes target prot opt in out source destinationChain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destinationChain OUTPUT (policy ACCEPT 5 packets, 380 bytes) pkts bytes target prot opt in out source destination#安装所需软件[root@localhost ~]# yum -y install httpd telnet-server samba tftp-server vsftpd mariadb-server#设置云服务器输入和输出默认策略为DROP[root@localhost ~]# iptables -P INPUT DROP[root@localhost ~]# iptables -P OUTPUT DROP
(1)多端口匹配
#接收流经22和80端口的报文,即可以正常使用ssh和httpd服务[root@localhost ~]# iptables -I INPUT -d 192.168.186.131 -p tcp -m multiport --dports 22,80 -j ACCEPT [root@localhost ~]# iptables -I OUTPUT -s 192.168.186.131 -p tcp -m multiport --sports 22,80 -j ACCEPT
(2)连接追踪
#允许指定范围的ip地址连接23端口[root@localhost ~]# iptables -I INPUT 3 -d 192.168.186.131 -p tcp --dport 23 -m iprange --src-range 192.168.186.130-192.168.186.135 -j ACCEPT[root@localhost ~]# iptables -I OUTPUT 3 -s 192.168.186.131 -p tcp --sport 23 -m iprange --dst-range 192.168.186.130-192.168.186.135 -j ACCEPT
(3)字符串匹配
#将默认策略改回ACCEPT[root@localhost ~]# iptables -P INPUT ACCEPT[root@localhost ~]# iptables -P OUTPUT ACCEPT#当数据报文中出现"gaain"就不发送[root@localhost ~]# iptables -I OUTPUT -s 192.168.186.131 -m string --algo kmp --string "gaain" -j REJECT
(4)时间匹配
#开放同步时间服务端口[root@localhost ~]# iptables -I OUTPUT -s 192.168.186.131 -p udp -m multiport --dports 123,323 -j ACCEPT[root@localhost ~]# iptables -I INPUT -d 192.168.186.131 -p udp -m multiport --sports 123,323 -j ACCEPT#添加规则#指定ip在每天16点~23点可以连接23端口[root@localhost ~]# iptables -I INPUT -d 192.168.186.131 -p tcp --dport 23 -m iprange --src-range 192.168.186.130-192.168.186.135 -m time --timestart 12:00:00 --timestop 23:00:00 -j ACCEPT[root@localhost ~]# iptables -I OUTPUT -s 192.168.186.131 -p tcp --sport 23 -m iprange --dst-range 192.168.186.130-192.168.186.135 -m time --timestart 12:00:00 --timestop 23:00:00 -j ACCEPT
(5)并发连接限制
[root@localhost ~]# systemctl start mariadb.service[root@localhost ~]# mysqlMariaDB [(none)]> CREATE USER 'test'@'192.168.186.%' IDENTIFIED BY '123';MariaDB [(none)]> FLUSH PRIVILEGES;MariaDB [(none)]> exit[root@localhost ~]# vim /etc/my.cnf.d/server.cnf [mysqld]skip_name_resolve=ON[root@localhost ~]# systemctl restart mariadb.service#给指定云服务器和客户端开放3306端口[root@localhost ~]# iptables -I INPUT -s 192.168.186.0/24 -d 192.168.186.131 -p tcp --dport 3306 -j ACCEPT[root@localhost ~]# iptables -I OUTPUT -d 192.168.186.0/24 -s 192.168.1186.131 -p tcp --sport 3306 -j ACCEPT#限制流入报文,同一IP并发连接数据库不能超过2[root@localhost ~]# iptables -R INPUT 1 -s 192.168.10.0/24 -d 192.168.10.10 -p tcp --dport 3306 -m connlimit --connlimit-upto 2 -j ACCEPT
(6)速率匹配(报文的发包速率限制)
#每3秒处理一个请求(可用其他主机使用ping测试)[root@localhost ~]# iptables -I INPUT -d 192.168.186.131 -p icmp --icmp-type 8 -m limit --limit-burst 5 --limit 20/minute -j ACCEPT[root@localhost ~]# iptables -I OUTPUT -s 192.168.186.131 -p icmp --icmp-type 0 -j ACCEPT
(7)报文状态匹配
报文的五种状态:
NEW: 新连接请求;ESTABLISHED:已建立的连接;INVALID:无法识别的连接;RELATED:相关联的连接,当前连接是一个新请求,但附属于某个已存在的连接;UNTRACKED:未追踪的连接;#允许NEW请求[root@localhost ~]# iptables -I INPUT -d 192.168.186.131 -p tcp -m multiport --dports 22:23,80,139,445,3306 -m state --state NEW -j ACCEPT#允许ESTABLISHED请求[root@localhost ~]# iptables -I INPUT -d 192.168.186.131 -m state --state ESTABLISHED -j ACCEPT#允许ESTABLISHED请求[root@localhost ~]# iptables -I OUTPUT -s 192.168.186.131 -m state --state ESTABLISHED -j ACCEPT
3、举例实现iptables之SNAT源地址修改及DNAT目标地址修改和PNAT端口修改等应用
一、SNAT源地址修改
在路由器后(POSTROUTING)将内网的ip地址修改为外网网卡的ip地址
#iptables -t nat -I POSTROUTING -o 外网网卡 -s 内网网段 -j SNAT --to-source 外网ip地址 #适用于外网ip地址固定场景[root@localhost g513452987]# iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -o ens32 -j SNAT --to-source 10.23.15.57
二、DNAT目标地址修改
在路由前(PREROUTING)将来自外网访问网关公网ip及对应端口的目的ip及端口修改为内部云服务器的ip及端口
#iptables -t nat -I PREROUTING -i 外网网卡 -d 外网ip tcp --dport 发布的端口 -j DNAT --to-destination 内网服务ip:端口[root@localhost g513452987]# iptables -t nat A PREROUING -d 172.16.0.254 -p tcp --dport 80 -j DNAT --to-destination 10.23.12.235
三、PNAT端口修改
REDIRECT:端口映射
iptables -A PREROUTING -t nat -d 内网ip -p 服务 --doprt 发布的端口 -j REDIRECT --to-ports 映射的端口
[root@localhost g513452987]# iptables -A PREROUTING -t nat -d 10.23.12.235 -p tcp --dport 80 -j REDIRECT --to-ports8080 #80端口映射到8080端口
对于以上mysql中实现vsftp虚拟用户及iptables用法相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。
端口
数据
地址
用户
服务
规则
报文
应用
配置
路由
文件
策略
处理
中实
服务器
状态
目录
网卡
测试
限制
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
市教育局网络安全制度
浙江电商软件开发销售价格
维护网络安全开头
sql数据库员工库题
网络安全大企业
数据库加密技术的介绍
网络安全是民生重要的一环
戴尔服务器管理登录
数据库恢复为什么不能完全恢复
路由器做nas服务器
虹口软件开发
多个网站共用一个数据库吗
清远万方数据库
数据库识图
校园网络安全竞赛
南充ftp服务器找哪家
服装颜色软件开发
上海常见网络技术价格走势
用map接受数据库text
数据库模型选型
10用户版数据库系统
有私有服务器吗
数据库横线符号怎么弄
等保三级网络安全设备包括
数据库的引用
虹口软件开发
数据库连接地址怎么得到
多个网站共用一个数据库吗
代号探戈服务器核心打开不了
泰州市青少年网络安全