<feed xmlns="http://www.w3.org/2005/Atom" xmlns:cc="http://web.resource.org/cc/">
	<title>List of Linux [Baldanders.info]</title>
	<link rel="alternate" type="text/html" href="https://baldanders.info/tags/linux/" />
	<link rel="self" type="application/atom+xml" href="https://baldanders.info/tags/linux/index.xml" />
	<id>tag:Baldanders.info,2015-01-31:/tags</id>
	<updated>2015-01-31T09:00:00+00:00</updated>
	<subtitle>バルトアンデルスは連続的な怪物，時間の怪物である。（ホルヘ・ルイス・ボルヘス 『幻獣辞典』より）</subtitle>
	<icon>https://baldanders.info/images/avatar.jpg</icon>
	<logo>https://baldanders.info/images/avatar.jpg</logo>

	<entry>
		<title>glibc: __nss_hostname_digits_dots() の脆弱性について</title>
		<link rel="alternate" type="text/html" href="https://baldanders.info/blog/000798/" />
		<id>tag:Baldanders.info,2015-01-31:/blog/000798/</id>
		<published>2015-01-31T09:00:00+00:00</published>
		<updated>2015-01-31T09:00:00+00:00</updated>
		<summary>更新を確実に反映させるには再起動が必要。したがって，特にサーバは，きちんと計画した上で更新を行う必要がある。</summary>
		<author>
			<name>Spiegel</name>
			<uri>/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by/4.0/rdf" />


		<content type="html" xml:lang="ja" xml:base="https://baldanders.info/">&lt;p&gt; ふぅ。 やっと仕事が一段落したんで溜まった宿題を片付けていくか。 &lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;a href=&#34;https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt&#34;&gt;GHOST: glibc gethostbyname buffer overflow -- Qualys Security Advisory CVE-2015-0235&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;http://www.kb.cert.org/vuls/id/967332&#34;&gt;Vulnerability Note VU#967332 - GNU C Library (glibc) __nss_hostname_digits_dots() function vulnerable to buffer overflow&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;http://jvn.jp/vu/JVNVU99234709/&#34;&gt;JVNVU#99234709: glibc ライブラリにバッファオーバーフローの脆弱性&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;http://www.ipa.go.jp/security/announce/20150129-glibc.html&#34;&gt;glibc の脆弱性対策について(CVE-2015-0235)：IPA 独立行政法人 情報処理推進機構&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;http://news.mynavi.jp/news/2015/01/28/123/&#34;&gt;Linuxできわめて重大で危険な脆弱性「GHOST」を確認 | マイナビニュース&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;http://d.hatena.ne.jp/Kango/20150128/1422409960&#34;&gt;glibc の脆弱性 CVE-2015-0235（通称：GHOST）についてまとめてみた - piyolog&lt;/a&gt; （網羅的）&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;http://blog.trendmicro.co.jp/archives/10818&#34;&gt;Linuxに存在する脆弱性「GHOST」、システム管理者は落ち着いて対処を | トレンドマイクロ セキュリティブログ&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;http://www.sakura.ad.jp/news/sakurainfo/newsentry.php?id=1016&#34;&gt;【重要】Linux GNU Cライブラリ（glibc）の脆弱性に関する注意喚起 | さくらインターネット&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;http://labs.timedia.co.jp/2015/01/how-to-use-ghost.html&#34;&gt;GHOST 脆弱性は如何様に使うのか - TIM Labs&lt;/a&gt; （Exim を例に具体的に説明）&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;https://www.st.ryukoku.ac.jp/~kjm/security/memo/2015/01.html#20150128_glibc&#34;&gt;「セキュリティホール memo」の情報&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;figure&gt; &lt;blockquote&gt; &lt;q&gt;バッファオーバーフローが発見された関数は__nss_hostname_digits_dots()だが、ユーザランドのソフトウェアからはgethostbyname()などの関数を呼び出すことでこの関数が実行される。このため、gethostbynameをGetHOSTbynameともじって「GHOST」と命名されている。 &lt;br/&gt;Qualysの研究者によると、2013年の時点でこの脆弱性を発見して、glibc-2.17とglibc-2.18の間において修正を行っているが、当時はセキュリティに関わるリスクとしては認識されていなかったため、長期サポートの対象となっているバージョンのLinuxディストリビューションではこの脆弱性が修正されることなく残り続けているという。&lt;/q&gt; &lt;/blockquote&gt; &lt;figcaption&gt;&lt;q&gt;&lt;a href=&#34;http://news.mynavi.jp/news/2015/01/28/123/&#34;&gt;Linuxできわめて重大で危険な脆弱性「GHOST」を確認&lt;/a&gt;&lt;/q&gt;より&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt; NVD ではこの脆弱性の &lt;a href=&#34;http://www.kb.cert.org/vuls/id/967332&#34;&gt;CVSS 値を 10.0（AV:N/AC:L/Au:N/C:C/I:C/A:C）と評価&lt;/a&gt;している。 脆弱性を報告した Qualys では &lt;/p&gt; &lt;figure lang=&#34;en&#34;&gt; &lt;blockquote&gt; &lt;q&gt;The gethostbyname*() functions are obsolete; with the advent of IPv6, recent applications use getaddrinfo() instead.&lt;/q&gt; &lt;/blockquote&gt; &lt;figcaption&gt;via &lt;q&gt;&lt;a href=&#34;https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt&#34;&gt;GHOST: glibc gethostbyname buffer overflow&lt;/a&gt;&lt;/q&gt;&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt; としていて，実際に影響のあるアプリケーションは多くないと見ているようだ（&lt;a href=&#34;http://www.exim.org/&#34;&gt;Exim&lt;/a&gt; を運用しているサーバは早急に対応が必要）。 こちらはトレンドマイクロの記事。 &lt;/p&gt; &lt;figure&gt; &lt;blockquote&gt; &lt;q&gt;すべてのアプリケーションが等しく危険にさらされているわけではありません。この脆弱性の攻撃において攻撃者が利用できるのは4バイトもしくは 8バイトのエクスプロイトコードであり、実行できることは非常に限られています。この攻撃に利用できるバイト数は OS が 32ビット版か 64ビット版かで異なります。追加のコードは、変更可能なポインタに参照されるアドレスに攻撃者が脆弱性とは別の方法で書き込んで置かなければなりません。また、apache や postfix、OpenSSH など、多くの有名アプリケーションがこの脆弱性の影響を受けないことも確認されています。これまでのところ、トレンドマイクロでは、Web攻撃に利用される可能性のある感染媒体を確認しておらず、そのため攻撃の可能性はかなり低いものと考えられます。&lt;/q&gt; &lt;/blockquote&gt; &lt;figcaption&gt;&lt;q&gt;&lt;a href=&#34;http://blog.trendmicro.co.jp/archives/10818&#34;&gt;Linuxに存在する脆弱性「GHOST」、システム管理者は落ち着いて対処を&lt;/a&gt;&lt;/q&gt;より&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt; 対策としては glibc-2.18 （以上）にアップデートすればよい。 glibc を取り込んでいるアプリケーションについては再コンパイルが必要かもしれない。 更新を確実に反映させるには再起動が必要。 したがって，特にサーバは，きちんと計画した上で更新を行う必要がある。 （慌てるなんとかは貰いが少ない） &lt;/p&gt;&lt;p&gt; 対象のシステムが今回の脆弱性に該当しているかわからない場合は，以下の検証コードをコンパイル・実行すると良い。 &lt;/p&gt; &lt;figure lang=&#34;en&#34;&gt; &lt;div&gt; &lt;script src=&#34;https://gist.github.com/spiegel-im-spiegel/f77b143ae938ffb8996f.js&#34;&gt;&lt;/script&gt; &lt;/div&gt; &lt;figcaption&gt;via &lt;q&gt;&lt;a href=&#34;https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt&#34;&gt;GHOST: glibc gethostbyname buffer overflow&lt;/a&gt;&lt;/q&gt;&lt;/figcaption&gt; &lt;/figure&gt; &lt;p&gt; &lt;a href=&#34;https://github.com/mholzinger/CVE-2015-0235_GHOST/&#34;&gt;GitHub でも公開&lt;/a&gt;されているので参考にどうぞ。 &lt;/p&gt;&lt;p&gt; 気をつけるべきはルータやスイッチなどのファームウェアだろう（特に古いもの）。 &lt;a href=&#34;http://jvn.jp/vu/JVNVU99234709/&#34;&gt;JVN に日本製品の情報がある&lt;/a&gt;ので注意すること。 （つっても殆ど無いけど） &lt;/p&gt;&lt;p&gt; とりあえず，こんなとこかな。 今回は，最初こそ騒がれたものの（私もびっくりした），だんだんトーンダウンしていくプロセスが面白い。 まぁ，こういうこともあるよね。 &lt;/p&gt;
