AngularJSでCalendarを表示する

カスタマイズできるのカレンダーが必要になったのでざっくり実装。

AngularJSでカレンダーを描画してみる。
合わせて、モーダルウィンドウ上でもカレンダーを表示してみる。

デモはこちら

サンプルソースコードはこちら

Mo3g4u/AngularJSCalendarSample

angularjscalendarsample

バックエンドに問い合わせて、月のカレンダーを受け取り
描画しているだけ。

バックエンドが返すデータに予約枠数とか、リンクなどを
含めれば予約カレンダーみたいなものができる想定。

AngularJSでデータ構造をjsonで画面に表示したい

久しぶりに触ってまったく思い出せなかったのでメモ。

$logとかでコンソールログに出すほどじゃないけど、データが
今どうなっているか確認したい場合は以下のようにすれば画面に表示される。


<pre>
  {{data | json}}
</pre>

表示したいデータが「data」で「json」フィルタに通す。

/API Reference/ng/filter components in ng/json

iPhone5cでLINEを開こうとしたらフリーズして画面が消えた

つい先日、iPhone5cのLINEを起動しようとしたらフリーズして、スリープボタンで
再起動しようにも「電源を切る」のスワイプ画面にならず、そのまま放置したら画面
が真っ黒になる現象に見舞われたのでその時の対処したやり方をメモ。

画面が真っ黒だけど電源は入っていて、ホームボタンを長押しすると
どうもsiriが起動している風な感じはわかった。

電話も使えないので家族に連絡もできず困った。

この状態になったので同様の現象が無いか検索してみると以下のページを発見。

17.iOS 10/10.1でLINEアプリが開けない

ひとまず書いてある通りにスリープボタンとホームボタンを同時に長押しして
強制再起動を試すと、再起動して画面が表示されるようになった。
その後も指示通りにステップをこなして、LINEの再インストールまで行った。

この状態でmacbook airに接続してiTunesからiOSのアップデートも行った。

LINEも入れなおしたのでログインをしようとするとここで問題発生。

メールアドレスでログインしようとするも、メールアドレスが登録されてないか
パスワードが間違っているという趣旨のメッセージが出てログインができない。
メールアドレスはあっているはずなのにどうしてもログインできない。

パスワードを間違えたからアカウントロックがかかったのかと思って1日放置
してもやっぱりだめ。

ここであきらめて、新規登録しなおそうと、電話番号認証でアカウントを再度
作成しようとするとなぜか以前の状態に復元した。。。

これはどういう現象なのだろうと調べると、以下のページに解説が・・・。

1.同じ端末で同じ電話番号をご利用の場合、番号認証をすれば以前のアカウントを利用できます。

LINEのログインなんてめったにやらないからどういう登録をしてたのか忘れてしまうのと、
ログイン失敗時のエラーメッセージが不親切、ヘルプもわかりにくいので対処に
時間がかかってしまった。。

ログイン失敗時のエラーが親切だとセキュリティ上まずいのは
わかるので、LINEを再インストールしたときのログインについて
ヘルプにわかりやすく記載してもらえると嬉しい。

※LINEのことが全然わかっていないというだけなのかもしれない。

Vagrant上のCentOS6にVulsインストール

Vulsインストール

Vagrant上のCentOS6にインストールを行ったメモ

公式のインストール方法:Vuls: VULnerability Scanner
SSHの設定をする

ローカルホストにSSH接続できるようにする。
SSHキーペアを作成し、公開鍵をauthorized_keysに追加する。

$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

Vulsに必要な以下のソフトウェアをインストールする。
– SQLite3
– git v2
– gcc
– go v1.7.1 or later

※gitはCentOS6のデフォルトだと1.7とかなので、そのまま入れてはいけない

How to Install Git 2.8.1 on CentOS/RHEL 7/6/5 & Fedora 23/22

$ sudo yum -y install sqlite git gcc
$ wget https://storage.googleapis.com/golang/go1.7.1.linux-amd64.tar.gz   <-時間がかかる
$ sudo tar -C /usr/local -xzf go1.7.1.linux-amd64.tar.gz
$ mkdir $HOME/go

/etc/profile.d/goenv.sh を作成し、下記を追加する。

