全12件 (12件中 1-12件目)
1
FHS:The File System Hierarchy StandardはLinuxにおける、ディレクトリツリーの標準規格。主要なディレクトリと使われた方についてまとめる。/binコマンド(プログラム)を配置するディレクトリ。/binには、起動に必要な基本コマンドがあり、/usr/binには一般ユーザ向けのコマンドが配置されている。/sbin管理者用のコマンド配置ディレクトリ。/usr複数のマシンで共有可能なファイルを配置するディレクトリ。本来は学校や企業などで、自分の使用するファイルをマシンごとに入れるのではなく、管理用マシンの/usrディレクトリを他のマシンの/usrにマウントするような使い方をしている。/usr/loaclに関しては管理者が異なる。/usrはディストリビューションなどで管理しているが、/usr/localはマシンの管理者に管理責任がある。そのため、ディストリビューションの管理者は/usr/localを触るべきではないし、逆に端末の管理者もむやみに/usrをいじるべきではない。ちなみに、語源はUser Services and Routineの略。/var頻繁に書き換えられるファイルが置かれる。/etc設定ファイルのディレクトリ。/procProcess File Systemがマウントされる。/proc配下の数字ディレクトリは、各プロセスIDを示しており、そのディレクトリ配下にプロセスの情報が配置される。/tmp一時ファイルの置き場所。再起動などで消える可能性がある。
2019年01月27日
コメント(0)

