ConcurrentReal-Time-Logo

リアルタイムテクニカルドキュメント 最終更新 2024.01.18

外部リンクを除く、以下のドキュメントの著作権は、特に記載の無い限りConcurrent Real-Time社に帰属します。
下記ドキュメントの弊社を除く営利目的の利用は禁じますが、ウィキペディアからの参照や社内教育、
大学等の非営利の目的であれば、ご自身の責任において自由に利用して頂いてかまいません。
ドキュメントの内容は予告無く変更する事がありますが、出来る限りリンクが消滅しないように保存しています。
ここに、記載した商品名は、一般に各社の商標または登録商標です。
外部リンク先の著作権は、各サイトの著作権表示をご覧ください。弊社著作権についてのポリシーは、 [hand.right] こちらをご覧ください。
外部サイトへのリンクはで示されています。


[hand.right] 報告: RedHawk7.xで古いバージョンの xorg-x11-server-Xorg を アップデートすると、より新しいバージョンの libdrm が取り込まれず、黒い画面になり起動できなくなります。
この時、マニュアルで起動し下記のエラーを見ることが出来ます

# yum update xorg-x11-server-Xorg
        :
# startx
        :
/usr/bin/X: symbol lookup error: /usr/bin/X: undefined symbol: drmFreeDevice
原因:
下記URLに報告があるように、リポジトリデータベースのミスマッチが原因です。
https://bugzilla.redhat.com/show_bug.cgi?id=1785254

対策:
下記の様にlibdrm を同時にアップデートする必要があります。

# yum update libdrm xorg-x11-server-Xorg

[hand.right] 報告: Polkit 権限の昇格(CVE-2021-4034No2)について
CVE-2021-4034に登録された脆弱性は、すべてのLinuxに存在するものです。
polkit の pkexec ユーティリティに、ローカル権限昇格の脆弱性が見つかりました。
pkexec アプリケーションは、事前定義されたポリシーに従って、権限のないユーザーが権限のあるユーザーとしてコマンドを実行できるように設計された setuid ツールです。
現在のバージョンの pkexec は、呼び出しパラメーターのカウントを正しく処理せず、環境変数をコマンドとして実行しようとして終了します。
攻撃者は、pkexec に任意のコードを実行させるような方法で環境変数を作成することで、これを利用できます。
攻撃の実行に成功すると、ターゲット マシン上で権限のないユーザーに管理者権限を与えて、ローカルの権限昇格を引き起こす可能性があります。

RedHawk6以外は、アップデートを行うことで対策は完了しますが必ず更新後の版を確認してください。。
下記に脆弱性対策を示しますが、お使いのオペレーティング システムに利用できるパッチがない場合は、 pkexec から SUID ビットを削除することで、一時的な軽減策とする事ができます。
# chmod 0755 /usr/bin/pkexec
RedHawk8.x
# dnf update polkit
を行い以下の版以上になっている事を確認する。
polkit-0.115-13.el8_5.1.x86_64.rpm
polkit-debuginfo-0.115-13.el8_5.1.i686.rpm
polkit-debuginfo-0.115-13.el8_5.1.x86_64.rpm
polkit-debugsource-0.115-13.el8_5.1.i686.rpm
polkit-debugsource-0.115-13.el8_5.1.x86_64.rpm
polkit-devel-0.115-13.el8_5.1.i686.rpm
polkit-devel-0.115-13.el8_5.1.x86_64.rpm
polkit-docs-0.115-13.el8_5.1.noarch.rpm
polkit-libs-0.115-13.el8_5.1.i686.rpm
polkit-libs-0.115-13.el8_5.1.x86_64.rpm
polkit-libs-debuginfo-0.115-13.el8_5.1.i686.rpm
polkit-libs-debuginfo-0.115-13.el8_5.1.x86_64.rpm
RedHawk7.x
# yum update polkit
を行い以下の版以上になっている事を確認する。
polkit-0.112-26.el7_9.1.i686.rpm
polkit-0.112-26.el7_9.1.x86_64.rpm
polkit-debuginfo-0.112-26.el7_9.1.i686.rpm
polkit-debuginfo-0.112-26.el7_9.1.x86_64.rpm
polkit-devel-0.112-26.el7_9.1.i686.rpm
polkit-devel-0.112-26.el7_9.1.x86_64.rpm
polkit-docs-0.112-26.el7_9.1.noarch.rpm
RedHawk6.x
polkit-0.96-11.el6_10.2.src.rpmをダウンロードし
再ビルドしてインストールする。
# rpmbuild --rebuild polkit-0.96-11.el6_10.2.src.rpm

この時、下記の様なファイルが生成される。
	
