CentOS 7にNW機器のコンフィグバックアップ自動化ツール「rancid」をインストールする

NW機器のコンフィグ自動バックアップ方法について調べていたところ、「rancid」というツールが良さそうだったので少し触ってみることにした。
比較的いろんなベンダーのNW機器に対応しており、CVSを用いての世代管理もできるようで、情報も豊富にありそうだ。一応、ViewVCを入れることでWebからコンフィグを管理させることも可能なようだ。というわけで、今回はCentOS7にこのrancid + ViewVCをインストールしてみる。こちらを見る限り、yumやapt-getでもインストールできそうだが、今回はソースをダウンロードしてインストールを行うことにした。手順については、こちら...


Linuxのコマンドラインでパスワード管理ができるCUIのパスワードマネージャ「mdp」

CUIでパスワード管理ができるツールをいくつか見つけたので何個か紹介していたが、今回は「mdp」というパスワードマネージャを紹介する。

1.インストール

まずは、前提となるパッケージのインストールから。
以下のコマンドを実行する。

yum install ncurses-devel ncurses gnupg git gcc # CentOSなどRHEL系の場合
apt-get install libncursesw5-dev libncursesw5 gnupg git gcc # Debian/Ubuntu系の場合

次に、mdpのインストールを行う。

git cl...

Linux/Macのターミナルで使えるパスワードマネージャ「pass」

Linux/Macのターミナルで利用できるパスワードマネージャということで、インストールが簡単に行える「pass」というものを見かけたので紹介。
管理するパスワードをフォルダのように階層で管理できるので、CUIながらパスワード管理しやすそうだ。一応、gitでの管理も行えるようだ。

1.インストール

インストールは簡単で、以下のコマンドで行える。

sudo yum install pass # CentOSなどRHEL系
sudo apt-get install pass # Debian/Ubuntu系

Macの場合は以下のコマンドでインストールする。

brew in...

CentOS 7にOSSのWebベースAnsible操作・管理ツール「Ansible Semaphore」をインストールする

AnsibleのWebベースでの操作・管理ツールといえばAnsible Towerが有名だが、10ホスト以上になると有償となってしまうため、あまり気軽に入れられないところがある。
で、他に何かないかと探していたところ、「Ansible Semaphore」というものがあったので、すこし触ってみることにする。一応Dockerもあるようだが、今後のことも考えてCentOS 7に入れてみることにする。
OSS Alternative Ansible Towerと言っているので、なかなか期待できそうだ。

1.前提パッケージのインストール

まずは前提となるパッケージのインストールから。
以...


LinuxのCUIで管理するパスワードマネージャ「gpgpwd」コマンド

先日、いくつかチームでのパスワード管理マネージャについて紹介したが、今回は個人向けのパスワードマネージャ。
で、GUIで管理するタイプではなく、コンソールから利用できるタイプの「gpgpwd」というものを見かけたので、これについて紹介する。

1.インストール

まずはインストールの前に、前提となるパッケージを導入する。

apt-get install libjson-perl libtry-tiny-perl gnupg xclip git gnupg-agent # Debian/Ubuntu系の場合
yum install perl-JSON perl-Try-Tiny g...

OpenSSHでは、デフォルトだと.ssh/authorized_keysというファイルに公開鍵を置いておく(別のファイルを指定することも可能)のだが、このファイルに設定を記述することで、その公開鍵の挙動を制限することができる。有名どころとしてはcommandとfromなのだが、そのほかにもいろいろと設定できるので便利そうなのをいくつかまとめておくことにする。
ここを見る限り、以下の項目について設定ができるようだ。

  • agent-forwarding
  • cert-authority
  • command="command"
  • environment="NAME=value"
  • no-a...

rbashで一部のユーザが実行できるコマンドを制限する(特定コマンドしか実行できないようにする)

一部のユーザで、特定のコマンドのみを利用できるようにして、そのほかのコマンドは実行できないようにしたい。
そんなときは、対象のユーザのログインシェルをrbashというシンボリックリンクにしてやることで実現可能だ。