COWRIEのアクセス傾向まとめ 対象期間 2019年1月7日〜2019年1月13日アカウントの試行件数総計:985件送信元IP(TOP10)試行アカウントコメント1位にあるsupport/supportについては、なんのアカウントかわからなかった。「admin」アカウントは狙われやすいということが今回の結果からわかった。
2019年01月23日
コメント(0)
Dockerを使ってみた。その前にDockerのイメージについて整理する。Dockerはいろいろな環境をすぐにセットアップできることが利点となる。コンテナのもととなるデータはDockerイメージといい、自分で作成するか、DockerHUB(https://hub.docker.com)から取得することができる。Dockerイメージを管理するサイトのことをDockerレジストリという。基本的な使い方は以下の通り。1.Dockerイメージを取得する2.Dockerイメーからコンテナを生成する1つのDockerイメージから複数のコンテナを生成することができる。また、コンテナでどんな操作をしてもDockerイメージは変更されない。ただし、変更を加えたコンテナから新しいDockerイメージを作成し、Dockerレジストリに登録することができる。実際に使ってみる。1.Ubuntu 17.10のDockerイメージを取得$ docker pull ubuntu:17.102.ダウンロードしたDockerイメージを確認$ docker images3.コンテナ起動(+テストコマンド実行、cat)$ docker run ubuntu:17.10 cat /etc/lsb-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=17.10DISTRIB_CODENAME=artfulDISTRIB_DESCRIPTION="Ubuntu 17.10"※この方法で起動したコンテナはコマンド実行後に終了する。4.起動中のコンテナの確認$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES※過去に起動していたコンテナの情報も含めて確認$ docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES48347dc410a5 ubuntu:17.10 "cat /etc/lsb-release" 3 minutes ago Exited (0) 3 minutes ago vibrant_goldberg※コンテナの削除は以下のコマンド$ docker rm 48347dc410a5・・・コンテナID5.コンテナ内で作業する$ docker run -it --name containername ubuntu:17.10 /bin/bashroot@f822dc8d65f8:/# 「containername」という名前でコンテナを起動した例docker runのオプション-itコンテナのプロセスにttyを割り当てる。-dコンテナをバックグラウンドで実行する。–name作成するコンテナに名前をつけるオプション。また、実行中のコンテナ環境において、Ctrl+P+Qを実行することで、一時的にコンテナ環境を抜け出し、ホストのコンソールに戻れる。コンテナ環境はバックグラウンドで稼働している。復帰する場合は、docker attache コンテナ名※コンテナの名前はホストのコンソールでdocker psで確認可能6.コンテナの終了root@f822dc8d65f8:/# exit7.DockerでWordPressを実行する・WordPressとMariaDBのイメージを取得$ docker pull wordpress$ docker pull mariadb・WordPress用のコンテナ起動$ docker run --name mariadb -e MYSQL_ROOT_PASSWORD=p@sSw0rd -d mariadb$ docker run --name wordpress --link mariadb:mysql -p 80:80 wordpress上記実行後、http://127.0.0.1/wordpressで接続するとWordPressの画面が表示される。※主に5のあとに続く内容8.Dockerコンテナの停止Dockerコンテナは以下のコマンドで停止が可能docker stop コンテナ名停止中のコンテナを含む、コンテナの一覧の確認は以下のコマンドdocker ps -a上記コマンドで、コンテナ名を確認した後、復帰する場合は以下のコマンドを実行docker start コンテナ名なお、停止中のコンテナはホストが再起動しても影響はないので、再起動後にも接続することが可能。9.Dockerコンテナの削除停止中のコンテナに対して、以下のコマンドを実行することでコンテナを削除できる。docker rm コンテナ名10.DockerイメージをDockerHUBにアップロード10.1DockerHUBにアカウント登録、以下のサイトで「Sign Up」より、アカウントを登録する。https://hub.docker.com/また、サイト内の「Repositories」よりリポジトリを作成する。10.2Dockerイメージを登録(ローカル)停止中のコンテナに対して以下のコマンドを実行ユーザ名等は、10.1で登録した情報を入力docker commit コンテナ名 DockerHUBのユーザ名/リポジトリ名:タグ10.3DockerHUBにログイン以下のコマンドでログインdocker login10.4イメージをアップロード以下のコマンドでイメージをアップロードdocker push ユーザ名/リポジトリ名:タグ
2019年01月21日
コメント(0)
UbuntuにDockerを入れてみた1.デフォルトのDockerを削除する(念の為)$ sudo apt remove docker.ioパッケージリストを読み込んでいます... 完了依存関係ツリーを作成しています 状態情報を読み取っています... 完了パッケージ 'docker.io' はインストールされていないため削除もされませんアップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 33 個。2.Dockerのインストールに必要なパッケージをインストールする$ sudo apt install apt-transport-https ca-certificates curl software-properties-common3.DockerリポジトリのGPGキーをインストールする$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -OK4.Dockerリポジトリを追加する$ sudo add-apt-repository \> "deb [arch=amd64] https://download.docker.com/linux/ubuntu \> $(lsb_release -cs) \> stable"5.パッケージのインデックスを更新$ sudo apt update6.Dockerインストール$ sudo apt-get install docker-ce7.Dockerのバージョン確認$ sudo docker version Client: Version: 18.09.1 API version: 1.39 Go version: go1.10.6 Git commit: 4c52b90 Built: Wed Jan 9 19:35:31 2019 OS/Arch: linux/amd64 Experimental: falseServer: Docker Engine - Community Engine: Version: 18.09.1 API version: 1.39 (minimum version 1.12) Go version: go1.10.6 Git commit: 4c52b90 Built: Wed Jan 9 19:02:44 2019 OS/Arch: linux/amd64 Experimental: false8.カレントユーザをDockerグループに追加→sudoをつけずにDockerコマンドを利用するため$ sudo usermod -aG docker $USER
2019年01月21日
コメント(0)
![]()
Lenovo Think Pad X260のメモリを増設した話。メモリ入れ替えの概要もとの動作環境はメモリが4GBでWindows 10が動作している。ただ、ChromeでWebページをいくつか見ていると動作が重くなり、使い物にならない状態になっていた。。。今回は、メモリを4GB→16GBに増設した。新規購入したメモリ(下)Transcend 増設メモリー 16GB ノートPC用 DDR4-2133 PC4-17000 SO-DIMM【店内全品ポイント5倍〜1/16(水)1:59まで】Transcend 増設メモリー 16GB ノートPC用 DDR4-2133 PC4-17000 SO-DIMM PCメモリ メモリーモジュール[TS2GSH64V1B] 【ネコポス対応】【楽天BOX受取対象商品】【送料無料】価格:21800円(税込、送料無料) (2019/1/14時点)楽天で購入メモリ入れ替え作業Lenovoの場合、内蔵バッテリが―あるため、一番最初に機能を無効化した。手順1.パソコン起動時F1を押下してBIOSのメニューを表示2.「Config」―「Power」内の「Disable Built-in Battery」を選択し、Enter3.「System will be powered down if you select [Yes].Do you want to proceed?」と聞かれるので、「Yes」を選択し、Enter4.そのままPCの電源が落ちるので、背面のバッテリーを外し、ネジを緩めてメモリを換装※3.の操作についてはメモリ換装後も特にいじっていない。入れ替えた後の動作起動時間等はあまり変わった様子はないが、普通に使っている分にはかなり快適になった。とりあえず、Web見ていても動作の遅さを感じることはなくなった。また、これまで4GBで動作していたためか、EdgeブラウザではWindows Defender Application Guardが利用できなかったが、メモリの換装後、EdgeにWindows Defender Application Guardのメニューが表示されるようになった。ちなみに、Windows Defender Application Guardのハードウェア要件だと、メモリは最低8GBとされている。Windows Defender Application Guard のシステム要件
2019年01月14日
コメント(0)
自分の中で検索用のコマンドが整理できていなかったので整理してみた。findfindはファイルやディれく鳥を検索するコマンドlocatelocateコマンドは、あらかじめ検索しておいたファイルやディレクトリのリストのデータベースを検索することで、高速な検索を行うことができる。高速化のため、名前のみを検索対象とするので、findコマンドのようなユーザーや容量での検索はできない。whichwhichコマンドは、コマンドのフルパスを表示するコマンドプロンプト# which lsalias ls='ls --color=auto' /usr/bin/ls・・・コマンドのフルパスwhereiswhereisもwhich同様にコマンド検索するコマンドプロンプト# whereis lsls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz*使い分けがよくわからなかった。。。
2019年01月14日
コメント(0)

COWRIEのアクセス傾向まとめ対象期間2019年1月4日〜2019年1月6日アカウントの試行件数総計:306件送信元IP(TOP10)試行アカウントコメント無線LANのAerohiveに対するアカウントの試行が検知されていた。送信元のIPアドレスも特定のアドレスではなく、複数アドレスから行われていた。
2019年01月12日
コメント(0)
シェルに表示されるプロンプトの見方についてmoomin@valley:~$:「valley」というマシンの「moomin」というユーザという意味。グループの一覧を確認・cat /etc/groupグループの新規作成sudo groupadd friend※「friend」は新規作成のグループ名※管理者権限で実行する。「/etc/group」はrootの所有ファイルのため、sudoで実行。※権限の確認moomin@valley:~$ ls -al /etc/ | grep group-rw-r--r-- 1 root root 964 1月 6 17:38 group※1つめの「root」はユーザ名、2つ目の「root」はグループ名グループにメンバーを追加・解除を行うusermodコマンドを使用する。moomin@valley:~$ groups moominmoomin : moomin adm cdrom sudo dip plugdev lpadmin sambashare※デフォルトはメイングループ「moomin」に所属する。ユーザ名と同じ名前のグループ。moomin@valley:~$ sudo usermod -g friend moomin※メイングループを「moomin」から「friend」に変更「-g」はメイングループの変更、「-G」はサブグループの変更moomin@valley:~$ groups moominmoomin : friend adm cdrom sudo dip plugdev lpadmin sambasharemoomin@valley:~$ id moomin uid=1000(moomin) gid=1002(friend) groups=1002(friend),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)グループに所属するメンバーの一覧を取得moomin@valley:~$ getent group moomin moomin:x:1000:グループの削除moomin@valley:~$ sudo groupdel moomin※「moomin」はグループ名
2019年01月06日
コメント(0)

