こんにちはbzyです。
今回もCentOS7の初期設定についてになります。
今回はCentOS7からの機能であるfirewalldについて設定していきます。
たくさんの機能がありますが今回はhttp,httpsの通信ができるように設定します。
firewalldの設定
まずはfirewalldのサービスが起動しているか確認しましょう。
[linuxuser@centos ~]# sudo systemctl status firewalld
上記コマンドを実行すると以下のような結果が表示されるかと思います。
Active:の部分がactive (running)となっていればサービスが起動しています。
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-12-30 21:41:47 JST; 2 weeks 0 days ago
Docs: man:firewalld(1)
Main PID: 13528 (firewalld)
CGroup: /system.slice/firewalld.service
└─13528 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
もしActive:の部分がinactive (dead)となっている場合はfirewalldを起動させましょう。
[linuxuser@centos ~]# sudo systemctl start firewalld
サービスを停止したい場合はstopします。
簡単ですね。
[linuxuser@centos ~]# sudo systemctl stop firewalld
firewalldサービスを起動したらどのゾーンを使用しているか確認しましょう。
firewall-cmdというコマンドで確認できます。
[linuxuser@centos ~]# sudo firewall-cmd --get-active-zone
public
interfaces: eth0
上記はpublicという設定がeth0というインターフェイスに設定されているという記載です。
続いてpublicのゾーンの設定内容を確認しましょう。
ここではゾーンについては詳しく記載しませんが興味がある方は以下のredhatの公式ドキュメントに詳しく記載があるので調べてみてください。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/security_guide/sec-using_firewalls
firewall-cmd –list-allと打ってみましょう。
現在設定されているサービス、ポートを確認することができます。
[linuxuser@centos ~]# sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
現状sshとdhcpv6-clientというものしか設定されていません。
今回はwebサービスの機能としてhttp(80)とhttps(443)を追加してみましょう。
[linuxuser@centos ~]# sudo firewall-cmd --zone=public --permanent --add-service=http #←httpサービスを追加
[linuxuser@centos ~]# sudo firewall-cmd --zone=public --permanent --add-service=https #←httpsサービスを追加
[linuxuser@centos ~]# sudo firewall-cmd --zone=poblic --permanent --add-port=80/tcp #80番ポートを解放
[linuxuser@centos ~]# sudo firewall-cmd --zone=poblic --permanent --add-port=443/tcp #443番ポートを解放
[linuxuser@centos ~]# sudo firewall-cmd --reload #リロードで反映
[linuxuser@centos ~]# sudo firewall-cmd --list-all #反映確認
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client http https #httpとhttpsが追加された
ports: 80/tcp 443/tcp #80ポートと443ポートが追加された
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
まとめ
これでhttp(80)とhttps(443)を設定できました。
これでwebサーバにアクセスできる準備が整いました。
次回はnginxかサブドメインの設定について記載しようと思います。(多分〜)
ではまた。