vimの文字化け

概要

windowsで新規作成したファイルを、windows上のvmware(CentOS)でデフォルトのvimで開くと文字化け発生。文字化けを直した記録。

登場人物

CentOSの.vimrc

文字コードに関する箇所

:set encoding=UTF-8

なぜ文字化けが起きたのか

ファイルの文字コードを確認

:set fenc?
fileencoding=latin1

fileencodingsの指定がないので、utf-8になるかと思いきやlatin1でした。ぐぐると、latin1になったときは何かしら文字コードの判別に失敗しているとのことでした。 windowsで新規作成しているファイルなので、文字コードsjisにしてみる。

エンコードを指定して保存する

:set fenc=sjis

文字コードを指定してファイルを開き直す

:e ++enc=sjis

どうなった

文字化けが直りました。 vimで開く際に正しい文字コード判別するために.vimrcにfileencondingsを追加。 これでどのファイルも正しい文字コードで表示してくれるはず。

:set fileencodings=ucs-bom,iso-2022-jp-3,iso-2022-jp,eucjp-ms,euc-jisx0213,euc-jp,sjis,cp932,utf-8

参考

d.hatena.ne.jp

ドキュメントルート変更

概要

apacheのドキュメントルートを変更した時のメモ

メモ

例えば、/home/username の下にドキュメントルートを変更する場合、その下にapacheがアクセス、読み込みできる権限を与えないといけない。

chmod 755 /home/username

ディレクトリの権限

Systemdメモ

基本

Unitの種類 * target 複数のUnitをグループ化する * service サービスを起動

Unit名の拡張子で種類が分かる

設定ファイル

systemd全体の設定ファイル * /etc/systemd/system.conf * /etc/systemd/user.conf

特に–unitでの指定が無ければ、下記が読み込まれる

Unitの定義ファイル

/usr/lib/systemd/system デフォルトの設定内容

パッケージをインストールしたらここに.serviceが置かれるみたい。

/etc/systemd/system デフォルトから変更した内容

httpd /usr/lib/systemd/system/httpd.service

変更を加える場合

/etc/systemd/system/httpd.service.d/を作成

limits.confを作成

[service} LimitNOFILE=65536

Unitの定義ファイル2

/usr/lib/systemd/system/には、RPMパッケージが提供するシステム標準の設定を配置しておき、システム管理者が設定変更する場合は、/etc/systemd/systemにファイルをコピーした上で修正を加えます。

頂点

「default.target」というUnitを頂点

依存関係の骨組み

targetタイプのUnitで依存関係の枠組みを作成する

例えば、 /lib/systemd/system/multi-user.target には Requires=basic.target みたいなの書かれている

Requiresを辿って、枠組みを知ることができる?

はじめ

systemd は default.targetにアクセス。

ただし

/etc/systemd/system/default.target

ll /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 37  5月 18 16:03 /etc/systemd/system/default.target -> /lib/systemd/system/multi-user.target

このリンクが起動時のランレベルに相当し、このリンクを変えるとランレベルが変更される

「 AはBに依存する」の定義方法

A.service

[Unit]
Wants=B.service

方法2.AのwantsディレクトリにBのシンボリックリンクを作成 A.serviceファイルが存在するディレクトリ上に「A.service.wantsディレクトリを作成し、このディレクトリ内にB.serviceへのシンボリックリンクを作成

/etc/systemd/system/multi-user.target.wants/ など

起動シーケンス

/usr/lib/systemd/systemd 起動

systemdが起動すると、はじめに「default.target」から「Requires/Wants」の関係をたどって、起動するべきUnitの全体を把握

起動対象の各Unitの「After/Before」の依存関係から起動順序を決定

systemdの起動でのメリット

systemdは、順序関係の情報をもとにして、複数のUnitをできるかぎり並列に起動していきます。

参考

enakai00.hatenablog.com

CVEメモ

脆弱性関連情報流通体制

発見者→IPAJPCERT/CCIPA,JPCERT/CC,JVNで公表→ユーザ企業(この時点でここで脆弱性を初めて知ることが多いと思われる)

f:id:kandataclub:20171218094543p:plain

用語について

CVEとは

  • MITRE社が管理する脆弱性のユニークなID。世の中の脆弱性はこのIDが付いている
  • 世の中にはCERT/CCやHP、IBM、OSVDB、Red HatSymantecなど80を超える主要な脆弱性情報サイトがあり、MITRE社ではこれらのサイトと連携して脆弱性情報の収集と、重複のない採番
  • CVEの管理団体が米国であるために日本での脆弱性情報が網羅されているわけではない様子