$ sudo vi /etc/profile.d/goenv.sh
$ cat /etc/profile.d/goenv.sh
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

カレントシェルに上記環境変数をセットする。

$ source /etc/profile.d/goenv.sh

go-cve-dictionaryのインストール

$ sudo mkdir /var/log/vuls
$ sudo chown mogu /var/log/vuls
$ sudo chmod 700 /var/log/vuls
$ mkdir -p $GOPATH/src/github.com/kotakanbe
$ cd $GOPATH/src/github.com/kotakanbe
$ git clone https://github.com/kotakanbe/go-cve-dictionary.git
$ cd go-cve-dictionary
$ make install

バイナリは、`$GOPATH/bin`いかに生成される
NVDから脆弱性データベースを取得する。
これは実行ユーザのホームディレクトリに「vuls」というディレクトリを掘ってその中に取得する方がやりやすい。

$ pwd
/home/mogu
$ mkdir vuls
$ cd vuls
$ for i in {2002..2016}; do go-cve-dictionary fetchnvd -years $i; done
$ pwd
/home/mogu/vuls
$ ll
total 680368
-rw-r--r-- 1 mogu mogu 592179200 Oct 21 10:11 cve.sqlite3
-rw-r--r-- 1 mogu mogu     32768 Oct 21 10:11 cve.sqlite3-shm
-rw-r--r-- 1 mogu mogu  22845432 Oct 21 10:11 cve.sqlite3-wal

vulsインストール

$ mkdir -p $GOPATH/src/github.com/future-architect
$ cd $GOPATH/src/github.com/future-architect
$ git clone https://github.com/future-architect/vuls.git
$ cd vuls
$ make install

Config

先ほど作った実行ユーザの「vuls」内に設定ファイルを記載する

$ pwd
/home/mogu/vuls
$ vim config.toml
$ cat config.toml 
[servers]

[servers.127-0-0-1]
host         = "127.0.0.1"
port        = "22"
user        = "mogu"
keyPath     = "/home/mogu/.ssh/id_rsa"

$ vuls configtest
[Oct 21 10:24:09]  INFO [localhost] Validating Config...
[Oct 21 10:24:09]  INFO [localhost] Detecting Server/Contianer OS... 
[Oct 21 10:24:09]  INFO [localhost] Detecting OS of servers... 
[Oct 21 10:24:10]  INFO [localhost] (1/1) Detected: 127-0-0-1: centos 6.7
[Oct 21 10:24:10]  INFO [localhost] Detecting OS of containers... 
[Oct 21 10:24:10]  INFO [localhost] Checking sudo configuration... 
[Oct 21 10:24:10]  INFO [127-0-0-1] sudo ... OK
[Oct 21 10:24:10]  INFO [localhost] SSH-able servers are below...
127-0-0-1 

セットアップ

$ vuls prepare
INFO[0000] Start Preparing (config: /home/mogu/vuls/config.toml) 
[Oct 21 10:24:46]  INFO [localhost] Detecting OS... 
[Oct 21 10:24:46]  INFO [localhost] Detecting OS of servers... 
[Oct 21 10:24:46]  INFO [localhost] (1/1) Detected: 127-0-0-1: centos 6.7
[Oct 21 10:24:46]  INFO [localhost] Detecting OS of containers... 
[Oct 21 10:24:46]  INFO [localhost] Checking sudo configuration... 
[Oct 21 10:24:47]  INFO [127-0-0-1] sudo ... OK
[Oct 21 10:24:47]  INFO [localhost] No need to install dependencies

検査開始

    $ vuls scan -cve-dictionary-dbpath=$PWD/cve.sqlite3 -report-json

TUIで結果確認

$ vuls tui

Ctrl + cで閉じる

脆弱性があったのにtuiでは空で表示された場合はconfig.tomlと同じディレクトリに脆弱性データベースを落としていたか再度確認する。

ClamAVでPdf.Exploit.CVE_2016_4207-1の対応

ClamAVでPdf.Exploit.CVE_2016_4207-1の対応

元々、「アンチウィルスソフト導入(Clam AntiVirus)

を参考にClamAVを導入していましたが、先日の「Signatures Published daily – 22213
以降PDFやzip、docxなどが誤検知されファイルが削除される状態になった。

