Webサーバーの設定

接続ポート番号変更したとき・HTTPSを設定したとき

ポート番号を変更したとき、HTTPSの設定をしたときは必ずファイアウォールに接続許可の追加をしなくてはならない。
そうしないと、SSH通信での接続、HTTPSでのアクセスがファイアウォールによってできないため。

 

「編集前」firewalldの確認

firewalldの起動していることを確認する

Active: active (running)…であることを確認する。

$ systemctl status firewalld.service
● firewalld.service – firewalld – dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running)…
.
.
.
etc…

 

firewalldのリストを確認する

services:にsshがあることを確認する。
ports:に22/tcpがあることを確認する。

$ sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client
ports: 22/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

 

ファイルとポートの追加

ポート番号を変更するで変更したポート番号を追加する。

ssh.xmlファイルをコピーする

ssh.xmlファイルをコピーしファイル名をssh1234.xmlに変更する。

$ sudo cp /usr/lib/firewalld/services/ssh.xml /usr/lib/firewalld/services/ssh1234.xml

 

ssh1234.xmlファイル内のポート番号を変更する

$ sudo vim /usr/lib/firewalld/services/ssh1234.xml

 

「i」キーで-INSERT-モードになり編集する。
port=”22″ → port=”1234″に変更する。

<?xml version=”1.0″ encoding=”utf-8″?>
<service>
<short>SSH</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol=”tcp” port=”1234″/>
</service>
「Esc」キーで-INSERT-モードを終了し「:wq」で保存し終了する。

 

firewalldの編集

firewalldからsshを削除する

$ sudo firewall-cmd --permanent --remove-service=ssh
success
successとなったら成功!

 

firewalldにssh1234.xmlを追加する

$ sudo firewall-cmd --permanent --add-service=ssh1234
success
successとなったら成功!

 

22/tcpポートを削除する

$ sudo firewall-cmd --permanent --remove-port=22/tcp --zone=public
success
successとなったら成功!

 

firewalldを再起動する

$ sudo firewall-cmd --reload
success
successとなったら成功!

 

「編集後」firewalldの確認

firewalldの起動していることを確認する

Active: active (running)…であることを確認する。

$ systemctl status firewalld.service
● firewalld.service – firewalld – dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running)…
.
.
.
etc…

 

firewalldのリストを確認する

services:のsshの削除、ssh1234の追加を確認する。
ports:の22/tcpの削除、1234/tcpの追加を確認する。

$ sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh1234
ports: 1234/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

 

指定して追加して再起動

もし、1234/tcpが追加されていないときは指定して追加し再起動する。

$ sudo firewall-cmd --add-port=1234/tcp --zone=public --permanent
success
$ sudo firewall-cmd --reload
success

 

参照元情報

CentOS 7 構築・運用・管理パーフェクトガイド
CentOS 7 構築・運用・管理
パーフェクトガイド