先日も書きましたが、具体例が書かれてなかったと思うので追加で。
TCP Wrapperはサービスをホスト単位でのアクセスを制限
iptablesはポート単位でアクセスを制限
ここで、Webサーバを例に考えてみる。
Webサーバへのアクセスを特定のホストに許可する場合
/etc/hosts.allow に
httpd : 192.168.0.0/255.255.255.0
と追記します。
Webサーバへの不特定多数のアクセスを許可する場合
/etc/sysconfig/iptables に
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
と追記します。
しかし、80番ポートはSSL無しですね。
セキュリティの為にSSL有りでの通信であるhttps://~の443番ポートへのアクセスを許可します。
その場合は /etc/sysconfig/iptables に
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
と追記するだけ。
/etc/hosts.allow にはhttpdを既に許可している為、追記する必要はありません。
つまり、同じサービス(デーモン)であれば、iptablesでしかアクセスを制限できません。
SSLのみを許可する場合は、80番ポートへのアクセス許可のiptablesルールを削除すればO.K.
TCP Wrapperはサービスをホスト単位でのアクセスを制限
iptablesはポート単位でアクセスを制限
ここで、Webサーバを例に考えてみる。
Webサーバへのアクセスを特定のホストに許可する場合
/etc/hosts.allow に
httpd : 192.168.0.0/255.255.255.0
と追記します。
Webサーバへの不特定多数のアクセスを許可する場合
/etc/sysconfig/iptables に
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
と追記します。
しかし、80番ポートはSSL無しですね。
セキュリティの為にSSL有りでの通信であるhttps://~の443番ポートへのアクセスを許可します。
その場合は /etc/sysconfig/iptables に
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
と追記するだけ。
/etc/hosts.allow にはhttpdを既に許可している為、追記する必要はありません。
つまり、同じサービス(デーモン)であれば、iptablesでしかアクセスを制限できません。
SSLのみを許可する場合は、80番ポートへのアクセス許可のiptablesルールを削除すればO.K.
0 件のコメント:
コメントを投稿