2. $ whoami • @icchyr • 某濃厚な大学のB3 • Activity • CTF (tuat_mcc, TokyoWesterns) • ICPC (nocow) など
0. はじめに 本記事は、Linuxを対象としたカーネルエクスプロイトの入門記事です。 カーネルエクスプロイトというのは、Linuxや*BSD、Windowsを始めとするカーネル自身の脆弱性を突くエクスプロイトです。 基本的にカーネルはシステム内で最高権限を持つ特権モードで動作しているので、ここを悪用されるとシステムの大部分(ほぼ全て)を掌握されてしまいます。 エクスプロイトと言うと、普通はユーザー空間で動作しているアプリケーションのバグをつく物が多いですが、これだと限られたレベルの権限しか奪えません。 SELinuxやjailを始めとする、OSレベルでの保護機構に阻まれるとたちまち効力を失ったりします。 しかし、カーネル自体の脆弱性をつくカーネルエクスプロイトを利用すると最高権限での任意コード実行が可能なため、大抵の保護機構はものともしません。 このカーネルエクスプロイトが特に効力を発揮
Netflixのパフォーマンスエンジニアである筆者からの、topコマンドなどで表示されるCPU使用率(%CPU)は、いまや本当の使用率を表しておらず、チューニングなどのための指標として使えないという指摘。なぜそうなってしまったのか、何を見れば本当のCPU使用率がわかるのかをわかりやすく解説した記事。 私たちみんながCPU使用率として使っている指標は非常に誤解を招くもので、この状況は毎年悪化しています。CPU使用率とは何でしょうか?プロセッサーがどのくらい忙しいか?違います。CPU使用率が表しているのはそれではありません。私が話しているのは、あちこちで、あらゆる人たちに、あらゆる監視製品で、あるいはtop(1)でも使われている、"%CPU"という指標のことです。 あなたの考えているであろうCPU使用率90% : 実際 : "stalled"(訳注 : 以下ストールと言う)とは、プロセッサーが
2. OSPN 本資料のライセンスについて • 本資料はクリエイティブコモンズの「表示 - 継承 4.0 国際 (CC BY-SA 4.0) 」でライセン スされています。 2 表示 — あなたは適切なクレジットを表示し、ライセンスへのリンク を提供し、変更があったらその旨を示さなければなりません。あな たはこれらを合理的などのような方法で行っても構いませんが、許 諾者があなたやあなたの利用行為を支持していると示唆するよう な方法は除きます。 継承 — もしあなたがこの資料をリミックスしたり、改変したり、加工 した場合には、あなたはあなたの貢献部分を元の作品と同じライセ ンスの下に頒布しなければなりません。 3. OSPN 本日の内容 コマンドを使ったLinuxシステム管理の勘所をデ モを交えて解説します • 管理者権限 • パッケージの管理 • サービスの起動、停止 • 公開鍵認証を使っ
主にアプリケーション開発者向けに、Linuxサーバ上の問題を調査するために、ウェブオペレーションエンジニアとして日常的にやっていることを紹介します。 とりあえず調べたことを羅列しているのではなく、本当に自分が現場で使っているものだけに情報を絞っています。 普段使っているけれども、アプリケーション開発者向きではないものはあえて省いています。 MySQLやNginxなど、個別のミドルウェアに限定したノウハウについては書いていません。 ログインしたらまず確認すること 他にログインしている人がいるか確認(w) サーバの稼働時間の確認 (uptime) プロセスツリーをみる (ps) NICやIPアドレスの確認 (ip) ファイルシステムの確認(df) 負荷状況確認 top iostat netstat / ss ログ調査 /var/log/messages or /var/log/syslog /
(※1): yumは都度更新 (※2): 削除済みパッケージも表示 サービス編 | CentOS | Ubuntu | 説明 | |:-------|:-------|:----| |chkconfig --list|ls -l /etc/rc*.d/ or sysv-rc-conf --list(※3)|自動起動設定確認| |chkconfig <SERVICE\> on|update-rc.d <SERVICE\> enable(※4)|自動起動有効化| |chkconfig <SERVICE\> off|update-rc.d <SERVICE\> disable|自動起動無効化| |chkconfig --add <SERVICE\>|insserv -d <SERVICE\>(※5)|自動起動サービス追加| |chkconfig --del <SERVICE\>|insserv
①anacondaの画面フロー変更。 ②GUIでのパッケージ選択を廃止 ③6.5➡7へのupgradeをサポート CentOS6.5➡7にupdateするには下記 CentOS6.5 ➡ Centos7にアップグレード eth0などはそのまま引き継がれる。 サービスは停止するもの(例えばntpなど)があったり、 6.5で動いてたものが正常に動作しなくなる可能性があるので、upgradeは推奨はしません。
こんにちは。今回はLinuxのシステム情報を入手するコマンド特集です。システムの設定やハードの情報を入手する際に役立ちそうなコマンド(というかCUI操作)を独断と偏見でピックアップします。ディストロやバージョンによって設定ファイルやコマンドは変化しますので注意してくださいね。(本記事のコマンドは2014年9月時点のものです) CPUやメモリの情報を調べる CUPの情報を得る $ cat /proc/cpuinfo 出力例 processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz stepping : 6 microcode : 0x60c cpu MHz : 800.000 cache size : 3072
先日「サーバーのセキュリティ設定がなにすればいいかわからない」と相談をうけまして。 自分も初心者の時どこまでやればいいかわからず手当たりしだいにやって沼に入っていたのを思い出しながら自鯖構築したときのメモを元にまとめてみました。 注意 セキュリティ対策は用途や場合などによって違います。 自分で理解したうえで自己責任でおねがいします。 対象読者 Linuxのサーバーを建て慣れていない人 Linuxはある程度さわれる人(自分でパッケージを入れたり、サービスを止めたりできる) ラインナップ ☆は導入の重要度と導入の容易さから個人的偏見からつけた値です。 4つ以上が"最低限やること"だと思ってください。 sshd
This document provides an overview and summary of key information about CentOS 7, including: - CentOS is a Linux distribution derived from Red Hat Enterprise Linux (RHEL) and provides a free, community-supported version of RHEL. - Details on how CentOS 7 is based on and compatible with RHEL 7 and supports common server configurations like LAMP stacks. - Information on installing and deploying Cent
シェルスクリプト入門として, 基本的な書き方をまとめました. 長いですが, 1ページにまとめてみました. 良かったら目次も参考にしてご覧になって下さい. 目次 シェルスクリプトとは 作り方, 実行の仕方 コメント ユーザーからのキーボード入力を受け付ける 変数 通常の変数 特別な変数 演算子 数値計算演算子 比較演算子 コマンドを繋げる演算子 条件文に使える比較演算子 条件文 制御構文(分岐) if文 case文 制御構文(ループ) for文 while文 until文 select文 文字列処理 文字列置換 削除 複数行のテキストの出力(ヒアドキュメント) 関数 シェルスクリプトとは シェルスクリプトとは, シェルの動作をまとめて記述したスクリプトのことです. 決められた文法にしたがって処理を記述することによって, シェルでの処理をまとめて行ったり, 作業を自動化できたりします(例 複数
今回は、Linuxが搭載されているハードウェアのパーツごと、例えばサウンドボードやマザーボード、ハードディスク等のベンダーや型番といった詳細情報を取得出来るコマンド『Inxi』を紹介する。 1.インストール まずはインストールから。 以下のコマンドを実行しインストールを行う。 Debian/Ubuntu sudo apt-get install inxi RHEL系 sudo yum install inxi --enablerepo=epel 2.コマンドの実行 さて、それでは実際にコマンドを実行してみよう。まずはオプションを付けず、デフォルトの内容を表示してみる。 以下の内容は、実際に自宅で用いてるマシンのデータを表示している。 $ inxi CPU~Quad core Intel Core2 Quad Q9550 (-MCP-) clocked at 2833 Mhz Kernel~
今日は超小ネタ。 (というか、言いたいことは記事タイトルで言い切ってしまってます。) 先日、家でサーバーとして使っているPCのHDDの調子がおかしくなっていたので、データの引き上げを行おうとしたのですが、dd でパラメータをいろいろ設定するのは面倒だし、良いツールなりスクリプトなりがないかと探したところ、ddrescue というプログラムがあることを知りました。 2つの ddrescue ただ、ちょっとした罠なのですが、ddrescure という名前のプログラムは2種類あります。 http://www.garloff.de/kurt/linux/ddrescue/ http://www.gnu.org/software/ddrescue/ どちらも ddrescue で、同じ目的・機能のものですが、まったく別のソフトです。 区別して呼ぶ場合、前者は dd_rescue、後者は GNU dd
dd(dataset definition)はハードディスクなどのデータのバックアップコマンドです。 前回はDVDのイメージををダンプするのに dd コマンドを使用しましたが他にもいろいろ使えます。 使用方法:dd コマンドによるバックアップ基本的な使い方はif:コピー元デバイス(Ex /dev/sda)of:コピー先デバイス(Ex /dev/sdb)を指定するだけです。 コピー元とコピー先のハードディスクは同容量である必要があります。 コピー先ハードディスクの容量が大きい場合、残った領域は空領域となります。 $ dd if=コピー元 of=コピー先 ケース1:ハードディスクのコピー $ dd if=/dev/sda of=/dev/sdb bs=512 conv=noerror,sync bs オプションは一度にコピーするデータのバイト数です。大きい値の方がコピーは早くなりますが、不良セ
とりとめもなく書いてみる。主にルーキー向けです。 サーバの運用とかやっていると、不定期ではあるが、たまにタイトルのようなディスク容量が逼迫する話題に直面します。 まぁ、それが起こるのは一旦良いとして、みんなこういう時、どうやって調べているのだろう? とりあえず、僕がどうやってるか書いてみます。 何はともあれ現状確認 みんな大好き"df"コマンドです。細かい説明は省きますが、各パーティション・ファイルシステムごとにディスクの使用状況を確認。 # df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/sda3 130G 88G 36G 72% / /dev/sda1 494M 23M 447M 5% /boot tmpfs 12G 0 12G 0% /dev/shm正確とは言いませんが、だいたいどのパーティションにどのくらい容量が空いているかが確認できます。 ど
こんにちは、牧野です。久々の、9か月以上ぶりのブログです。。 仕事では、ここ1年近くずっっとインフラ関係のことをやっていました。 今日は、SSHに関するTIPSを紹介します。 1. 特定のサーバーにSSHログインする時に、特定の設定を使用する ホームディレクトリ/.ssh/configファイルに設定を書いておくと、特定のサーバーにログインする時に、自動的に特定の設定を使うようにできます。 SSHのオプションをサーバーによって分けたい時に入力が楽になります。 以下は、xxx.yyy.zzz.aaaでアクセスする時に使う秘密鍵をid_rsa_testに設定しています。 .ssh/config Host xxx.yyy.zzz.aaa IdentityFile /home/asial/.ssh/id_rsa_test 2. ホストキーをチェックしないようにする LinuxからサーバーにSSH接続
dstat という vmstat, iostat, netstat, nfsstat, ifstat 用の置き換えとして使える多機能ツールがあることを知ったので、CentOS でさっそく試してみました。 まず、インストール方法ですが、公式に dstat パッケージが提供されているので yum 一発でインストールすることができます。 $ sudo yum install dstat /usr/bin/dstat にインストールされます。 dsat は多機能ツールですが、使い方は dstat –help するとたくさん表示されます。 まず、オプションを指定しないで実行してみます。 $ /usr/bin/dstat —-total-cpu-usage—- -dsk/total- -net/total- —paging– —system– usr sys idl wai hiq siq| read
今までは、「kill すればプロセスは終了する」って思ってたので、例えば、以下のようなコマンドでデーモンプロセスが終了しないのを不思議に思ってた。 $ kill [デーモンのプロセス番号] (いや、man 読んどけよって話なんですが・・・) kill で終了させられない例 例として、rails のデフォルトのweb サーバであるwebrick $ ruby script/server webrick -d $ ps ax | grep ruby 518 ?? S 0:00.00 ruby script/server webrick -d $ kill 518 $ ps ax | grep ruby 518 ?? S 0:00.00 ruby script/server webrick -d kill したのに終了してねー(⊃д⊂) 今までやってた対処法 $ kill -KILL 518 こ
自分は Linux サーバを Time Machine のバックアップ先として利用しているのですが、OS X Lion にしてから、SMB経由での「Time Machine」バックアップ機能が使えなくなってしまいました。Sambaが独自開発のものに置き換えられてしまったのも影響していると思うんですが、不便なのでLinuxサーバにAFP経由でバックアップできるように設定しました。 なお、自分の環境は CentOS 5.6 なのでソースからインストールしましたが、超最新なディストリビューションの場合はパッケージを使って楽できるかもしれません。 手順を以下に示します。 (1)コンパイルに必要なライブラリをインストール % sudo yum install avahi-devel libgcrypt-devel openssl-devel (2)Oracle Berkeley DB をインストール
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く