SSブログ

RHEL8へのマイグレも山場です。 [Linux]

仕事もCentOS7のEOLを迎える前の山場なんですが、マイグレーションはいつも面倒ですね。なんとかならないかなと思うんですが、OSのサポート切れよりか言語のサポートの終わりの方が不定期で面倒なんですけどね。

 
RHEL9への移行も考えられたんですが、日和ってRHEL8への移行です。セキュリティが高くなるとかいう話なんですが、9を使ったことがないのでなんとも言えません。そもそも8を使っていて、しょっぱらからSELinuxをオフにしている時点で、セキュリティもクソもないんですがそれでも面倒が増えるらしくてやめとけって言われました。まぁEOLまで半年切ったあたりで言うことではないかもな。

そもそもSELinuxをオフにしないとどうなるかと言う話なのですが、これが結構面倒くさい話になるのです。というか、SELinuxオンにして運用したほうが断然安全なのですが、運用構築的には面倒くさいことが増えてしまうので、すんなりいくことでも設定忘れで動かないということもままあることです。まぁ内部サーバはSELinuxオンで運用したことないので、その面倒くささがどれだけのものかわからないと言うのはあるのですが。

一回、SELinuxオンのままOS構築しようとしてハマったことがありました。いつもと同じように公開鍵を登録して接続に行こうとしたらつなげない。普通にググって引っかかってくるサイトで見られるようなページにある、公開鍵のパーミッションも.sshのフォルダのパーミッションも問題ない。何が悪いのかわからなかったけど、結局いつもはSELinuxをオフにしていたから動作に問題が起こらなかっただけであった。

そもそもSELinuxって何よって話なんだけども、root権限で参照できるファイルを制限するってことらしいのです。
https://www.redhat.com/ja/topics/linux/what-is-selinux
ってここ読んでもはっきりとしないのですが、結局root権限で動かしていても、ファイルやディレクトリのパーミッションだけで制御せず、別にSELinuxのアクセス制御が各アプリケーションにあるということらしいです。

なんでそんな七面倒くさいことをしなくてはならないのかということですが、それは脆弱性でプロセスを乗っ取られた時に被害を最小限にするためだと思われます。root権限で動いているプログラムは、ファイルシステムで指定されている制限のみで活動できてしまうので、ほぼ遮るものがない状態でファイルにアクセスできてしまっています。それを乗っ取られてしまった場合、なんでもやられ放題になってしまうわけですね、たぶん。

それを避けるために、動かしているアプリケーションごとにアクセスルールを設定して制限をするのがSELinuxっぽいです。なのでさっき言ったSSHの場合、各公開鍵へのアクセスが必要となってきます。なので、任意のユーザーの.sshとauthorized_keys(だったかな?)に道筋をつけてあげないといけないのだろうと思います。

ここでSSHの設定を書こうと思ったけど面倒くさいので、とほほのSElinux入門を見てください。
https://www.tohoho-web.com/ex/selinux.html
そこではhttpdを使っていますが、httpdデーモンはもちろんサーバの外に晒されていますし、root権限で動いてもいます。そんなものがシステムの重要ファイルにアクセスできるようになってしまったら問題ですねということだと思います。

そういう意味では、SELinuxをオンにすべきだと思うのですが、デフォルトでSELinuxがオンになっているRedHat系のディストリビューションは面倒だからオフにされてしまう傾向が日本にはありそうです。海外ではわりに使われているという話ですが、Ubuntuがデフォルトで入れていないようなので、一般的に入っている前提で技術記事が書かれていることも少ないです。

そもそもいつも使われるファイルなら事前に設定して置けるのだろうけれども、そうでないアプリケーションの方が多いはずです。なのでいちいち設定を変えるたびに対応が必要となってくる場合は面倒でしかないでしょう。セキュリティに貢献しているのは間違いないことですけど、しなくて良い努力をしなくてはならないのは厳しいわけです。正直セキュリティ的には本末転倒ではあるものの、サーバの運用の手間としても使うことは本末転倒になりかねないわけです。

IT技術の記事を書くにしても、SELinuxの事を前提にすると一手間増えるので、Redhat系にしかデフォルトで入っていない情報を書くことはまれです。それなのでSSHでSELinuxの設定をせずにハマった時はしばらく理由が全然わかりませんでした。だって他のディストリビューションではわざわざ導入しないと入らない機能なんですもん。そりゃ書く方も勝手に対応してくれよってことになりますよね。


って前にもSELinuxのこと書いたような気がしてきた。まぁ誰も気にしちゃいないだろうから良いや。弊社ではまたRHEL9の時にマイグレをやらなくちゃならないのは嫌だから、外部のシステムを使おうという話になってきています。内製をするとメンテをしないといけないので面倒臭いんですよね。マンパワーがあった頃は良かったけど、そうではない今は手に余る状態になりがちです。そんなわけでみんな外部のクラウドでってことになっているみたいです。結局オンプレは駆逐されてしまうのかなぁ。

マンパワー的に長くいた人もいなくなって戦力半減くらいになっているので、仕方ないことなのだけれど、それまでに内製で作ったシステムは維持しないといけないのは面倒。SESでソフトを作りっぱなしの人は多いと思うけど、それを維持する事を考えないといけないのは社内SEのしんどいところで、SESが嫌だと言っている人は今の状況が悪いことでもないのを考えた方がいい。プログラマ的にやり逃げが許されているのはある意味ストレスがなくていいのですよ。

とは言え社内SEの安定した環境も魅力的ではあるので、目指したい気持ちもわかります。でも、SESではなくて一時受けとか自社開発の仕事をする会社がバランス的にはいいかなとは思います。結局、給料いかんなんだろうけど、程よい仕事量と仕事難度だといいんですけどね。みなさんいるところは色々だと思いますが、頑張っていきましょう。PG/SEということに違いはないのでしょうし。


コメント(0) 
共通テーマ:パソコン・インターネット

コメント 0