検知⇒即刻削除の方が安全性は高いと思うけど、今回のような誤検知があった場合には被害が大きいので
一旦自分で内容を確認するようにしてみる。

まず、そもそも検知と同時に削除してしまうのが危ないので、
ウィルススキャン定期自動実行のスクリプトである「virusscan」スクリプト内を変更。

# vim /etc/cron.daily/virusscan

clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP 2>&1

↓削除オプションを取る

clamscan --recursive ${excludeopt} / > $CLAMSCANTMP 2>&1

それとroot宛にメールを飛ばしていたので以下の箇所も変更。気づかないので・・・。

# vim /etc/cron.daily/virusscan

grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root

↓メール送信先を変更

grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" 自分のメールアドレス

ここまでで検知したら即時削除ではなく、検知したファイルをメールで通知してくれるようになった。

メールが来たらシグネチャを調査して本当に消す必要があるのか自分で判断してから削除する。

サーバ側での削除は以下のコマンドで検知&削除する。

# clamscan --infected --remove --recursive

remove以外にもmove、copyもあるようなので、必要に応じて使い分けるればいいかも。

# clamscan --help
・・・
    --remove[=yes/no(*)]                 Remove infected files. Be careful!
    --move=DIRECTORY                     Move infected files into DIRECTORY
    --copy=DIRECTORY                     Copy infected files into DIRECTORY
・・・

それと今回の「Pdf.Exploit.CVE_2016_4207-1」を除外するためにホワイトリスト設定を追加。

Whitelisting signatures
元々の結果

# clamscan --infected --recursive
/root/virus-data/test.pdf: Pdf.Exploit.CVE_2016_4207-1 FOUND

----------- SCAN SUMMARY -----------
Known viruses: 4850553
Engine version: 0.99.2
Scanned directories: 1
Scanned files: 2
Infected files: 1
Data scanned: 2.30 MB
Data read: 0.37 MB (ratio 6.20:1)
Time: 7.857 sec (0 m 7 s)

ホワイトリストに追加。

# echo "Pdf.Exploit.CVE_2016_4207-1" >> /var/lib/clamav/local.ign2

検知されなくなった。

# clamscan --infected --recursive

----------- SCAN SUMMARY -----------
Known viruses: 4850552
Engine version: 0.99.2
Scanned directories: 1
Scanned files: 2
Infected files: 0
Data scanned: 2.54 MB
Data read: 0.37 MB (ratio 6.85:1)
Time: 7.712 sec (0 m 7 s)

Vagrant起動時に共有フォルダのマウントに失敗したら

毎回調べるのが面倒なのでメモ。

vagrantの起動時に以下のように出た場合の対処方法。
HostOS:Windows10
GuestOS:CentOS7
VirtualBox:5.1.4
Vagrant:1.8.5

Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attemped was:

set -e
mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant

The error output from the command was:

/sbin/mount.vboxsf: mounting failed with the error: No such device

guestにsshでログインして、

# yum install kernel-devel kernel-headers gcc make
# yum install dkms
# export MAKE='/usr/bin/gmake -i'
# /etc/init.d/vboxadd setup
Removing existing VirtualBox DKMS kernel modules           [  OK  ]
Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module                   [  OK  ]
Building the shared folder support module                  [  OK  ]
Building the OpenGL support module                         [  OK  ]
Doing non-kernel setup of the Guest Additions              [  OK  ]
Starting the VirtualBox Guest Additions                    [  OK  ]

この状態になったら、hostで

vagrant halt
vagrant up

エラーが消えているはず。

DELL PowerEdge T310のLCDパネルに「I1912 System Event Log full. Review & clear log.」と表示されたのでその対応

DELL PowerEdge T310のLCDパネルに「I1912 System Event Log full. Review & clear log.」と表示されたのでその対応。

OS:CentOS6.2

調べてみると以下のページにたどり着いた。

ハードウェアログがいっぱいになった場合の対処方法

このページを見ると、「OpenManage Server Administrator」をインストールする必要があるようなのでインストールしてみる。

インストールは以下のページを参考に進める。

[OMSA] OpenManage Server Administratorインストール手順 for Red Hat Enterprise Linux 6.x

