らくがきちょう

なんとなく

Linux

Amazon Linux のインスタンス作成時に cloud-init でタイムゾーンを指定する

AWS 上に cloud-init 対応ディストリビューションのインスタンスを作成するのであれば、起動時にパラメータを指定することで初期設定を実施することが出来ます。インスタンス起動後に Chef や Ansible で設定しても良いですが、cloud-init でシンプルに設定…

Amazon Linux でホスト名 / タイムゾーンを修正する

あまり Amazon Linux 特有の部分は無いのですが、Amazon Linux でホスト名 / タイムゾーンを修正する際のポイントをメモしておきます。以下は「インスタンス起動後に設定修正する」手順を想定していますが、「インスタンス起動前に cloud-init でパラメータ…

CentOS7 に PHP7 をインストールする

CentOS7 に php7 をインストールする方法をメモしておきます。epel & remi リポジトリを追加した後、yum で簡単にインストール可能です。

itamae でローカルサーバにユーザを作成してみる

構成管理ツールである「itamae」を使ってユーザを作成してみます。itamae は Ruby で実装されている為、Ruby がインストールされている必要があります。今回は CentOS7 / Ruby 2.3.1 環境でテストしました。

CentOS7 全体でユーザ共通に使える rbenv をインストールする

Ruby のバージョンを使い分けたい場合は rbenv を使います。通常であればユーザ毎に rbenv をインストールすることになり無駄です。システム全体に rbenv をインストールすることでユーザを限定せずに、しかもユーザ毎に rbenv を使うことが可能です。今回は…

CentOS7 に rbenv で Ruby 2.3.1 をインストールする

rbenv を使って CentOS7 に Ruby をインストールする手順をメモしておきます。Ruby のバージョンは 2.3.1 にしました。

squid で「BASIC 認証アリ / キャッシュしない」Proxy を作る

Proxy 用のソフトウェアとしては squid が有名です。今回は squid を使って以下のような Proxy を構築してみます。 BASIC 認証させる キャッシュさせない(配下のコンテンツが頻繁に更新される想定)

SSH で ControlMaster を使い、TCP セッションを集約する

通常、「3 つ同時に SSH ログインすれば 3 つの TCP セッション」が確立されます。しかし、ControlMaster という設定を行うと「同時に複数の SSH ログインを実行しても、1 つの TCP セッションだけで済む」ように出来ます。

CentOS7 / Ubuntu16 を固定アドレスにする

Linux (CentOS7 / Ubuntu16) で NIC のアドレスを固定化するには以下のように設定します。

CentOS7 に Bacula を使ったバックアップ/リストア環境を作る

ナウいバックアップBaculaをAnsibleを使って約5分で構築してみた。を参考に Baculaを使ったバックアップ環境を作ってみました。元記事で Ansible Playbook を公開頂いているので、環境構築は非常に簡単です。CentOS 7.2.1511 で作業しました。

Ubuntu と CentOS のプロンプト表示色を見てみる

Ubuntu と CentOS の、デフォルトでのプロンプト表示色を見てみます。

Let's Encrypt の証明書を自動更新する+有効期間をメール通知する

Let's Encrypt で取得した証明書の有効期限は 90 日です。これを自動更新するには以下のように設定します。古くなった証明書の削除には tmpwatch を使っている為、tmpwatch がインストールされていることが前提です(tmpwatch については過去記事を参照)。

Ubuntu 16.04.1 に Munin をインストールする

作業端末を Ubuntu 16.04.1 で作り直す機会があったので、監視ツールである Munin をインストールしてみました。一台で「監視サーバ」と「監視対象」を兼務させました。Munin の Web 画面は BASIC 認証で保護しています。

SSH ログインされたらメール通知する(Ubuntu 版)

先日、CentOS7 環境で SSH ログインされたらメール通知するという記事を書きました。Ubuntu 16.04.1 だと環境変数やパスの違いから若干、修正が必要だったのでメモしておきます。

Ubuntu 16.04.1 の自動インストール .iso イメージを作る

以前に Ubuntu 15.10 の自動インストールイメージの作り方のメモを書きました。今回は 16.04.1 用にアップデートしたメモを残しておきます。

axel で CLI 上から分割ダウンロードする

CLI からのダウンロードには wget や curl を使うことが多いと思います。より高速なダウンロードツールに axel があります。axel は同時接続数を増やすことでダウンロードを高速化しますが、その分、サーバ側には負担をかけてしまうので不必要な多用には注意…

SSH ログインされたらメール通知する

SSH でログインされたらメールするように設定してみます。今回は CentOS7 に設定し、メール送信には Gmail アドレスを使いました。

「コメント行」と「空行」を除外するワンライナー

あるファイルから「コメント行」と「空行」を除外するワンライナーは以下のようになります。 grep -v -e '^\s*#' -e '^\s*$' FILENAME

Mozilla SSL Configuration Generator で Apache + mod_ssl の設定ファイルを生成する

Mozilla SSL Configuration Generator を使うと一般的な Web サーバの設定ファイルの SSL/TLS 設定を簡単に生成することが出来ます。QUALYS SSL LABS を使うと SSL/TLS 設定を評価(採点)することが出来ますので、Mozilla SSL Configuration Generator に生…

指定したドメインで使われているサーバ証明書の有効期間を調べる

あるドメインで使われているサーバ証明書の有効期間を調べるには openssl コマンドを使います。 サーバに SSL/TLS 接続する その出力結果のうち、証明書情報を解析する 更にその出力結果から、証明書の有効期間部分だけ抽出する

CentOS 7.2 に EPEL リポジトリを追加するには

EPEL について、EPEL の wiki ページ には以下のように記載されています。 エンタープライズ Linux 用の拡張パッケージ(EPEL) は、 Red Hat Enterprise Linux (RHEL) 向けの高品質なアドオンパッケージであり、CentOS や Scientific Linux (SL) のような RHE…

AWS で CentOS7 AMI のホスト名を固定化する

AWS の EC2 で CentOS7 の AMI からインスタンスを作成した場合、/etc/hostname を修正してホスト名を手動設定しても再起動する度に元に戻ってしまいます。具体的には以下のようなホスト名に戻ってしまうはずです。 [root@ip-172-30-1-1 ~]# これは CentOS7 …

tmpwatch で一定時間経過したファイルを削除する

一定時間以上経過しているファイルを削除したい、という場合は tmpwatch を使うと便利です。

httpoxy (CVE-2016-5385 等) を PoC 用 Docker イメージで検証してみる"

httpoxy 脆弱性について調べてみた内容を記載します。間違いがあったら指摘ウェルカムです。

Docker で SSL/TLS 化された BitBucket と ownCloud を簡単に構築する

GitBucket を使うと Git リポジトリを、ownCloud を使うと DropBox クローンを利用することが出来ます。「各々を構築する」ことは当然可能ですが、Docker コンテナを利用すると構築の手間を大幅に省けます。コンテナを利用することは一長一短ですが、「構築…

SSH 多段接続で三段先のサーバに接続する

SSH の ProxyCommand を使うと接続先サーバで自動的に指定コマンドを実行出来ます。これを利用することで「サーバ A に接続し、そこからサーバ B に接続する(二段接続)」ということが出来ます。更に、これを応用すると「サーバ A に接続し、そこからサーバ…

Let's Encrypt で無料のサーバ証明書を証明書を発行する(Certbot 編)

Let's Encrypt を使うと無料で SSL/TLS サーバ証明書を発行することが出来ます。Let's Encrypt を利用する際、以前は letsencrypt-auto というツールを使ったのですが、現在は certbot-auto というツールを使います。基本的な使い方はあまり変わらないのです…

openssl コマンドで SSL/TLS バージョンを指定した HTTPS 接続テストを実施する

openssl コマンドは様々なことが実行できますが、HTTPS の接続テストに使うことも出来ます。今回は openssl を使って SSL/TLS バージョンを明示的に指定した接続テストの方法をメモします。

EC2 上の CentOS7 から goofys で S3 をマウントする(IAM ロール利用編)

EC2 インスタンスから S3 バケットをマウントする手順として、以前に EC2 上の CentOS7 から S3 をマウントする(API 利用編)というメモを書きました。この方法ではアクセスキー/シークレットキーを EC2 インスタンスの中に保存しましたが、IAM ロールを使…

EC2 上の CentOS7 から goofys で S3 をマウントする(API 利用編)

goofys を使って AWS の EC2 上に作った CentOS7 から S3 をマウントするには以下のようにします。EC2 のインスタンスは「CentOS 7 (x86_64) - with Updates HVM (2016/02/26)」をベースにしました。今回は AWS の API を使ってマウントしていますが、IAM ロ…

macOS から Linux へ SSH ログインする際に LANG を送らない

macOS から Linux 等へ SSH する際、LANG 環境変数を渡して欲しく無い… という場合があります。こういった場合は macOS の /etc/ssh/ssh_config を下記のように変更します(SendEnv をコメントアウトします)。 変更前 (/etc/ssh/ssh_config から抜粋) # App…

curl を使って CLI から時ホストのグローバルアドレスを確認する

NAT 配下時にあるホストで、自ホストのグローバルアドレスを CLI から確認したい時は ifconfig のようなサービスが利用出来ます。具体的には curl を使って以下のように実行出来ます。 $ curl ifconfig.co 50.112.207.xxx wget でも「wget -O - http://ifcon…

Let's Encrypt で証明書を発行する (Ubuntu 16.04 + Apache)

Let's Encrypt を使うと無料で証明書を発行することが出来ます。今回は Ubuntu 16.04 + Apache 環境で Let's Encrypt で証明書を発行する手順をメモしておきます。

Ubuntu 16.04 へ ownCloud をインストールする

以前に Ubuntu 14.04.x へ ownCloud をインストールするというメモを書きました。Ubuntu 16.04 では同じ手順でインストール出来なかった為、Ubuntu 16.04 用の手順をメモしておきます。

bash で docker のサブコマンドやコンテナ ID を補完する

Ubuntu に Docker をインストールしたのですが補完が効いていなかった為、有効にしてみました。

Linux/macOS/Windows でのルーティング追加方法

複数の OS で検証をしていると、不意に「この OS のルーティング追加コマンドは何だっけ…?」となることがあります、、、ので、OS 毎のルーティング追加方法をメモしておきます。

Ubuntu でひとつの NIC に複数のアドレスを割り当てる

以前にOS X で NIC に複数の IP アドレスを割り当てるにはという記事を書きました。Ubuntu でひとつの NIC に複数の IP アドレスを割り当てるには /etc/network/interfaces を以下のように書きます。

IOS / Linux / OS X で便利なショートカット

ショートカットを上手に使うと効率が良くなり、生産性が向上します。Cisco IOS / Linux / OS X で便利なショートカットをメモしておきます。

Ubuntu Server 16.04 LTS 自動インストールイメージ

Ubuntu 16.04 が公開されたので、自分用に Server 版の自動インストール (Preseed) イメージを作成してみました。セキュリティには考慮していませんので別途、設定が必要です。 ubuntu-16.04-server-amd64-preseed.iso ubuntu-16.04-server-amd64-preseed.md…

ufw でよく使うコマンド一覧

Ubuntu ではファイアウォールの設定を簡単に行える ufw というコマンドがあります。今回は ufw でよく使うコマンドや設定例をメモしておきます。尚、今回は Ubuntu 16.04 環境で動作確認しました。

ファイルのチェックサムを計算する

ファイルのチェックサムを比較することで、ファイルの複製が正確に行われたのかをある程度の精度で確認することが出来ます (チェックサムが偶然一致する可能性がゼロでは無い為、「絶対」とは言えない為、「ある程度の精度」と表現しています)。例えば、時間…

Ubuntu 15.10 に Linuxbrew をインストールしてみる

OS X には Homebrew というパッケージマネージャがありますが、これを Linux に移植した Linuxbrew というソフトウェアがあります。Linuxbrew には以下のようなメリットがあります。 実行に root 権限が必要無い Linux と OS X (Mac) で同じパッケージマネー…

IOSv / XEv / XRv / Junos で BMP を試してみる

BMP とは「BGP Monitoring Protocol」のことで、現在は標準化に向けて IETF のドラフト段階 (draft-17) にあります。 BGP Monitoring Protocol (draft-ietf-grow-bmp-17) BMP サーバの実装はまだ数が少ないようですが、今回は ryu に付随する BMP サーバを I…

GoBGP の基本的な使い方

GoBGP は Go 言語で実装された BGP デーモンです。VIRL 上でネットワーク機器と組み合わせて使うと BGP の検証をする際に便利です。今回は簡単な使い方をメモしておきます。

Ubuntu 15.10 の自動インストール .iso イメージを作る

Ubuntu 15.10 の自動インストール .iso イメージを作成する手順をメモしておきます。セキュリティは一切、考慮していませんので、実際に利用する際は「ユーザ名やパスワードを変更する」等の対応が必要です。

VIRL 上で Ubuntu を使う

VIRL にはデフォルトで Ubuntu のイメージが登録されています。VIRL 1.0.26 だと Ubuntu 14.04.2 LTS が登録されていました。 cisco@server-1:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.2 LTS Rel…

ファイル名の拡張子を一括置換するには

bash 上でファイル名の拡張子を一括置換したい場合、以下のようなワンライナーで実行出来ます。例えば .txt を .json に一括置換したい場合はこのようになります。 for filename in *.txt; do mv $filename ${filename%.txt}.json; done

Ubuntu 14.04.x へ ownCloud をインストールする

Ubuntu 14.04.x へ ownCloud する手順をメモしておきます。

スクリプト中で実行しているコマンドを表示する

普通にシェルスクリプトを書くと実行結果のみが表示され、『実行しているコマンドそのもの』は表示されません。「試験結果のエビデンスとして、結果と共にコマンドも残したい」「スクリプトをデバッグしたい」といった場合は実行結果だけでなく、実行したコ…

RADIUS をテストするには

RADIUS サーバの構築後にテストを実施する際、「実際に RADIUS クライアントとして設定したネットワーク機器やサーバへ SSH ログインし、RADIUS サーバで上手く認証されるか?を確認する」ことは、もちろん可能です。しかし、他にも(実際のログイン処理では…