概要
VulsをUbuntu16.10に入れたよ、という記事があまりなかったので、とりあえずやってみました。
で、挫折しました。
前提条件
- ubuntu-16.10-server-amd64.iso を使います。
- 基本はデフォルトインストールです。
- 設定もろもろの詳細は、別の記事参照でお願いします。
- ホームディレクトリ暗号化、はしません。
- あれはServerで使うのはちょっと...
- 基本構成は標準化した、Vuls/VulsRepoの導入を利用します。
- コンソールのPS1配下の通り
構築
OSインストール
基本、デフォルトでインストールします。
- ホームディレクトリ暗号化はしません。
- インストールパッケージ等、デフォルトです。
OS調整
最初に作ったユーザでログインする。
- デフォルト構成でsshdが入っていないだと…マジか。
- 必要に応じて、
/etc/sshd.conf
を修正してね。
- 必要に応じて、
- vulsで使うものは、git, wgetは入っているね。
install_and_networkConfigure
$ sudo apt-get install openssh-server
$ sudo apt-get install sqlite gcc make
ユーザも作ろう
- visudoすると良く分からんエディタだ。vimで直接
/etc/sudoers
を編集な。- vimジャンキーではないひとは、sudo visudoでどうぞ。
- vulsの鍵は、もう楕円DSA(ECDSA)使ってもいいよね?
- ecdsa:521bit にしようぜ。
create_vuls_and_setting
$ sudo useradd -d /opt/vuls vuls
$ vi /etc/sudoers
-----------------------------------
# Members of the admin group may gain root privileges セクションに以下を追加
vuls ALL=(root) NOPASSWD: /usr/bin/apt-get, /usr/bin/apt-cache
-----------------------------------
$ sudo mkdir /opt/vuls
$ sudo chmod 700 /opt/vuls
$ sudo chown vuls:vuls /opt/vuls
$
$ su - vuls
[vuls]$ pwd
/opt/vuls
[vuls]$ mkdir .ssh ssh_keys
[vuls]$ chmod 700 .ssh/ ssh_keys
[vuls]$ ssh-keygen -t ecdsa -b 521
[vuls]$ cat .ssh/id_ecdsa.pub >> .ssh/authorized_keys
[vuls]$ chmod 600 .ssh/authorized_keys
[vuls]$ mv .ssh/id_ecdsa ssh_keys/local_id_ecdsa
[vuls]$ exit
go言語, go-cve-dictionary, Vulsを入れる
install_go_lang
$ wget https://storage.googleapis.com/golang/go1.7.4.linux-amd64.tar.gz
早速問題発生。wgetでDNS解決が出来ない?
- IPv6の無効化か、DNSを8.8.8.8等にすればよい、らしい。
- 一旦、IPv6を無効化してみると、一応はダウンロードできた。
ipv6_off
$ sudo vi /etc/sysctl.conf
-----------------------------------
# 以下を追加
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
-----------------------------------
$ sudo /etc/init.d/network restart
install_go_lang
$ sudo tar -C /usr/local -xzf go1.7.4.linux-amd64.tar.gz
$ sudo vi /etc/profile.d/goenv.sh
-----------------------------------
# 以下を記載
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
-----------------------------------
$
$ sudo su - vuls
[vuls]$ mkdir go
[vuls]$ go version
go version go1.7.4 linux/amd64
[vuls]$ exit
$
次はgo-cve-dictionaryを入れる
install_go-cve-dictionary
$ sudo mkdir /var/log/vuls
$ sudo chown vuls:vuls /var/log/vuls
$ sudo chmod 700 /var/log/vuls
$ sudo su - vuls
[vuls]$ mkdir -p $GOPATH/src/github.com/kotakanbe
[vuls]$ cd $GOPATH/src/github.com/kotakanbe
[vuls]$ git clone https://github.com/kotakanbe/go-cve-dictionary.git
[vuls]$ cd go-cve-dictionary
[vuls]$ make install
[vuls]$ cd
[vuls]$ pwd
/opt/vuls
[vuls]$ for i in {2002..2017}; do go-cve-dictionary fetchnvd -years $i; done
0 / 1 [-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------] 0.00[Dec 12 10:57:21] INFO Fetching... https://static.nvd.nist.gov/feeds/xml/cve/nvdcve-2.0-2002.xml.gz
[Dec 12 10:57:21] ERROR Failed to fetch cve data from NVD. err: [HTTP error. errs: [Get https://static.nvd.nist.gov/feeds/xml/cve/nvdcve-2.0-2002.xml.gz: dial tcp: lookup static.nvd.nist.gov: no uch host], url: https://static.nvd.nist.gov/feeds/xml/cve/nvdcve-2.0-2002.xml.gz]
0 / 1 [-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------] 0.00[Dec 12 10:57:21] INFO Fetching... https://static.nvd.nist.gov/feeds/xml/cve/nvdcve-2.0-2003.xml.gz
[Dec 12 10:57:21] ERROR Failed to fetch cve data from NVD. err: [HTTP error. errs: [Get https://static.nvd.nist.gov/feeds/xml/cve/nvdcve-2.0-2003.xml.gz: dial tcp: lookup static.nvd.nist.gov: no uch host], url: https://static.nvd.nist.gov/feeds/xml/cve/nvdcve-2.0-2003.xml.gz]
...
[vuls]$
[vuls]$ nslookup static.nvd.nist.gov
Server: xxx.xxx.xxx.xxx
Address: xxx.xxx.xxx.xxx#53
Non-authoritative answer:
static.nvd.nist.gov canonical name = nvd.nist.gov.
Name: nvd.nist.gov
Address: 129.6.13.177
[vuls]$
が、こちらでも問題発生。
そして、ここで、どうしてもgo-cve-dictionaryがDNS解決できない、という罠にかかって、これ以上進めなくなった。
- go-cve-dictionaryが、NVDの情報をダウンロードしようとするが、ホスト名(DNSの)解決が出来ないよ、というエラーが出る
- nslookupでは、IPアドレス解決できる
- apt-get等は出来たよ?
- DNSを8.8.8.8にすれば動く可能性があるが、それは根本解決ではないのでやらない
どうも、NetworkManagerが悪さをしているようで、IPv6で躓くようだ。
- そもそも、NetworkManager.conf なんて存在しないよ
- dns=dnsmasqを無効化すればよい、というけど…
- そもそも、それっぽいプロセスいないよ
- /etc/resolv.conf、もとい、/etc/networking/interfacesにdns-nameserversはきちんと書いてあり、nslookupで解決できるよ
- DHCPからもらってるんですが。
- IPv6は無効化して、ifconfigでも存在しないよ。
- どうすればいいのさ(悲しい)
解決方法見つからず、断念。
なんだこれ。
from_Hokuto_no_ken
俺を待つのは戦いだけなのか!!
天はあくまで非情な宿命を課す!!
やっぱり、みんな大好きLTSな16.04を使う、か。
(翌日に続く)