「コマンド:./srvadmin-install.sh –x」でエラーが発生。。

# ./srvadmin-install.sh -x
Error: srvadmin-install.sh is already executing.
       Wait for srvadmin-install.sh to complete and try again.
       Concurrent executions of srvadmin-install.sh can lead to unexpected
       or invalid installation results.

       If you want to continue anyway, please delete '/var/lock/LCK..srvadmin-install.sh.0' and try again.

数時間悩むも偶然見つけた以下のページを参考に「procmail」をインストールしてみた。

Install Dell OpenManage 7.4 on XenServer 6.5

# yum  install procmail

すると・・・

# ./srvadmin-install.sh -x
     Unrecognized Operating System or Architecture. This script cannot 
     continue with the installation. Select rpms from the OS folder in 
     the media that closely matches this Operating System to continue 
     with the manual install.

なんか変わった。

これもしばらく悩むも、「/etc/redhat-release」をどうにかすればよさそうな記事を目にする。

とりあえず

# echo "Santiago" >> /etc/redhat-release

でもだめっだった。もとに戻してから、

# echo "Tikanga" >> /etc/redhat-release
# ./srvadmin-install.sh -x
  Server Administrator version 7.4.0 is currently installed.
  Installed components are:
   - srvadmin-storelib-sysfs-7.4.0-4.1.1.sles10.i386
   - srvadmin-hapi-7.4.0-4.28.2.sles10.i386

  You are attempting to install Server Administrator version 7.3.0
  7.3.0 is lower than the installed version 7.4.0.
  Error: install cannot continue.

進んだ!
CDからは「7.3.0」を入れようとしてるみたいだけど、悩んでいろいろやってたときに「7.4.0」の
コンポーネントが入ってしまったようなので削除。

# yum remove srvadmin-hapi
# yum remove srvadmin-storelib-sysfs

削除して再度実行。

# ./srvadmin-install.sh -x
Installing the selected packages.

準備中...                ########################################### [100%]
   1:libsmbios              ########################################### [ 50%]
   2:smbios-utils-bin       ########################################### [100%]
エラー: 依存性の欠如:
        libcurl.so.3 は libwsman1-2.2.3.9-4.1.7.el5.i386 に必要とされています
準備中...                ########################################### [100%]
   1:srvadmin-omilcore      ########################################### [  3%]
     **********************************************************
     After the install process completes, you may need 
     to log out and then log in again to reset the PATH
     variable to access the Server Administrator CLI utilities

     **********************************************************
   2:srvadmin-deng          ########################################### [  6%]
   3:srvadmin-omacs         ########################################### [  9%]
   4:srvadmin-xmlsup        ########################################### [ 12%]
   5:srvadmin-rac-components########################################### [ 15%]
   6:srvadmin-hapi          ########################################### [ 18%]
   7:srvadmin-isvc          ########################################### [ 21%]
   8:srvadmin-argtable2     ########################################### [ 24%]
   9:srvadmin-smcommon      ########################################### [ 26%]
  10:srvadmin-ominst        ########################################### [ 29%]
  11:srvadmin-omcommon      ########################################### [ 32%]
  12:srvadmin-jre           ########################################### [ 35%]
  13:srvadmin-omacore       ########################################### [ 38%]
  14:srvadmin-idracadm7     ########################################### [ 41%]
  15:srvadmin-racdrsc       ########################################### [ 44%]
  16:srvadmin-deng-snmp     ########################################### [ 47%]
  17:srvadmin-storelib-sysfs########################################### [ 50%]
  18:srvadmin-storelib      ########################################### [ 53%]
  19:srvadmin-racadm4       ########################################### [ 56%]
  20:srvadmin-megalib       ########################################### [ 59%]
  21:srvadmin-storage       ########################################### [ 62%]
  22:srvadmin-idrac-vmcli   ########################################### [ 65%]
  23:srvadmin-idrac7        ########################################### [ 68%]
  24:srvadmin-smweb         ########################################### [ 71%]
  25:srvadmin-cm            ########################################### [ 74%]
  26:srvadmin-oslog         ########################################### [ 76%]
  27:srvadmin-storage-cli   ########################################### [ 79%]
  28:srvadmin-storage-snmp  ########################################### [ 82%]
  29:srvadmin-tomcat        ########################################### [ 85%]
  30:srvadmin-idracadm      ########################################### [ 88%]
  31:srvadmin-isvc-snmp     ########################################### [ 91%]
  32:srvadmin-idrac-ivmcli  ########################################### [ 94%]
  33:srvadmin-idrac-snmp    ########################################### [ 97%]
  34:srvadmin-sysfsutils    ########################################### [100%]

