3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

01_firewalldを設定して2222番ポートでSSH接続をする。

Last updated at Posted at 2021-03-24

SSH用ポートの設定(CentOS8)

ポート/サービスの管理はiptablesはレガシー、firewalldで管理するのが最新らしい。

firewalld

firewalld は firewalld-cmd コマンドと設定ファイルによってポート及びサービスを管理している。

# firewalld-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens3
sources:
services: dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

↑ firewall-cmd コマンドの --list-all オプションを用いて現在のファイアウォールの設定状況を確認できる。

ここでは、サービスとしてはdhcpv6-clientのみを許可している。


サービスの追加

firewalld に追加でサービス許可を行う場合、--add-service オプションを使う。 ( --permanentオプションで永続化 )

# firewall-cmd --add-service=ssh --permanent
success
# firewall-cmd --reload
success

※削除は --remove-service=ssh

尚、=sshとしたがこれはデフォルト提供されているサービスの場合の設定方法であり、/usr/lib/firewalld/services 配下にデフォルト提供の各サービスの設定ファイルが格納されている。

# ls -l /usr/lib/firewalld/services/ | grep ssh
-rw-r--r-- 1 root root  463 Aug 12  2020 ssh.xml

# cat /usr/lib/firewalld/services/ssh.xml
<?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="22"/>
</service>

**<port protocol="tcp" port="22"/>**という記載からも分かる通り、TCP通信をポート22番で許可している。
つまり、この部分を変更すれば、各サービスで使用するプロトコルやポート番号を変更することが可能だ。(でも↓)

##ユーザ定義サービスの追加

XMLファイルを /etc/firewalld/services 配下にすることでサービスをユーザ定義することが可能なため、テンプレ自体に変更を加えるよりもテンプレをコピーして新規でユーザ定義サービスを作成した方が良い。(と思う。)

# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh_alter.xml
# vi /etc/firewalld/services/ssh_alter
# cat /etc/firewalld/services/ssh_manual.xml | grep port=
  <port protocol="tcp" port="2222"/>

/etc/ssh/sshd_config の Port 設定変更も忘れずに。↓

# vi /etc/ssh/sshd_config
# cat /etc/ssh/sshd_config |grep "Port 2222"
  Port 2222

最後に作成したサービスを firewalld に登録して、firewalld と sshd を再読み込みして設定完了。

# firewalld-cmd --add-service=ssh_alter --permanent
# firewalld-cmd --reload
# systemctl restart sshd

その他サービス(httpやsmtp)の設定も同様の方法で設定可能。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?