-rw-r--r-- 1 root root  165016 Sep 16 13:11 polkit-0.96-11.el6_10.2.x86_64.rpm
-rw-r--r-- 1 root root  478220 Sep 16 13:11 polkit-debuginfo-0.96-11.el6_10.2.x86_64.rpm
-rw-r--r-- 1 root root    7360 Sep 16 13:11 polkit-desktop-policy-0.96-11.el6_10.2.noarch.rpm
-rw-r--r-- 1 root root   28688 Sep 16 13:11 polkit-devel-0.96-11.el6_10.2.x86_64.rpm
-rw-r--r-- 1 root root  279640 Sep 16 13:11 polkit-docs-0.96-11.el6_10.2.x86_64.rpm
-rw-r--r-- 1 root root  726892 Sep 16 13:11 sudo-1.8.6p3-29.el6.x86_64.rpm
-rw-r--r-- 1 root root  617756 Sep 16 13:11 sudo-debuginfo-1.8.6p3-29.el6.x86_64.rpm
-rw-r--r-- 1 root root   44380 Sep 16 13:11 sudo-devel-1.8.6p3-29.el6.x86_64.rpm
	
	
以下に、x86_64用ビルド済みファイルとインストール例を示す。
polkit-0.96-11.el6_10.2.x86_64.rpm
polkit-debuginfo-0.96-11.el6_10.2.x86_64.rpm
polkit-desktop-policy-0.96-11.el6_10.2.noarch.rpm
polkit-devel-0.96-11.el6_10.2.x86_64.rpm
polkit-docs-0.96-11.el6_10.2.x86_64.rpm
sudo-1.8.6p3-29.el6.x86_64.rpm
sudo-debuginfo-1.8.6p3-29.el6.x86_64.rpm
sudo-devel-1.8.6p3-29.el6.x86_64.rpm

	
# rpm -Uvh polkit-0.96-11.el6_10.2.x86_64.rpm polkit-devel-0.96-11.el6_10.2.x86_64.rpm polkit-devel-0.96-11.el6_10.2.x86_64.rpm polkit-docs-0.96-11.el6_10.2.x86_64.rpm
warning: package polkit-devel = 0.96-11.el6_10.2 was already added, skipping polkit-devel = 0.96-11.el6_10.2
Preparing...                ########################################### [100%]
   1:polkit                 ########################################### [ 33%]
   2:polkit-docs            ########################################### [ 67%]
   3:polkit-devel           ########################################### [100%]
	
RedHawk7.xにおける実行例
	
# yum update polkit
読み込んだプラグイン:aliases, changelog, fastestmirror, kabi, langpacks, tmprepo, verify, : versionlock
Loading support for Red Hat kernel ABI
polkit-0.112-26.el7_9.1.x86_64.rpm を調べています: polkit-0.112-26.el7_9.1.x86_64
次のリポジトリーへの更新として polkit-0.112-26.el7_9.1.x86_64.rpm を設定します: polkit-0.112-6.el7_2.x86_64
polkit-devel-0.112-26.el7_9.1.x86_64.rpm を調べています: polkit-devel-0.112-26.el7_9.1.x86_64
次のリポジトリーへの更新として polkit-devel-0.112-26.el7_9.1.x86_64.rpm を設定します: polkit-devel-0.112-6.el7_2.x86_64
polkit-docs-0.112-26.el7_9.1.noarch.rpm を調べています: polkit-docs-0.112-26.el7_9.1.noarch
次のリポジトリーへの更新として polkit-docs-0.112-26.el7_9.1.noarch.rpm を設定します: polkit-docs-0.112-6.el7_2.noarch
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ polkit.x86_64 0:0.112-6.el7_2 を 更新
---> パッケージ polkit.x86_64 0:0.112-26.el7_9.1 を アップデート
---> パッケージ polkit-devel.x86_64 0:0.112-6.el7_2 を 更新
---> パッケージ polkit-devel.x86_64 0:0.112-26.el7_9.1 を アップデート
---> パッケージ polkit-docs.noarch 0:0.112-6.el7_2 を 更新
---> パッケージ polkit-docs.noarch 0:0.112-26.el7_9.1 を アップデート
--> 依存性解決を終了しました。
依存性を解決しました

================================================================================
 Package    アーキテクチャー
                   バージョン       リポジトリー                           容量
================================================================================
更新します:
 polkit     x86_64 0.112-26.el7_9.1 /polkit-0.112-26.el7_9.1.x86_64       480 k
 polkit-devel
            x86_64 0.112-26.el7_9.1 /polkit-devel-0.112-26.el7_9.1.x86_64 286 k
 polkit-docs
            noarch 0.112-26.el7_9.1 /polkit-docs-0.112-26.el7_9.1.noarch  911 k

トランザクションの要約
================================================================================
更新  3 パッケージ

