在Linux本地云服务器上设置访问控制通常涉及以下几个步骤:
使用iptables
或ufw
(Uncomplicated Firewall)来控制入站和出站流量。
iptables
# 允许SSH访问
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允许HTTP访问
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许HTTPS访问
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 拒绝所有其他流量
sudo iptables -A INPUT -j DROP
# 保存iptables规则
sudo service iptables save
ufw
# 启用UFW
sudo ufw enable
# 允许SSH访问
sudo ufw allow ssh
# 允许HTTP访问
sudo ufw allow http
# 允许HTTPS访问
sudo ufw allow https
# 查看UFW规则
sudo ufw status
使用sshd_config
文件来配置SSH访问控制。
# 编辑sshd_config文件
sudo nano /etc/ssh/sshd_config
# 设置允许的用户列表
AllowUsers user1 user2 user3
# 设置禁止的用户列表
DenyUsers user4 user5
# 设置允许的组列表
AllowGroups group1 group2
# 设置禁止的组列表
DenyGroups group3 group4
# 重启SSH服务
sudo systemctl restart sshd
使用SELinux或AppArmor来增强系统安全性。
# 安装SELinux
sudo apt-get install selinux
# 启用SELinux
sudo setenforce 1
# 配置SELinux策略(示例)
sudo semanage port -a -t http_port_t -p tcp 80
sudo semanage port -a -t https_port_t -p tcp 443
# 安装AppArmor
sudo apt-get install apparmor
# 启用AppArmor
sudo systemctl enable apparmor
# 配置AppArmor策略(示例)
sudo aa-complain /etc/apparmor.d/usr.sbin.sshd
确保用户权限设置合理,避免不必要的权限泄露。
# 创建用户
sudo useradd -m user1
sudo useradd -m user2
# 设置密码
sudo passwd user1
sudo passwd user2
# 添加用户到sudo组
sudo usermod -aG sudo user1
sudo usermod -aG sudo user2
使用setfacl
和getfacl
命令来管理文件和目录的访问控制列表。
# 创建目录并设置ACL
sudo mkdir /home/user1/documents
sudo setfacl -m u:user2:rwx /home/user1/documents
# 查看ACL设置
getfacl /home/user1/documents
通过以上步骤,你可以在Linux本地云服务器上设置基本的访问控制。根据具体需求,你可能还需要进一步调整和优化这些设置。