コンテナとは、実行環境が分離されたユーザ空間のことサーバの仮想化技術には以下の方式がある。コンテナ型仮想化の技術について調べてみた。・VM型仮想化VMwareやAmazonEC2等のように、ハードウェアやファームウェアまでまとめて仮想化する技術。そのため、ホストマシン上で別のOSのゲストマシンが動かせる。・コンテナ型仮想化アプリケーションが動く動作環境(実行環境)をそのまま仮想化(イメージ化)する技術で、開発環境で作成したマシンを本番環境でデプロイする際に、動作できない等の問題を解決するために作られた技術。ハードウェアやファームウェアまでは丸ごと仮想化しないため、ゲストOSはホストマシンと同じである必要がある。Docker for WindowsでもHyper-V上にLinuxを立て、そのマシン上でコンテナを作成している。コンテナにおけるセキュリティについてコンテナに関するセキュリティは以下のようなものがある。・カーネルのセキュリティコンテナでは、ホストのカーネルを共用する。以下の機能に脆弱性がある場合は、セキュリティの問題になる場合がある。NamespacesLinuxのnamespaceは、リソースを区切って、 あたかもそれだけしか存在しないように見せるためのもの。具体的には、mount、UTS、IPC、PID、ネットワークおよびユーザの6つが対象となるリソース。各プロセスのnamespaceは、/proc/プロセスID/ns/ を以下のように見ることで確認できる。cgroupscgroups (control groups) は、プロセスグループのリソース(CPU、メモリ、ディスクI/Oなど)の利用を制限・隔離するLinuxカーネルの機能。・Dockerデーモンデーモンを操作できるユーザの制限(APIの公開など)信頼できるイメージを利用する・コンテナの設定rootユーザを避けるセキュリティチェックツールコンテナの設定に関してチェックするようなツールも公開されている。https://github.com/docker/docker-bench-security参考にしたサイトhttps://rest-term.com/archives/3287/http://www.usupi.org/sysad/260.htmlhttps://www.kaitoy.xyz/2016/07/31/docker-for-windows/http://www.atmarkit.co.jp/ait/articles/1609/01/news053.htmlhttp://www.atmarkit.co.jp/ait/articles/1610/24/news014.html
2019年01月05日
コメント(0)
![]()
Google Cloud Platformについて調べてみたメモ。GCPに出てくる用語を整理する。コンピュートサービス1.Google App EnginePaaSに分類するもので、プログラミング言語を使ってGoogle上で動くWebアプリを作れる。2.Google Compute EngineIaaSに分類するもので、EC2みたいなもの。(AWSのEC2に相当)3.Google Container Engineコンテナサービス(AWSのEC2 Container Seviceに相当)GCEではDockerコンテナを動かすための実行環境を提供する。実体はKubernetesと呼ばれる、コンテナ管理のオープンソース。通常、Dockerの実行環境は一台のホスト内で完結しており、スケールアウト(アプリケーションに負荷が集中した場合、アプリケーションを複数にすること)の際のホスト間の通信が煩雑になる。(NAT等、ネットワーク的な処理が必要)上記問題を解決するのがKubernetesで、Kubernetesでは複数台のホストから構成される実行環境を一台の実行環境のように扱うことができる。PodPodはVolumeという記憶領域を共有するコンテナの集まりで、Volumeの他には一つのIPアドレスを共有している。PodはKubernetes上でホストに相当する単位。Podには、Dockerコンテナなどが1つ以上含まれているが、一般に、単一のポッドで複数のコンテナを実行するのは、高度なユースケースとなる。つまり、一般的には1Pod=1コンテナ。ノードコンテナクラスタには、通常 1 つ以上のノードがある。ノードはコンテナ化されたアプリケーションや他のワークロードを実行するマシン。個々のマシンは Compute Engine VM インスタンスであり、これらのインスタンスは、クラスタを作成すると Kubernetes Engine によって自動的に作成される。https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture?hl=jaPodとノードの関係(編集中)https://nownabe.github.io/kubernetes-doc/tutorials/kubernetes_basics/3_explore_your_app.htmlノードプールノードプールは、クラスタ内でKubernetesを実行している独立したインスタンスグループ。複数のゾーンにノードプールを追加して可用性を高めたり、さまざまなタイプのマシンで構成されたノードプールを追加できる。参考https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools?hl=ja&_ga=2.165154617.-746441974.1545043291Container RegistryDockerイメージの管理サービスhttps://cloud.google.com/container-registry/docs/managing?hl=jaストレージサービス1.Google Cloud Storage(AWSのS3に相当)クラウドのストレージサービス2.Google Cloud SQLGCP上で動くMySQLサービス。バックアップなどの管理はGCP側が行う。(AWSのRDSに相当。ただし、RDSは各種RDBMSに対応しているが、GoogleではMySQLのみに対応)3.Google Cloud DatastoreNoSQLデータベースサービス。そのほかのサービス(抜粋)1.Google Cloud EndpointGoogle App EngineのAPIを利用するためのライブラリのようなもの。らしい。2.Google Cloud DNSDNSサーバのサービスで、コンソールからDNSサーバの設定ができる。カスタムドメインの場合、他でドメインを取得して、Google Cloud DNSで設定をするということが可能。(AWSのRoute53に相当)ネットワーク1.ロードバランシングネットワークロードバランシングとHTTP/HTTPSロードバランシングの2種類が提供されている。ネットワークロードバランシングは、リージョン内のTCP/UDPを負荷分散、HTTP/HTTPSロードバランシングはグローバルに対してのロードバランシング。2.Interconnectキャリアインターコネクトを利用することで、Googleと外部のDCを直接接続できる。日本ではTOKAIコミュニケーションとEqunixがサービス提供を行っている。らしい。参考書籍基本的な内容、主にGCEについてまとめらている。最初に読んだがわかりやすかった。【POD】仕事で使える!Google Cloud Platform 最新クラウドインフラ導入マニュアル (仕事で使える!シリーズ(NextPublishing))価格:1188円(税込、送料無料) (2019/1/14時点)楽天で購入
2019年01月04日
コメント(0)
前から気になっていたハニーポットを構築してみた。ハニーポットにはいろいろな種類があるようで、自分がしたい目的に合わせて構築する必要がある。今回は以下を目的としてハニーポットを構築した。・Webサーバに対する攻撃の観察→wowhoneypotを使用・SSHのアカウントに対する攻撃の観察→cowrieを使用1.ハニーポットの構築先レンタルサーバを借りて構築することにした。スペックは以下の通り。CPU:2コアメモリ:1GBストレージ:30GB※構築してから1週間ほど経つが、動作が遅い等の問題は出ていない。2.大まかな構築の流れ2−1.OSのバージョンアップサーバは初期状態でubuntu16.04だったので、・ロケールを日本に変更・ubuntu18.04にアップデート (「cat /etc/lsb-release」で18.04に上がっていることを確認)実行したコマンドの抜粋・sudo apt-get install language-pack-ja・update-locale LANG=ja_JP.UTF-8・localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"・ハニーポット管理用の待受SSHポートの変更 SSHに対する攻撃を観測したいので、22番ポートからポート番号を変更した。実行したコマンドの抜粋 ・sudo vi /etc/ssh/sshd_config→ポート番号の変更・service sshd restart2−2.wowhoneypotのインストール構築手順はこのサイトを参考にした。基本的に書いてある内容の通り進めれば構築可能だった。上記の実行後、シェルを閉じてもwowhoneypotが動作するようにサービスの設定を実施。参考サイト実行したコマンドの抜粋・/systemd/system/wowhoneypot.serviceの作成$ cat /etc/systemd/system/wowhoneypot.service ----------------------------------------------------------------------------------[Unit]Description=WoWHoneypot daemonDocumentation=https://github.com/morihisa/WoWHoneypot[Service]ExecStart = /home/ここにwowhoneypotを起動するためのスクリプトのパスを記載.shExecRestart = /bin/kill -WINCH ${MAINPID}; /home/ここにwowhoneypotを起動するためのスクリプトのパスを記載.shExecStop = /bin/kill -WINCH ${MAINPID}Restart = noType = simpleUser = ユーザ名Group = グループ名[Install]WantedBy = multi-user.target----------------------------------------------------------------------------------※スクリプトには、wowhoneypotを起動するコマンドを記載3.cowrieのインストールcowrieの構築は手こずった。以下のようなサイトを参考に構築。参考にしたサイトhttps://it-omurice.tokyo/?p=59https://lapis-zero09.hatenablog.com/entry/2018/02/28/220814実行したコマンド抜粋・git clone https://github.com/cowrie/cowrie.git・cp cowrie.cfg.dist cowrie.cfg・sudo apt-get install git python-virtualenv libssl-dev libffi-dev build-essential libpython3-dev python3-virtualenv cowrie-env・source cowrie-env/bin/activate4.ログの保管ハニーポットのログを定期的にDropboxにバックアップする機能を構築。構築した機能・ハニーポット上のDropboxディレクトリをDropboxのサービスと動機・23:59分にハニーポット上のDropboxディレクトリにログをコピーするスクリプトをcronに登録※ログの削除は手動作業で、定期的に確認しながら削除する。実行したコマンド抜粋・cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -・~/.dropbox-dist/dropboxd
2019年01月02日
コメント(0)

宅急便を装ったSMSによるフィッシングが流行っているようで、IPAなどから注意喚起が出ている。Android端末では、フィシングサイトに接続すると、不審なアプリのインストールがおこなわれるが、iPhoneの場合は以下の画面のように、ページ内のリンクを踏むとSMSによる認証を要求される。※どのリンクを辿ってもSMSの認証が求められる。フィッシングサイトのイメージ上記ページ内でリンクをクリックすると、iPhoneの場合は以下のページの様に携帯電話の番号入力を求められる。この認証では、任意の数字11桁(携帯電話番号の桁数)を入力し、次ページで4桁の数字を入力することで、ページが表示される。ページが遷移すると画面上はロード中となり、そこから先へは進まなかった。一般的なサイトでは、ページの遷移でSMS認証をすることは考えにくい。また、今回のサイトはhttp接続であったため、Safariで接続する際には、不審なサイトの可能性を示す警告が表示される。一般的なWebサイトの動作と比較すると、上記のようなおかしい点が見られるので注意したい。
2019年01月02日
コメント(0)
全12件 (12件中 1-12件目)
1