</content>
	</entry><entry>
		<title>「さくらの VPS」に Scientific Linux をインストールする</title>
		<link rel="alternate" type="text/html" href="https://baldanders.info/blog/000552/" />
		<id>tag:Baldanders.info,2011-10-09:/blog/000552/</id>
		<published>2011-10-09T09:00:00+00:00</published>
		<updated>2011-10-09T09:00:00+00:00</updated>
		<summary>覚え書きとして Scientific Linux のインストールからセットアップの最初のところまで書いておく。</summary>
		<author>
			<name>Spiegel</name>
			<uri>/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by/4.0/rdf" />


		<content type="html" xml:lang="ja" xml:base="https://baldanders.info/">&lt;p&gt;
実はしばらく前から「自宅サーバのクラウド化」計画を進行中で（ここのところ中断していたが），「&lt;a href=&#34;http://vps.sakura.ad.jp/&#34;&gt;さくらの VPS&lt;/a&gt;」を契約して現自宅サーバの中身を移行しようと考えている。
なにせ現行の自宅サーバは1999年製のふっるいデスクトップ機で，メモリと HDD 容量は若干強化してあるものの，いつ壊れてもおかしくないし，壊れても替えの部品はもう手に入らないだろうし。
あとはまぁ時流に乗って「&lt;a href=&#34;http://vps.sakura.ad.jp/&#34;&gt;さくらの VPS&lt;/a&gt;」を使ってみたいなってのもあって。
&lt;/p&gt;&lt;p&gt;
ただ「&lt;a href=&#34;http://vps.sakura.ad.jp/&#34;&gt;さくらの VPS&lt;/a&gt;」の標準 OS は CentOS 5 で若干古い気もしてたので，「Scientific Linux とかサポートしてくれないかなぁ」と思ってたら本当にサポートしてくれた。
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.sakura.ad.jp/news/sakurainfo/newsentry.php?id=575&#34;&gt;「さくらのVPS」にて「Scientific Linux」提供開始のお知らせ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;
ちうわけで，覚え書きとして Scientific Linux のインストールからセットアップの最初のところまで書いておく。
&lt;/p&gt;&lt;p&gt;
Scientific Linux のインストールは VPS コントロールパネルの「OS再インストール」から「カスタムOSインストールへ 」のリンク先へ行くと OS が選択できる。
今回は Scientific Linux 6 x86_64 を選択した（インストール後に確認したら正確には 6.1 らしい）。
特に理由はない。
標準 OS が CentOS 5.5 x86_64 なのでアーキテクチャを合わせてみたというだけだ。
&lt;/p&gt;&lt;p&gt;
インストールの前に JRE がインストール済みで（Firefox の場合は） Java Plug-in が有効になっていることを確認すること。
私はこれでちょっとハマった。
JRE はインストール済みだったのだが &lt;a href=&#34;http://mozilla.jp/blog/entry/7289/&#34;&gt;SSL/TLS 脆弱性の回避&lt;/a&gt;のために Java Plug-in を無効にしていたのだ。
気づかないままいつまで経っても VNC が起動しないので「おかしいなぁ」と思ってたり。
&lt;/p&gt;&lt;p&gt;
インストールの開始が表示されたらネットワーク情報（IP アドレス・サブネットマスク・DNS サーバのアドレス）をメモしておいて VNC コンソールを起動する。
VPS コントロールパネルの「リモートコンソール」から「VNCコンソールを開く」のリンク先へ行くとコンソールが開く。
以降の操作は以下のマニュアルページを参照すれば問題ない（失敗しても「OS再インストール」からやり直せるのでご安心を）。
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://support.sakura.ad.jp/manual/vps/mainte/custom_scientificlinux.html&#34;&gt;Scientific Linux 6｜カスタムOSインストールガイド&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;
全て終了して仮想サーバを「起動」したら ssh で root にログインしてみる。
ログイン出来ればインストール成功である。
&lt;/p&gt;&lt;p&gt;
以降はインストール後のセットアップについて。
セキュリティ上の大事な部分だけ説明する。
なお操作にあたって以下のページを参考にした。
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://akabeko.sakura.ne.jp/blog/2010/09/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AEvps-%E3%82%92%E4%BD%BF%E3%81%84%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B/&#34;&gt;さくらのVPS を使いはじめる | アカベコマイリ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://akabeko.sakura.ne.jp/blog/2010/09/%e3%81%95%e3%81%8f%e3%82%89%e3%81%aevps-%e3%82%92%e4%bd%bf%e3%81%84%e3%81%af%e3%81%98%e3%82%81%e3%82%8b-2/&#34;&gt;さくらのVPS を使いはじめる 2 ? sudo と SSH ポート変更 | アカベコマイリ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://akabeko.sakura.ne.jp/blog/2010/09/%e3%81%95%e3%81%8f%e3%82%89%e3%81%aevps-%e3%82%92%e4%bd%bf%e3%81%84%e3%81%af%e3%81%98%e3%82%81%e3%82%8b-3/&#34;&gt;さくらのVPS を使いはじめる 3 ? iptables を設定する | アカベコマイリ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://dogmap.jp/2011/05/12/vps-security/&#34;&gt;VPS 借りたら、せめてこれくらいはやっとけというセキュリティ設定 : dogmap.jp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;
まずは adduser, passwd コマンドで新しいユーザ（ここでは hogehoge）の登録とパスワードの設定を行う。
&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;# useradd hogehoge
# passwd hogehoge&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;
後にパスワード認証を無効にするとはいえ，パスワードは十分長くて複雑なもの（巷にあるパスワードジェネレータを使うとよい）を選ぶこと。
パスワードを覚えられない場合は（使わないパスワードは覚えられないものだが）， &lt;a href=&#34;http://keepass.info/&#34;&gt;KeePass&lt;/a&gt; 等のパスワード管理ツールを使うとよいだろう，ってみんなやってるか。
&lt;/p&gt;&lt;p&gt;
次に作成したユーザでログインし， ssh の公開鍵を設定する。
&lt;code&gt;~/.ssh&lt;/code&gt; （700）ディレクトリを作成しそこに公開鍵情報を記述した &lt;code&gt;authorized_keys&lt;/code&gt; （600）ファイルを入れる。
公開鍵認証でログインできることを確認した後， root に移って &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt; を編集する。
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;ポートを 22 から変更する（なるべく大きな値）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PermitRootLogin no&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PasswordAuthentication no&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;
その後 sshd を再起動する。
&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;# service sshd restart&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;
これで ssh での root のログインとパスワード認証を無効にできる。
ssh のポートを変更するのは単純なポートスキャン（22番を ssh のポートとして狙い撃ちしてくる）から逃れるためだ。
&lt;/p&gt;&lt;p&gt;
ここでシステムのアップデートをしておく。
&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;# yum update&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;
といっても現時点では全て最新になってるみたいなので何もアップデートされなかったけど。
&lt;/p&gt;&lt;p&gt;
次に sudo の設定をする。
&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;# usermod -G wheel hogehoge&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;
更に visudo を起動し，以下のコメント部分を外す。
&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;# %wheel  ALL=(ALL)       ALL
  ↓