合計容量: 1.6 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  更新します              : polkit-0.112-26.el7_9.1.x86_64                  1/6 
  更新します              : polkit-devel-0.112-26.el7_9.1.x86_64            2/6 
  更新します              : polkit-docs-0.112-26.el7_9.1.noarch             3/6 
  整理中                  : polkit-devel-0.112-6.el7_2.x86_64               4/6 
  整理中                  : polkit-docs-0.112-6.el7_2.noarch                5/6 
  整理中                  : polkit-0.112-6.el7_2.x86_64                     6/6 
  検証中                  : polkit-docs-0.112-26.el7_9.1.noarch             1/6 
  検証中                  : polkit-devel-0.112-26.el7_9.1.x86_64            2/6 
  検証中                  : polkit-0.112-26.el7_9.1.x86_64                  3/6 
  検証中                  : polkit-0.112-6.el7_2.x86_64                     4/6 
  検証中                  : polkit-docs-0.112-6.el7_2.noarch                5/6 
  検証中                  : polkit-devel-0.112-6.el7_2.x86_64               6/6 

更新:
  polkit.x86_64 0:0.112-26.el7_9.1       polkit-devel.x86_64 0:0.112-26.el7_9.1 
  polkit-docs.noarch 0:0.112-26.el7_9.1 

完了しました!

[hand.right] 報告: 一般ユーザでのping実行について
一般ユーザでは下記のエラーが出てpingを使用することが出来ません。


# su - cnc
Last login: Fri Nov 26 08:47:00 JST 2021 on pts/1
$ ping localhost
ping: icmp open socket: 許可されていない操作です
# ls -l /usr/bin/ping
-rwxr-xr-x 1 root root 44896 11月 21  2015 /usr/bin/ping

したがって、一般ユーザーが利用できない「ping : icmp open socket : 許可されない操作です」は正しい状態です。
CentOS 6 までは、s ビットを ping に付けていましたので、一般ユーザーでも利用できましたが、pingによるネットワークアタックを防止するために、、CAP_NET_RAW capability を持つユーザ以外では利用出来なくなっています。

このことは、オンラインマニュアル(ただし英語)のSECURITY部分に記述されています。

# export LANG=C
# man ping
SECURITY
       ping requires CAP_NET_RAW capability to be executed. It may be used  as  set-uid root.

したがって、「chmod u+s /usr/bin/ping」はマニュアルに従った正しい処置とも言えますが、セキュリティホールを作成している事でもあります。
RedHawkでは、代わりに capability という仕組みを利用しています。
詳細は RedHawkLinux_UsersGuide Chapter 13のPluggable Authentication Modules (PAM)部分の説明をご参照ください。
簡単な手順を、以下に示します。
① /etc/security/capability.conf 
に新たにpinguserで、role(権限)を定義し、xxxxと言うユーザに対して、pingの実行に必要なcap_net_raw権限を付与します。
echo "role pinguser cap_net_raw" >> /etc/security/capability.conf
echo "user xxxx pinguser" >> /etc/security/capability.conf

② gnomeログインあるいは、ttyからのコンソールログインで、この権限付与するために、/etc/pam.d下のファイルに"session required pam_capability.so"を追加します。
echo "session required pam_capability.so" >> /etc/pam.d/gdm-password
echo "session required pam_capability.so" >> /etc/pam.d/login

③この状態で、再起動すればxxxxユーザはpingを利用できますが、sshを利用する場合には下記手順が必要です
なお、以下は上記マニュアルの抜粋です

ssh(1)を介してシステムにログインするユーザーへ割り当るためには、同様に/etc/pam.d/sshdへ追加します
su(1)を介してユーザーが入れ替わるために/etc/security/capability.confファイルに定義さ れたロールを許可するため、
そして入れ替わったユーザーがsu(1)の呼び出しから不適切な ケーパビリティを継承しないことを確実にするため、同様に/etc/pam.d/suへも追加します

sshユーザーが/etc/securityに置かれているものとは異なるcapability.confファイルからロ ール定義を取得するためには以下の行を/etc/pam.d/sshdへ追加します:

session required pam_capability.so conf=/root/ssh-capability.conf

このようにして/root/ssh-capability.confファイルに定義されるロールをsshを介してログ インするユーザーに適用します


[hand.right] 報告: 令和対応について 2019.11.21

dateコマンドなどを新しい元号に対応するためには、glibc-commonをアップデートする必要があります。
しかし、glibc-commonをアップデートすることにより、お客様のアプリケーションプログラムに副作用が発生する場合がありますので、以下に "/usr/lib/locale/locale-archive"のみを更新する方法を示します。

(1) 令和対応ファイルを/tmpにダウンロードする。
RedHawk Reiwa ja_JP (file)
(2) 下記の手順でシステムに適用し、確認する。

        # cd /
        # mv /usr/share/i18n/locales/ja_JP /usr/share/i18n/locales/ja_JP.orig
        # mv /tmp/ja_JP /usr/share/i18n/locales/ja_JP
        # localedef -i ja_JP -c -f UTF-8 -A /usr/lib/locale/locale-archive ja_JP
        # date +%Ec
        令和元年11月21日 16時30分15秒