入った。一応「libcurl」入れておく。

# yum search libcurl

遂にOMSAのサービスを起動。

# /opt/dell/srvadmin/sbin/srvadmin-services.sh start
Starting Systems Management Device Drivers:
Starting dell_rbu:                                         [  OK  ]
Starting ipmi driver:                                      [  OK  ]
Starting Systems Management Data Engine:
Starting dsm_sa_datamgrd:                                  [  OK  ]
Starting dsm_sa_eventmgrd:                                 [  OK  ]
Starting dsm_sa_snmpd:                                     [  OK  ]
Starting DSM SA Shared Services:                           [  OK  ]

Starting DSM SA Connection Service:                        [  OK  ]

状態確認。

[root@localhost dell]# /opt/dell/srvadmin/sbin/srvadmin-services.sh status
dell_rbu (module) is running
ipmi driver is running
dsm_sa_datamgrd (pid 31827 31795) is running
dsm_sa_eventmgrd (pid 31906) is running
dsm_sa_snmpd (pid 31965) is running
dsm_om_shrsvcd (pid 32032) is running
dsm_om_connsvcd (pid 32085 32084) is running

起動した!ブラウザからも見れた!

夜エアコンが止まってる間にサーバが高温になってwarningログが大量に出てた。
ログのクリアをしたらLCDパネルの表示ももとに戻った。
夜社内が暑いのは解決していない。

※ちなみに別のサーバでは以下のサイトの方法で簡単に導入できました。

OMSA を CLI からサクッとインストールする。 (CentOS 6.x)

【セキュリティ】2016/08/09一般向けまとめ

一般社員向けのまとめ(読んでもらえるように10件以下に抑えてます

ニュース – 日本を標的にした攻撃が増加、2016年上半期のマルウエア動向:ITpro

セキュリティ・テクノロジー・マップ(5):WAF/メールゲートウェイ――特定の攻撃を「検知」「防止」する技術の基礎(その2) – @IT

【確認方法あり】NexusもXperiaもGalaxyも影響あり 9億台ものAndroid端末に存在する「Quadrooter」脆弱性|I believe in technology

半径300メートルのIT:“名もない中小企業”がランサムウェアの餌食になる理由 (1/2) – ITmedia エンタープライズ

【連載】MS ゆりか先生が教えるWindows 10 セキュリティのアレコレ [7] 大型アップデートでついに実装、期待の新機能「Windows Defender ATP」とは

【セキュリティ】2016/08/08一般向けまとめ

一般社員向けのまとめ(読んでもらえるように10件以下に抑えてます

ランサムウェア感染時の対処についての考察 – 日本のセキュリティチーム

MVNO悪用か、「荷受代行」「荷物転送」アルバイトで注意喚起 – ケータイ Watch

企業のインシデント対応訓練を行うボードゲーム形式の教材を無償提供 | トレンドマイクロ – まっちゃだいふくの日記★とれんどふりーく★

安全そうに見えるパスワードでも実は安全ではない理由 (ライフハッカー[日本版]) – Yahoo!ニュース

これが現代テロリストたちの使うソフトウェア。金に糸目をつけない周到ぶり…|ギズモード・ジャパン

【セキュリティ】2016/08/05一般向けまとめ

一般社員向けのまとめ(読んでもらえるように10件以下に抑えてます

備忘録: Webアクセスによるマルウェア感染の対策について

ASCII.jp:「ポケモンGO」のサーバーも標的に!? ネットワーク攻撃について知ろう

アップルがiOS 9.3.4配信開始。「すべてのユーザーに推奨」扱いの更新、カーネルのセキュリティ問題に対処 – Engadget Japanese

Android 4.3以前の「ブラウザ」アプリにサービス運用妨害(DoS)の脆弱性、10端末が対処未定 -INTERNET Watch