%wheel  ALL=(ALL)       ALL&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;
以降の操作は root 以外のユーザ（ここでは hogehoge）で sudo コマンドを使って行うことができる。
ついでに &lt;code&gt;~/.bash_profile&lt;/code&gt; に &lt;code&gt;/sbin:/usr/sbin:/usr/local/sbin&lt;/code&gt; のパスを追加しておく。
&lt;/p&gt;&lt;p&gt;
次は iptables の設定である。
&lt;code&gt;/etc/sysconfig/iptables&lt;/code&gt; を用意する。
中身は，例えばこんな感じ。
&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;*filter
:INPUT   ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT  ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
&lt;p&gt;-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp &amp;ndash;icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp &amp;ndash;dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp &amp;ndash;dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp &amp;ndash;dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state &amp;ndash;state ESTABLISHED,RELATED -j ACCEPT&lt;/p&gt;
&lt;h1 id=&#34;ssh-http&#34;&gt;SSH, HTTP&lt;/h1&gt;
&lt;p&gt;-A RH-Firewall-1-INPUT -m state &amp;ndash;state NEW -m tcp -p tcp &amp;ndash;dport xxxxx -j ACCEPT
-A RH-Firewall-1-INPUT -m state &amp;ndash;state NEW -m tcp -p tcp &amp;ndash;dport 80    -j ACCEPT&lt;/p&gt;
&lt;p&gt;-A RH-Firewall-1-INPUT -j REJECT &amp;ndash;reject-with icmp-host-prohibited&lt;/p&gt;
&lt;p&gt;COMMIT&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;
（&lt;code&gt;COMMIT&lt;/code&gt; の後ろには改行コードを入れないこと）
&lt;/p&gt;&lt;p&gt;
&lt;code&gt;xxxxx&lt;/code&gt; には ssh のポート番号が入る。
他には80番（http）も許可している。
それぞれの使用環境に合わせて調整すればいいだろう。
&lt;code&gt;/etc/sysconfig/iptables&lt;/code&gt; を設定したら以下のコマンドで再起動する。
&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;$ sudo /etc/rc.d/init.d/iptables restart&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;
記述が正しければうまく再起動するはずである。
&lt;/p&gt;&lt;p&gt;
最後にログ監視の設定をする。
ログ監視には logwatch をインストールする。
&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;$ sudo yum install logwatch&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;
インストールができたら &lt;code&gt;/etc/logwatch/conf/logwatch.conf&lt;/code&gt; に報告先のメールアドレスを追記する。
&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;MailTo = hogehoge@exsamle.com&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;
これでメールアドレス宛に毎日報告が届くはずである。
ちなみに「&lt;a href=&#34;http://vps.sakura.ad.jp/&#34;&gt;さくらの VPS&lt;/a&gt;」のお試し期間中はメール機能が使えないのでご注意を。
&lt;/p&gt;&lt;p&gt;
ところで NTP はどうなってるのかなぁ，と思って &lt;code&gt;/etc/ntp.conf&lt;/code&gt; を覗いてみたら &lt;code&gt;ntp1.sakura.ad.jp&lt;/code&gt; を参照してるみたい。
ためしに ntpq コマンドを打ってみたら以下のようになった。
&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;$ sudo ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp1.sakura.ad. .GPS.            1 u    6   64  377    8.532   -0.040   0.108&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;
GPS ？ なのか？
&lt;/p&gt;&lt;p&gt;
とりあえず，今回はここまで。
&lt;/p&gt;
</content>
	</entry>
</feed>
