在CentOS上实现HBase的安全设置主要包括以下几个方面:
sudo yum update
iptables
或其他防火墙软件限制对HBase的访问。sudo yum install iptables
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # SSH
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT # MySQL
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # HTTP
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS
sudo iptables -A INPUT -j DROP # 拒绝其他流量
sudo systemctl enable iptables
sudo systemctl start iptables
/etc/login.defs
文件强制执行。PASS_MIN_LEN 10
chattr
命令为 /etc/passwd
、/etc/shadow
、/etc/group
和 /etc/gshadow
文件添加不可修改属性。sudo chattr +i /etc/passwd
sudo chattr +i /etc/shadow
sudo chattr +i /etc/group
sudo chattr +i /etc/gshadow
hbase-site.xml
文件中添加以下配置,启用Kerberos认证和授权。<property>
<name>hbase.security.authentication</name>
<value>kerberos</value>
</property>
<property>
<name>hbase.security.authorization</name>
<value>true</value>
</property>
kadmin.local -q "addprinc hbase/_HOST@REALM"
kadmin.local -q "xst -k /etc/security/keytabs/hbase.service.keytab hbase/_HOST@REALM"
hbase shell grant 'user1', 'RW', 'table1'
hbase shell grant 'user2', 'RW', 'table2'
确保防火墙允许HBase所需的端口通信。
sudo firewall-cmd --permanent --zone public --add-port 16000/tcp
sudo firewall-cmd --permanent --zone public --add-port 16010/tcp
sudo firewall-cmd --permanent --zone public --add-port 16020/tcp
sudo firewall-cmd --permanent --zone public --add-port 16030/tcp
sudo firewall-cmd --permanent --zone public --add-port 2181/tcp
sudo firewall-cmd --permanent --zone public --add-port 28015/tcp
sudo firewall-cmd --permanent --zone public --add-port 28020/tcp
sudo firewall-cmd --permanent --zone public --add-port 28030/tcp
sudo firewall-cmd --reload
hbase shell list
hbase shell scan 'users'
通过以上步骤,你可以在CentOS上成功设置HBase的安全策略,包括Kerberos认证、访问控制列表(ACL)、防火墙配置等。请根据你的实际环境和安全需求调整配置。