まず、bashのシンボリックリンクとしてrbashを「/opt/bin」配下に作成する。

mkdir /opt/bin
ln -s /bin/bash /opt/bin/rbash

次に、rbash用のユーザを作成する。

useradd rbash_test -s /opt/bin/rbash
passwd rbash_test

rbash用のユーザが利用できる...


ProxmoxVE 4.2で監視をするためにZabbix Agentのインストールをする必要があったので、念のため手順を備忘として残しておく。
といっても、そもそもDebianなので手順としては簡単で、以下のようにコマンドを実行してAgentをインストール、あとは設定ファイルを編集するだけだ。

wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-1+jessie_all.deb
dpkg -i zabbix-release_3.0-1+jessie_all....

Windowsでスタティックルートの設定方法(CUI/GUI)

Windowsでスタティックルートを構成する場合は、CUI(コマンドプロンプト)から行う方法とRouting and RemoteAccess(RRAS)で設定する方法の2パターンがある。
基本的にはコマンドでやるほうがお手軽ですぐ終わるのでそちらが主流だと思うのだが、念のためRRASでの設定方法についても残しておく。

1.コマンドプロンプトで設定する

コマンドプロンプトで設定する場合は、以下のようにコマンドを実行すればよい。
指定されている「-p」オプションを付与することで、再起動後も設定を保持させる。

route -p add "宛先ネットワーク" mask "ネットワーク...

先日、LinuxでGraylog Collector Sidecar経由でのGraylogでのログ収集についての方法を記述したので、今回はWindows。
といっても、基本的な流れは変わらない。Graylog Collector SidecarとNXLogをインストールして設定、ログを集めるだけだ。

1.Graylog Collector Sidecarのインストール・起動

まずは、こちらからGraylog Collector Sidecarのインストール用exeをダウンロードして実行、インストールをする。

2.NXLogのインストール・設定

次に、NXLogのインストー...


Graylogで「Graylog Collector sidecar」を用いてログの転送を行わせる(Linux)

Graylogでは、Syslogのほかに「Graylog Collector Sidecar」というエージェントを使ってのログ収集方法がある。
この方式の場合、GELFというGraylogの独自フォーマットでのログ入力フォーマットを使えるため、Syslogに比べて詳細な情報を記録しておくことが可能になる。

今回は、この「Graylog Collector Sidecar」を用いてGELFでのログをGraylogに連携させる。このとき、エージェントからGraylogへのデータ転送にはFilebeat、Winlogbeat、NXLogが使えるのだが、今回はNXLogを利用する。手順につい...


UbuntuServer16.04にOSSのDCIM・IPAMツール「netbox」をインストールする

以前に紹介したDCIM・IPAMツール「netbox」を、Ubuntu Server 16.04にインストールしてみる。
インストール手順については、公式ドキュメントがあるのでそれを参考にする。

1.PostgreSQLのインストール・設定

まずはPostgreSQLのインストールから。
以下のコマンドを実行する。

sudo apt-get install -y postgresql libpq-dev python-psycopg2

