さるへい備忘録

さるへいのやったことを綴っているブログです。基本的にテクノロジーの話題です。

ssh接続時のポート変更の際にSELinuxの設定を変更する

ssh接続してますか?
ssh接続のポートを変更する際はいろいろな設定を変更しなければいけませんよね。

sshのコンフィグ、iptables、 もしAWS使ってたらセキュリティグループもいじらないといけません。

しかし実は SELinux もいじらないといけないんです。上記だけ変更して満足したら、ssh接続できない。。。なんてことになりがちです。

SELinuxでの接続設定の確認から変更

$ semanage port -l |  grep ssh
ssh_port_t                     tcp      22

上記コマンドで、SELInuxがどのポートでの接続を許可しているかを確認することができます。
sshgrepしなかったら各種いろいろなポート制限を見ることができるので面白いですよ。

さて、上記だと22番ポートだけに限定されているようです。つまり22番ポート以外で接続するには上記に該当のポートを追加しなければいけません。

$ semanage port -a -t ssh_port_t -p tcp 20000
$ semanage port -l |  grep ssh
ssh_port_t                     tcp      22, 20000

上記コマンドでOKです。わかりやすいコマンドですね。

SELinuxにはいろいろな制限があります。めんどくさいから解除なんてこともよく聞きますが、脆弱性への対策としては心強い味方です。
SELinuxとは上手につきあえる道をさがしていきましょう。