Linuxをインストールしたらやっておくセキュリティ設定 ~ ファイアウォール編

セキュリティ設定の続きです。

CentOS7からはiptablesに代わり、firewalldになりました。iptablesも使えるみたいですがせっかくなのでfirewalldで設定してみたいと思います。CentOS6などのiptableshはさくらのVPSのサーバー設定ガイドにあります。

iptablesの設定方法

サービス・プラン表示ここから 対象サービス・プラン サービス・プラン表示ここまで ファイアウォール機能であるiptablesは、サーバへ接続させる通信のルールを設定できます。 このページでは、簡易的な設定を一例として紹介します。 注意事項 iptablesの設定内容は、サーバへの攻撃対策方法やお客様の利用用途により多岐にわたり、 このページに紹介する設定の限りではありません。 …

iptablesに慣れていると、とっつきにくそうですが、ここら辺を読んでおくとよいかもしれません。

ハマる前に理解する「Firewalld」の設定方法、「iptables」との違い (1/4)

2014年7月にリリースされた「CentOS 7」では、以前のバージョンからシステム管理に関する部分が大幅に変更され、使い勝手も変わっています。本連載では、「Linuxコマンドの基礎知識はあるが、CentOS 7で変わった機能をおさらいし、深く理解して自身の業務へ取り入れたい」というインフラエンジニアを対象に、CentOS 7のシステム管理に関する部分を中心に新機能を解説していきます。   …

ぶっちゃけ自分もよくわかりません。ただちゃんと理解していればiptablesよりも簡単みたいです。

ゾーンという概念があり、NICに対してそのゾーンを割り当て、そのゾーンにたいして許可するサービスを設定していく感じのようです。

まずはデフォルトで有効になっている「public」ゾーンを見てみます。

[root@sakura ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@sakura ~]#

firewall-cmd –list-allで表示します。

publicゾーンが有効で、設定されているインタフェースはeth0、有効なサービスはdhcpv6-clientとsshになっているようです。

[root@sakura ~]# firewall-cmd --list-all --zone=internal
internal
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh mdns samba-client dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

internalゾーンを見てみます。interfaceは特に割り当てられていません。serviceには違いがあるようです。

デフォルトで設定可能なサービスを見るには、firewall-cmd –get-serviceで確認します。


[root@sakura ~]# firewall-cmd --get-services
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server
[root@sakura ~]#

とりあえず必要そうなのは入っている感じ。

OpenVPNを後ほどインストールして使う予定なので、openvpnを有効にしておこうと思います。

デフォルトで用意されているサービスの登録及び削除の方法は以下のとおり。コマンドの後ろについている –permanent は、firewalldを再起動しても永続的に有効になる設定を表しています。これを付けないと再起動後に設定が元に戻ってしまうので気を付けてください。

[root@sakura ~]# firewall-cmd --add-service=openvpn --zone=public --permanent
success
[root@sakura ~]#

successと出ればOKです。独自のサービスの登録などもできるようですが、ここでは割愛します。

設定したら、reloadしておきます。

[root@sakura ~]# firewall-cmd --reload
success
[root@sakura ~]#

もう一度リストを確認して、openvpnが追加されていればOKです。

[root@sakura ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh openvpn
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@sakura ~]#

まずはここまで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください