分散システムのFault Injectionの話 NTTデータテクノロジーカンファレンス2017で発表する際に用いたプレゼン資料 https://oss.nttdata.com/hadoop/event/201710/index.html
![現場で役に立たないsudoの使い方](https://cdn-ak-scissors.b.st-hatena.com/image/square/5398f9198ae8b32be94561daf0ee977d926471a6/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fsudo-130628070047-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
iptables設定の再調整を行う iptablesを設定して日本のIPだけを許可するでしばらく運用していましたが、日々監視を行っていて、都度気になるものは調整しており、そのやったことを纏めておこうと思います。 mod_evasiveをインストールしていたので、その条件にひっかかっていたIPアドレスが8個ありました。 # cd /var/log/mod_evasive # ls -lrt -rw-r--r-- 1 apache apache 5 Mar 29 05:51 dos-142.4.114.13 -rw-r--r-- 1 apache apache 5 Mar 29 07:37 dos-199.192.152.154 -rw-r--r-- 1 apache apache 5 Mar 29 07:58 dos-199.192.159.229 -rw-r--r-- 1 apache a
一台のLinuxマシンに同一ネットワークの複数IPアドレスを割り当てる際には注意が必要。[Linux] 同一ネットワークの複数IPアドレスを割り当てる際の注意点 一台のLinuxマシンに同一ネットワークの複数IPアドレスを割り当てる際には注意が必要。 ARP応答に関する問題 LinuxカーネルのARPに関する仕様が以下のようになっているため。 LinuxではIPスタックの処理をカーネルが担当しているが、ARP解決要求に対する返答は以下のロジックとなっている。 クライアントからARP解決要求のブロードキャストを受信 カーネルは自身の持つIPアドレスとマッチするかを検査 ARP解決要求を受信したインタフェースのMACアドレスをARP応答として返す。 2において、このときIPアドレスがどのインタフェースにバインドされているかは特に関係が無い。 これにより、同一ネットワーク(同一ブロードキャストド
サーバ間でファイルを同期する必要があり、rsyncを使うことにしました。サーバAからサーバBへファイルを定期的に送りつけます。サーバAは他サーバ間ですでにrsyncの動作実績があります。サーバBにrsyncをインストールして動かすとエラーになりました。 bash-2.05$ /usr/local/bin/rsync -auvz -e /usr/local/bin/ssh --delete --rsync-path=/usr/local/bin/rsync /export/hoge/files/* hoge@mail:/usr/local/files ld.so.1: /usr/local/bin/rsync: fatal: libiconv.so.2: open failed: No such file or directory rsync: connection unexpectedly
Postfix main.cf ファイルフォーマット Postfix main.cf 設定ファイルには、Postfixメールシステムの動作を制御する全てのパラメータのうち、小さなサブセットを指定します。main.cf で指定されていないパラメータは、そのデフォルト値のまま残されます。 main.cf ファイルの一般的な書式は以下の通りです: それぞれの論理行は "parameter = value" の形式を取ります。"=" の前後の空白は無視されます。また論理行の最後の空白も同様です。 空行と空白だけの行は無視されます。また、最初の非空白文字が `#' の行も同様です。 論理行は空白以外のテキストで始まります。空白で始まる行は論理行を継続します。 パラメータの値は他のパラメータを参照することができます。 "$name" や "${name}"、"$(name)" という表記は指定されたパ
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでのApache2.2系以前でのアクセス制御の書き方は賛否両論でした。僕はあまり好きじゃありませんでした。 過去のアクセス制御に関しては、以下の記事がとてもわかりやすくまとめられていると思います。 こせきの技術日記 – Apacheのアクセス制御をちゃんと理解する。 ここで、以下のように言及されています。 こんなバッドノウハウ、本当はどうでもいいと思う。Apache 3.0では、かっこいいDSL(VCL)で書けるようにする構想があるらしいのでがんばってほしい。 ということで、2.4系ではDSLとはいかないまでも、Require*というディレクティブを使ったモダンな書き方ができるようになったので、それを2.2系以前のアクセス制御の記述と比
コーデックのコンパイルは前の記事を参考に。x264はこっち。 最初は前と同じようにAMR-NBとAMR-WBを使おうとしたけど、FFMpegのConfigureオプションから無くなっている(これらを使うとライセンス的に再配布できない)。代わりに --enable-libopencore-amrnb --enable-libopencore-amrwb を使う。freeのopencore-amrを使うようになったらしい。これを指定してconfigureすると、 libopencore_amrnb is version3 and --enable-version3 is not specified. と怒られる。 ここで気づいた。GPLv2とApache License V2.0は共存できないらしい(GPLv3は共存できる)。詳細はこちら。 どうやらopencore-amrがApache Li
参考. http://www.typemiss.net/blog/kounoike/20060202-61 http://d.hatena.ne.jp/babie/20060201/p3 http://yutuki.blogspot.com/2007/08/apache-maxclients.html http://d.hatena.ne.jp/hideden/20080409/1207740439 わけあってMaxClientsの設定を色々調べました。初っ端から言い訳ですが勉強中なので、あまり鵜呑みにしないでください。 追記 topのSHRの項目が共有メモリサイズだと思ってたけど、naoyaさんのblogによると違うらしい。 http://d.hatena.ne.jp/naoya/20080212/1202830671 なので↓に出てくるtopのSHMを使っている計算は間違ってる模様。同
shellを作ってみる Webサーバを立ち上げる機会が増えてきたので、事前にできる限りの対策はやっておこうと思い、国単位でのアクセス制御をやってみたので自分用のメモとして残します。 世界の国別IPv4アドレス割り当てリストが公開されていますのでその情報を活用させてもらうことにします。 動作させた環境はAWS Amazon Linuxです。 ※あくまでも以下はサンプルのシェルなので、適用する場合は自己責任でお願いします。自身すら入れなくなる可能性もあるのでご注意を。 #!/bin/sh IPLIST=cidr.txt # 初期化をする iptables -F # Flush iptables -X # Reset #iptables -P INPUT DROP # 受信はすべて破棄 iptables -P OUTPUT ACCEPT # 送信はすべて許可 iptables -P FORWAR
IMAP関数でPOP3 ここにある情報はかなり古くなっており、正しくなくなっている可能性があります。掲載しているサンプルコードiなどは、最新のPHPでは動作しない、もしくは、別途設定・調整が必要になるかも知れません。情報を鵜呑みにせず、あなたの手を動かして、あなたの目で確認してください。 PHP3の頃にもやったネタですが、PHP4用に焼き直しました。 PHPにはIMAP(Internet Message Access Protocol)用の関数が用意されていますが、PHPマニュアルにもあるようにPOP3・NNTPも使用できます。 IMAP関数を動作させるには、UW IMAPが必要となります。また、PHPのコンパイル時にCクライアントライブラリが必要となります。UW IMAPの最新版(2002/10/14時点でimap-2002.RC7)はftp://ftp.cac.washington
postfixではデフォルトの設定だと以下のようにローカルマシンから送信したメー ルヘッダにローカルIPが記載されてしまいあまり気持ちいいものではありません。 Received: from mail.example.com [21*.10*.21*.5*] Received: from localhost (localhost [127.0.0.1]) Received: from foohost (foohost [192.168.0.15]) メール送受信時にヘッダーをチェックすることによりこれらのアドレスが含まれて いる場合その行のみを削除する設定をする。 /usr/local/etc/postfix/main.cf に以下を追加 header_checks = regexp:/usr/local/etc/postfix/header_checks /usr/local/etc/po
FreeBSD上で、Postfixをフロントエンドに設置し、内部でqmailとvpopqmailを動かして、Dovecotにpop3sやimapsでvpopmailユーザ認証ベースで受信してSMTP-AUTHの認証までをさせてIPv6る方法の一つです。 vopomailのvdelivermailをPostfixから呼び出す方法1)や、Dovecotのdeliverを呼び出す方法もあるようですが、私は諸般の事情2)からqmailをバックエンドに配送デーモンとして残す方法を選択しました。 ものすごく長い説明となっていますが、設定の参考値が多いだけで手順は以下のような流れになっています。 ファイル入手 → 展開 → コンパイル → インストール → 設定 → 起動 → 確認 この流れをそれぞれのソフト及び順番が絡んでくるため非常に長くなっていますが、基本形は上記のとおりです。 インストールおよび
MySQLのインストール方法が進化していた! - sakaikの日々雑感〜(T)編 http://d.hatena.ne.jp/sakaik/20130205/mysql5_6_install こちらの記事を読んだら使ってみたくなったので、 MySQL 5.6 を CentOS 6.3(x86_64) にインストールしてみました。 手順もほぼ上記記事と同じです。 CentOS 6 なので以下のように yum に RPM ファイルの URL を直接指定してインストールできます。 # yum install http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-client-5.6.10-1.el6.x86_64.rpm \ http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/
今までデータの確認はphpMyAdminばっかり使ってたので、知らなかったことメモ。 mysql> show table status;とかすると、列数が多すぎて行が折り返し表示されて見づらい。 http://dev.mysql.com/doc/refman/4.1/ja/mysql.html に書いている mysql> pager less -n -i -Sとすると、出力結果を折り返しせずにlessで見れる。カーソルキーで左右の移動ができてすごく便利。 ちなみに n 行数計算をせずに高速化。 i 検索時に大文字・小文字の区別をしない。 S 折り返ししない。 あと、これは前から知ってたけど mysql> show table status\G\Gをつけると縦表示。
サーバーへの攻撃とは ファイアウォールで公開しているポートに対して攻撃を受けたかどうか、みなさんはどのように判断していますでしょうか?実際のところ、たまにログを目視チェックしていれば良い方だと思います。実際のところ、攻撃されたことにも気付かず。。。そこで、今回は、連続して攻撃を受け"そうに"なった場合に、アクセス自体をブロックする方法をご紹介します。 DoS/DDoS攻撃とは DoS(Denial of Service:サービス妨害)攻撃は、正常なサービスの運営を妨害する攻撃です。F5キーを押し続けて大量のリクエストをし続けてサーバーをパンクさせるとか、考えられる全てのパスワードをチャレンジする総当り攻撃などとても怖いです。また、単一のクライアントからの攻撃だけでなく、トロイの木馬で感染させられた大量の端末を用いて総攻撃を掛けるDDoS(Distributed Denial of Serv
こんにちは。CTOの馬場です。 ハートビーツからお届けする技術情報の初回シリーズの、Nagiosについての第3回です。 今回は、Nagiosの監視プラグインについてご紹介します。 独自に作るのも簡単にできるんですが、まずはaptでインストールできるものを一通りご紹介します。これだけでもかなりの量があるので、さっと試す分には十分だと思います。 すべて、/usr/lib/nagios/plugins/に配置されます。 いずれのコマンドも、たいがい-hオプションをつけてコマンドラインで実行するとUsageが表示されるので、困ったらやってみましょう。 nagios-plugins-basic check_apt - apt(apt-getのapt)でエラーがないか、更新すべきファイルが残っていないか確認します。チェックに少し時間がかかるので、あまりに頻繁にチェックすると問題になるかもしれません c
odz buffer - プロセスが開いているファイルを確認する ls -l /proc/`pgrep -n java`/fd lsofでも調べられます。 lsof - list open files lsof うにょうにょと結果が出てきます。が、多すぎて訳わからん。 -pオプションでプロセスID指定 ### プロセスID指定 lsof -p 12345 ### バッククォート使うとこんな感じ lsof -p `pgrep -n java` -cオプションでプロセス名指定 lsof -c java -uオプションでユーザ指定 lsof -u hoge -iオプション [@IPアドレス:ポート番号] listenしてるポートを出力。指定したポートのみ表示することもできる。 lsof -i # Listenしてるのずらずら表示 lsof -i :22 # ssh lsof -i :22,80
普段Webサーバを運用していて、めんどくさいトラブルのひとつに「Segmentation fault」があります。 あれー?なんか500エラーがでるなーなんて思ってログを見るとSegmentation faultになってるときは死にたくなります。 そもそもSegmentation faultはメモリ上にあるデータに対して不正が行われたときに起こるもので、 インフラエンジニアにとってはなかなか手がだせないところでもあります。 それでもなんとかして治さないといけないわけなので せめてどのプログラムが悪さしてるかどうかぐらいは調べ上げてみます。 apacheでのログ apache + mod_perl での環境です。 こんな感じでエラーがでます。 #tail error_log [notice] child pid 26028 exit signal Segmentation fault (11
rsyncの基本的な使い方を覚えましょう。 昔、WinSCPでLinuxサーバーからLinuxサーバーへ転送しているのを見たことがあった。WinSCPでWindows経由してたわけです。それをみて「Rsync使わないの?」「よく解りませんし、前にグチャグチャになったことがあるので」と答えが返ってきてヘナっとなった。「SCPの方が確実ですよ」と言われたこともある。まぁそうなんだけど。 WinSCPでなんてやってないでさ、Rsyncでパパットできるようになりませんか。Winscpでサーバー間の同期が出来ないので、ローカルのWindows経由は止めましょう。転送待ちですとか言わないようにしよう。 rsyncの特徴 更新されたファイルだけを転送できる Gzipで圧縮転送が可能 使ってないファイルを消せる。 切れても途中から再開できる 転送再開ができるのがcp /scp転送と大きく違うところでしょう
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く