[hand.right] お知らせ:
インテル社は、 インテル製CPUが搭載するプロセス管理用ファームウェアに、 遠隔攻撃を許す深刻な脆弱 性があるため早急にファームウェアのアップデートを行うように警告しています。
Intel SA-00086(外部HTML)
    影響を受ける製品は以下の通りです。
  • 第6世代、第7世代および第8世代のインテル ® Core ™ プロセッサー・ファミリー
  • インテル ® Xeon ® プロセッサーE3-1200 v5およびv6製品ファミリー
  • インテル ® Xeon ® プロセッサースケーラブル・ファミリー
  • インテル ® Xeon ® プロセッサーWファミリー
  • インテル ® Atom ® C3000プロセッサー・ファミリー
  • Apollo LakeIntel ® AtomプロセッサE3900シリーズ
  • Apollo Lakeインテル ® Pentium
  • Celeron® N および J シリーズプロセッサ

サポートは、各ハードウェアメーカーの公式サポートページを参照してください
なお、インテル社が公開している検出ツールは、Concurrent RedHawk Linux上では動作しませんので、ご注意ください

[hand.right] 報告: NTP.org の ntpd に複数の脆弱性

JVN等からntpdの脆弱性についての報告がなされてます。
以下の影響を受けるRedHawkプロダクト(RCIM対応版)については、 RedHawkの公式サイト http://redhawk.concurrent-rt.com/ の下記メニューからBrowse Repositoriesを選択して、サイトIDを使用してログインしてアップデートを行ってください。
6.0x:ccur-ntp-4.2.2p1-7.20110928.x86_64.rpm
6.3x:ccur-ntp-4.2.2p1-7.20120927.x86_64.rpm
6.5x:ccur-ntp-4.2.6p5-1.20140519.x86_64.rpm
7.0:ccur-ntp-4.2.6p5-19.20150223.x86_64.rpm
7.2:ccur-ntp-4.2.6p5-19.20160316.x86_64.rpm
その他の標準RedHawkバンドルのntpパッケージは、yum --update ntpd で、更新してください。
なお、ntp.orgが配布している脆弱性対策を行った版へのリンクも下記に記載させていただきます。

下記は、ntp.org が配布しているオリジナルです。(2017.03.31更新)
ntp-4.2.8p10.tar.gz
下記は、ntp.org が配布しているオリジナルをRedHawkでコンパイル確認済みの版です。
ntp-4.2.8p10.tar.gz

[hand.right] 報告: bash の脆弱性対策について

JPCERT上流ディストリビュータからBashの脆弱性についての報告がなされてます。
下記に理化学研究所様が配布している脆弱性対策を行った版へのリンクを記載させていただきます。(2014.10.15更新)

bash-3.2-33.el5_11.4.i386.rpm
bash-3.2-33.el5_11.4.x86_64.rpm

下記は、CentOS Projectが配布しているSRPMです。
bash-4.1.2-15.el6_5.2.src.rpm
bash-3.2-33.el5_10.4.src.rpm

下記は、ORACLE Linuxが配布しているSRPMです。
bash-4.1.2-15.el6_5.1.0.1.src.rpm
bash-3.2-33.el5_11.4.src.rpm
bash-3.0-27.0.3.el4.src.rpm

RHEL3,4,5,6(CentOS5,6)ベースのbashで影響を受ける可能性があり、 RedHawk6.xではbash-4.1.2-15.el6_5.2
RedHawk5.xではbash-3.2-33.el5_11.4へのアップグレードを早急に行ってください。
RedHawk1.x,2.x,3.x,4.xではbash-3.0-27.0.3.el4へのアップグレードをSRPMを利用して早急に行うか、弊社のサポートにご連絡ください。
以下の脆弱性確認のシェルスクリプトを実行し、下記の"this is a test"のみの表示にならない場合には、脆弱性が存在します。
# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
脆弱性を含む場合
vulnerable
this is a test

脆弱性を含まない場合(最新のbash-4.1.2-15.el6_5.2を適用した場合)
this is a test

[hand.right] 報告:IntelHD Graphics使用時にXが正常起動できない現象について

RedHawk Linux上でIntelHD Graphics をお使いの場合にRedHawk起動時に画面上の表示が崩れ画面が判読できない現象が発生することがあります。
この場合には、xorg.confに指定するデバイスドライバの設定を「vesa」ではなく「fbdev」にしてXを起動して下さい。
これまでノートPC等で使用されているIntel HD Graphics では、「fbdev」に手動設定することで正常にXが起動されることを 確認しています。

[back]Back