PostgreSQLインストール後、DBの作成などを行わせる。
(この手順では、PostgreSQLでパスワードの設定とか行ってい...


WordPressの脆弱性診断ツール「plecost」を使ってみる

WordPressの脆弱性診断ツールといえばRubyで実装された「wpscan」が有名だが、今回はpython3で作られた「plecost」を使って脆弱性の有無を確認してみよう。
当たり前の話だが、自分の管理しているサイト以外に実行するのはアタックになるのでやらないように。

1.インストール

まずインストールだが、以下のコマンドで行える。
Python3用のpipをインストールしていないと「No module named pip」というエラーが出るので、事前にインストールしておくといいだろう。

sudo python3 -m pip install plecost

こ...


WordPressの脆弱性スキャンツール『wpscan』をUbuntu Server 16.04にインストールしてスキャンを行う

ブログを書く場合、かなりの確率でWordPressを利用していることが多いだろう。
ただ、利用者が多いということは、それだけ攻撃の標的になりやすくなるということでもある。

そうなるとちゃんとセキュリティの設定ができてるか、定期的に見直す必要がある。
そんなときに便利なのが、WordPress用の脆弱性スキャンツール『wpscan』だ。これは、外部から対象のWordPressブログに対してスキャンを実施し、脆弱性があるかどうかを確認するというものだ。
(当たり前だが、もちろん自分のブログ以外にこのツールを使用するとアタックとして扱われるので注意するように)

今回は、Ubuntu...


CentOS7にチームでのパスワード管理マネージャ「TeamPass」をインストールする

チームでのパスワード・鍵ファイルの管理に使えそうなツールを探していたところ、WebベースでAD連携もできるパスワード管理ツール「TeamPass」というものを見かけたので、インストールして少し触ってみることにした。インストール先にはCentOS 7を用いる。

1.前提パッケージのインストール

まずは前提となるパッケージのインストール。
以下のコマンドを実行する。

yum install -y epel-release
yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum i...

CentOS 7にチームでのパスワード・鍵管理に便利な「RatticDB」をインストールする

仕事で、チームでのパスワードや鍵管理の方法について調べていて、それ専用のツールとして作られた「RatticDB」なるものを見かけたので、検証として使ってみることにした。
今回は、CentOS 7にこのツールをインストールして使ってみることにする。手順についてはこちらを参考に進め、DB用にデバイスを暗号化した領域を設ける(手順内で暗号化する)。

1.前提パッケージのインストール・設定

まずは、前提となるパッケージのインストールから…の前に、とりあえずSELinuxを無効化しておく。

setenforce 0
sed -i.bak "/SELINUX/s/enforcing/...

Redmineのパスワード管理プラグイン「Valut」を使ってみる

チームで仕事をしていると、ドメインのレジストリやら契約しているWebサービスの管理画面にアクセスするためのIDやパスワードを共有しておく必要がある。
今まで仕事をしてて、よくExcelとかで管理してることが多かったのだけど、さすがにこの時代にExcelで管理というのはどうなのだろう…というのがあって、いろいろと管理ツールを探していたのだが、どうやらRedmineにパスワード管理用のプラグインとして「Valut」というのがあるようなので、入れてみることにした(redmine.orgでの紹介ページはこちら)。
なお、Redmineについてはインストールがいろいろと面倒くさいので、Tu...


yumコマンドで覚えておきたい使い方19個(+1個)

CentOSなど、RHEL系のディストリビューションを使っているなら必ず一度は使ったことがあるであろうyumコマンド。
みんな使うけど、installとかupdateばかりで他のオプションはそんなに使われてない場合が多いような気もするが、使いこなせるとかなり便利な機能がいっぱいある。
…といっても、機能がありすぎるので、役に立ちそうなものだけを抜粋している。

1.パッケージをインストールする

yumを使ったことがあるなら、必ず一度は使っている使い方。
指定したパッケージを、yumリポジトリ(yumでインストールされるrpmパッケージのデータベースやデータそのものを持つ、貯蔵庫のよ...


Linuxコンソール上で、ソートせずにユニークな値を取得したい時がある。
例えば、以下のようなファイルからユニークな値を取得する際、よく使われる方法としてはsort+uniqコマンドの組み合わせなのだが、それだと順番がずれてしまう。
あくまでもその文字列が最初に登場した順番でユニークな値を取得したいとする。

[root@BS-PUB-CENT7-01 ~]# cat /tmp/test.txt
test:0
test:2
test:6
test:9
test:4
test:9
test:9
test:9
test:4
test:0
test:2
test:8
test:0
test:7...

CentOS7でNginx・MariaDB・PHP7(LEMP環境)によるWordPressの構築

今回は、CentOS 7でNginx・MariaDB・PHP7を用いた環境(LEMP環境)でのWordPressの構築を実施する。
まず、対象のサーバにLEMP環境が導入されていることが前提となるのだが、それについては下の内容を参照してもらいたい。

CentOS7でNginx・MariaDB・PHP7(LEMP環境)を導入する

1.Nginxの設定変更

まず、NginxでVirtualHostの設定を行う。
今回の場合、テストとしてローカルネットワーク内で構築をするため、以下のような設定となる。

  • server_name : bs-pub-wordpress-01.black...

CentOS7でNginx・MariaDB・PHP7(LEMP環境)を導入する

今回は、CentOS7でNginx・MariaDB・PHP7を利用した環境(LEMP環境)の構築を行う。
なお、作業の前提としてSELinuxはすでに停止済みとする。

1.前提パッケージの導入

まず、前提パッケージであるNginxやphp7を用いるためにepelとremiのインストールを行う。

epel

yum install -y epel-release
sed -i.bk '/[epel]/,/^enabled/s/enabled=1/enabled=0/' /etc/yum.repos.d/epel.repo

remi

rpm --import http://...

Ubuntu 14.04上でオープンソースのIPAM・DCIMツール『netbox』をDockerで動作させる

今まで、OpenDCIMDevice42RalphといったDCIMツールを触ってきたのだが、DegitalOceanから『netbox』というDCIMツールが出たようなので、ちょっと触ってみることにする。
ちゃんとOSにインストールするなら、こちらの公式ドキュメントを参考に行うといいだろうが、ちょっと面倒くさそうだ。
Dockerイメージもあるので、今回はお試しということもあってこちらを利用する(なので、前提として最新版(少なくとも、docker-composeのVersion2の記述方法に対応したバージョン)のDockerとdocker-composeがインストー...


cpやmvコマンドに『advcpmv』パッチを適用してプログレスバーによる進捗表示をさせる

以前にもこちらで触れたことがあるのだが、有志の作成した『advcpmv』というパッチをcp、mvファイルに適用することで、コマンド実行時にプログレスバーを表示させることができるようになる。
パッチは、以下の方法で当てることができる。

wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.21.tar.xz
tar xvJf coreutils-8.21.tar.xz
cd coreutils-8.21/
wget https://raw.githubusercontent.com/atdt/advcpmv/master/advcpmv...

UbuntuServerでセキュリティアップデートのみ行わせる(手動・自動)

Ubuntu Serverでセキュリティアップデートのみを行わせるには、yumと違ってapt-get(apt)だけだとできないようだ。
じゃあどうすればいいのかというと、「unattended-upgrades」というパッケージを利用するといいようだ。このパッケージ、手動だけではなく自動でのセキュリティアップデートを行わせることもできるようだ。今回は、UbuntuServer 16.04でこの確認を行う。

1.unattended-upgradesのインストール・設定

まずは、以下のコマンドでunattended-upgradesのインストールを行う。
(Ubuntu Server...


cpやmv、tarコマンドの進捗状況を調べる方法といえばいくつかあるが、progressコマンドなるものを用いてバックで動いているcpやmvなどの進捗状況を確認することができるようだ。
以下、インストールコマンド。

rpm -ihv http://cbs.centos.org/kojifiles/packages/progress/0.13/1.el6/x86_64/progress-0.13-1.el6.x86_64.rpm # RHEL6系
rpm -ihv http://cbs.centos.org/kojifiles/packages/progress/0.13/1.el7/x...

CentOSでちょっと新しめのパッケージを入れる際にかなりの確率でお世話になるepelとremiのリポジトリ。
これらのリポジトリを追加する場合は、以下のコマンドを実行すればよい。

epel

yum install -y epel-release
sed -i.bk '/[epel]/,/^enabled/s/enabled=1/enabled=0/' /etc/yum.repos.d/epel.repo # yum実行時に「enablerepo=epel」を付けないと有効にさせない