番号の付け方

  • CVEでは脆弱性にユニークな識別番号 「CVE-ID」(CVE-登録時の西暦-通し番号の形式)です。
    • 脆弱性「Heartbleed」は、2014年4月7日にCVE-2014-0160として発表されました。つまり、CVE-ID の構成から、2014年に0160番として登録

NIST

アメリカ国立標準技術研究所(National Institute of Standards and Technology、通称NIST) が過去に管理していた脆弱性情報データベースである。現在は機能強化されたNVDに移行している。

NVDとは

  • NISTが管理している脆弱性情報データベース
  • NISTはMITRE/CVEのスポンサーであり、CVEで命名された脆弱性情報の詳細情報をNVDで提供するという住み分けを行なっている。また、他の脆弱性情報データベースとの違いとして、Common Vulnerability Scoring System(通称CVSS)による危険度の採点を行なっている点が挙げられる。

JVNとは

  • IPAJPCERT/CCが共同で運営
  • いち早く一般に周知することを目的に、早期警戒パートナーシップで取扱われた脆弱性関連情報や、協力関係を結んでいる海外のCERT等からの脆弱性対策情報を掲載
  • なのでJVNをチェックすればほぼ世の中のCVEは把握できそう

CERT/CC

  • コンピュータやインターネットのセキュリティに関する研究や情報発信を行なっているアメリカの研究機関

JPCERT/CC

  • 国内向けのセキュリティ関連情報の提供や各国代表CSIRTとの連携窓口となっている機関

JVN iPedia

  • JVNよりもさらに日本向け情報に特化したもの
  • JVN iPediaは、国内外問わず日々公開される脆弱性対策情報を収集、蓄積することを目的とした脆弱性対策情報データベースです。目的の脆弱性対策情報を容易にご利用いただくために、様々な検索機能をご用意しています。

JVNJVN iPediaとMITRE社\

  • MITRE社と連携してCVE採番の枠組みに参加するため、JVNで公表する脆弱性に対するCVEの割り当てを申請している。

JVNJVN iPediaの違い?

  • JVN iPediaはJVNの情報に加えて、「脆弱性対策情報データベース(JVN iPedia=ジェイブイエヌ アイ・ペディア)」には日々発見される脆弱性対策情報が収録JVN iPediaは日々発見される脆弱性対策情報を蓄積することで幅広くご利用いただくことを目的としています。JVNに掲載される脆弱性対策情報のほか、国内外問わず公開された脆弱性対策情報を広く公開対象とし、データベースとして蓄積しています。
  • 一方、JVNでは、いち早く一般に周知することを目的に、早期警戒パートナーシップで取扱われた脆弱性関連情報や、 協力関係を結んでいる海外のCERT等からの脆弱性対策情報を掲載しています。JVNの詳細については「JVNとは?」をあわせて参照下さい。

まとめ

どこから情報収集するのか

  • 日本向けのサイトになると思われる。JVN、JPCERT、JVN iPedia
  • JVNが海外と連携しているので、JVNをチェックしていれば、ほぼ一般的なシステムの脆弱性運用の脆弱性チェックは網羅しているはず

脆弱性の対応

  • 各ベンダーのサイトで確認する
  • 基本的には、パッチや、アップデートで済むんじゃないだろうか??

さらに脆弱性チェックの拡大と自動化

  • できればNVDやMITRE社のOVALリポジトリまでチェックしたい(世界の脆弱性を網羅したいので)
  • Vulsというソフトがそれを叶えてくれrう

参考

今さら聞けないセキュリティ情報の読み方 — | サイオスOSS | サイオステクノロジー

Cent7インストールメモ

メモ

  • swapもLVMで。他とボリュームグループは異なる
  • ボリュームグループの設定は最大を選択。swapは固定。
  • /bootは通常のパーティションしかむり。LVMは使えない。
  • /boot , swap から作成。その時のswapのボリュームグループはFixed.
  • swapはraidバイス
  • 少ない容量から決めていく
  • とりあえず異なるボリュームグループのマウントポイントを作成しておかないとスペースが無いと怒られる

DELLサーバー起動メモ

メモ

  • 繋いでいないSATAポートがあればOFFにする
  • 起動順番、起動デバイスはもちろんBIOSで変更する
  • CDROMで起動するときはBIOSで起動順番変更
  • 起動順番を変更しただけではCDROMから上手く起動しないとき、BIOSから直接選択して起動。ただしこで起動しないことがある。。その時はBIOSから設定をもう一度してやれば一発でCDからインストーラーが起動したりした