カテゴリー: 備忘録

  • 人工知能を支える基礎技術

    学習すべき基礎技術を5つ順不同で並べる(まずは5つをピックアップ)

    1.機械学習(Machine Learning)

     コンピューターに大量のデータを読み込ませ、データ内に潜むパターンを学習させ
       未知のデータを判断するためのルールを獲得しデータ解析を行う技術

       コンピュータに試行錯誤を繰り返させ、アルゴリズムを自動で調整させ
         正しい結果が出せるように徐々に近づけていく
     
     3つの方式
       ・教師あり学習・・・問いに対する正解をあらかじめ用意して学習させる
       ・強化学習・・・・・問いに対する正解を返すのではなく
                   評価点を返すので試行錯誤し点数アップを図る
       ・教師なし学習・・・問いに対する正解も評価点も返さず
                   結果を判断し問いを分類する
                 似ているものを分類することで、どこに注目すれば
                  物事を識別できるかということを学習する

    2.ニューラルネットワーク(Neural Networks)

     脳の神経細胞の仕組みを数学的に表現する、機械学習の一種
       画像認識、音声認識、自然言語処理などの分野で使われる

     情報の伝わりやすさは神経細胞同士を結ぶ「伝達機構」の結合強度によって変化する
       結合強度を「重み」と表現し、入力されたデータに対して重みを最適化していく

     5つの種類
       ・ディープニューラルネットワーク(DNN:Deep Neural Network)
         ニューラルネットワークを多層化したモデル
           ディープラーニングに対応させて4層以上に層を深くしたもの
           通常3層までなので4層以上に多層化する

       ・畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)
         いくつかの個性的な層を持ち、主に画像認識に用いられる
           データを学習することで入力画像から特徴量を抽出しそれらを区別する
           「畳み込み層」や「プーリング層」と呼ばれる個性的な層を持つ
           
       ・再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)
         時系列データなどを扱うことができ、自然言語処理の分野で用いられる
           順番に意味を把握しながら、前の単語や文章との関係を考える

         中間層の演算結果を出力層に出力すると同時に、
         同じ演算結果をもう一度自分自身(中間層)に入力して再演算を行う
           中間層の演算結果をもう一度自分自身に代入することを繰り返す
           同じ中間層が複数回使われることになり、
           見かけ上、複数の中間層からなるニューラルネットワークに見える

       ・敵対的生成ネットワーク(GAN:Generative Adversarial Networks)
         生成モデルの一種
         データから特徴を学習することで、
           実在しないデータを生成したり、
           存在するデータの特徴に沿ってデータを変換する

           データの真贋を見抜く「Discriminator」と、
           データを生成する「Generator」によって構成され
           両者のいたちごっこの繰り返しにより、データを作成する

         自動着色アプリや画像を自動生成するAPIが公開されている
           顔の画像データから、実際には存在しない人物の画像を作成する

       ・オートエンコーダ(自己符号化器:autoencoder)
         生成モデルの一種
           異常検知システム、ノイズ除去などに用いられる
         入力層と出力層のデータが同じになるように処理が行われる
           オートエンコーダをいくつも重ね合わせた構造がディープラーニング

         入力したデータの次元数をいったん下げ、再び戻して出力する
           入出力が一致するように各エッジの重みを調整していく
           この学習を通して、
           データの中から復元のために必要となる重要な情報だけを抽出する
           それらから効率的に元のデータを生成するネットワークを形成する

         前半部分(エンコーダ)は次元削減、特徴抽出の機能を有し
         後半部分(デコーダ)は低次元の情報をソースとするデータ生成機能を有す

         4つの種類
           ・積層オートエンコーダ(Stacked Autoencoder)
             シンプルなオートエンコーダを多層化した構造
               入力データはエンコーダにおいて段階的に次元を減らし、
               デコーダで復元される

             ニューラルネットの各層における学習を一層ずつ行って、
             最後にすべて積み重ねる、という手順で構築する
               積層オートエンコーダを事前学習に用いることはほぼ無い

           ・畳み込みオートエンコーダ(Convolutional Autoencoder)
             エンコーダ、デコーダ部分に全結合層ではなく畳み込み層を使う
               畳み込み層により空間的に意味のある特徴を抽出する
               画像に対して用いられる

           ・変分オートエンコーダ(Variational Autoencoder)
             生成モデル
             N次元の潜在変数が、N次元正規分布に従うように学習する
               正規分布という制約を設けることで
               データの潜在空間上での分布に連続性が生じ、
               似た潜在変数からは似たデータが生成される

           ・条件付き変分オートエンコーダ(Conditional Variational Autoencoder)
             変分オートエンコーダを拡張したもの
               指定したクラスのデータを生成できるようになっている

             変分オートエンコーダでは
               デコーダによるデータ生成の際、
               潜在変数を指定することはできますが、
               出力データのクラスを直接指定できない
             条件付き変分オートエンコーダは
               出力クラスを指定したうえで、
               潜在変数も自由にコントロールすることができる

    3.言語処理 (Natural Language Processing)

     人間が使う自然コンピュータ言語を自然で処理するための技術
       テキストの解析、機械翻訳、文書要約、質問応答などに利用される

     4つの仕組み
       ・形態素解析
         文章を「形態素」という単位ごとに分割し、
         それぞれの形態素を品詞などの各種情報に振り分ける
           ※形態素・・・何らかの意味をもつ最小限の文字の集まりのこと
         文章の中にある形態素の意味をデータとして抽出することができる
           最小単位になった単語を、辞書などの情報と照らし合わせ、
           それらの単語の品詞の種類、活用形の種類などを割り出す

       ・構文解析
         単語同士の関係性から文の構造をいくつか推測する
           文章の中で単語や字句で構成される文を、
           文法にしたがって解釈していき、文の構造を確認した上で意味を調べる

       ・意味解析
         推測された構文のうち正しい構文を1つに絞る
           統計的な方法などを用いて単語同士の結びつきを見出したりして、
           意味付けを行う

       ・文脈解析
         複数の文について形態素解析と意味解析を実施し文同士の関係性を解析する
           正しく解析するには、さまざまな領域の知識の学習が必要

    4.コンピュータビジョン (Computer Vision)

     デジタル画像を解析するための技術
       画像認識、物体検出、セマンティックセグメンテーション、深層学習を組合せる
         自動運転、監視カメラ、医療画像解析等の分野で利用されている

     4つの領域
       ・画像セグメンテーション
         画像をいくつかのオブジェクトに分割する
           画像を「人」や「車」に分割する
         自動車の自動運転で対象物との距離が認識される

       ・物体検出
         画像内の特定の物体を識別する
           製造業の不良品を見分ける外観検査
           医療での画像の物体検知

       ・パターン検出
         画像内に繰り返し現れる形状や色を認識する
           産業用ロボットをラインの部品まで誘導する位置決め

       ・顔認識
         人の顔を検出するだけでなく個人も特定できる
           顔認証は目や鼻、口などの特徴点の位置を元に個人の照合を行う
             顔認識技術は顔画像の加工や属性分析
             顔認証技術は出退勤システム

    5.ロボティクス (Robotics)

     機械やロボットを制御するための技術
       人工知能、センサー技術、モーター技術などを組み合わせて使用​​される
         自律移動ロボット、産業用ロボット、介護ロボットなど

     5つの技術
       ・制御理論
          ロボットの動作を安定的かつ正確に制御する数学的な理論を開発する

       ・センサー技術
         ロボットに搭載されるセンサーからの情報を解釈する技術
           距離センサーやカメラ、LIDARなどのセンサー

       ・モーションプランニング
         ロボットの動作を制御する技術
           目的地までの最適な移動経路や、物体の掴み方や動き方などを計画する

       ・人工知能
         ロボットの学習や意思決定能力を高めるために、
           機械学習やニューラルネットワーク、深層学習が使用される

       ・メカトロニクス
         機械工学、電気・電子工学、科学コンピュータなどの複合領域
           ロボットの制御システムを設計・開発する

  • USBの種類

    USB(Universal Serial Bus)とはパソコンに周辺機器を接続するための規格

    1.バスパワー(bus powered)

     USBケーブルを通じてUSBホスト(パソコン等)から電源を供給する仕組み
       ACアダプタなどを必要とせず、ケーブルを接続するだけで手軽に利用できる
       規格上、1つのUSBポートから供給することができる電流は500mAまで

       接続できる機器(消費電力が少ないもの)
         マウス、テンキー、USBフラッシュメモリ、ゲームパッド

    2.パラレル転送(parallel transmission)

     複数の線によってデータを平行して(parallel)転送する仕組み
       シリアル転送方式はデータを1本の線から順次データを転送する
       パラレル転送方式は複数の経路から一気に転送する、転送速度は非常に高速

       使用例
         コンピュータバス(ISA、ATA、SCSI、PCI等)、プリンタ

    3.プラグアンドプレイ(Plug and Play)

     パソコンに接続すると、OSが自動的に必要な設定を行う仕組み
       Windows 95で初めて採用され、現在はほとんどの機器が採用する
       手動で機器の設定を行う必要はなく、デバイスの追加と削除が行える

    4.ホットプラグ(hot plug)

     コンピューターを稼働させたまま、デバイスを接続したり、
       ケーブルを繋ぎ変えたり、故障部品を交換することができる仕組み
     
       使用例
         USBメモリ

    5.補足

    資料
  • Bluetoothを経由した攻撃

    Wi-Fiと比較して、防御しなければならないという意識が低く、危険である

    1.ブルースナーフィング(BlueSnarfing)

     ワイヤレスハッキングの一種
       攻撃者が他人の所有するBluetooth対応デバイスに勝手にアクセスする
         アクセスした後、ユーザーの連絡先やカレンダー、
         テキストメッセージ、その他の 機密データをダウンロードする

       ブルースナーフィングによる攻撃は通常、被害者の約9m以内で始まる
         攻撃者は範囲内にあるBluetooth対応デバイスをまずスキャンし
         自らのデバイスと被害者のデバイスのペアリングを試みる

         被害者の端末がPINコードで保護されていない場合
         攻撃者は被害者の端末とペアリングし
         被害者のデータにアクセスできるようにする

         いったんマルウェアを埋め込まれると、その後も攻撃が続く
           携帯電話の個人情報にアクセスできるだけ

       ブルースナーフィングの標的の一つは
         スマートフォンの電話番号(IMSI)や国際移動体識別番号(IMEI)
         
         攻撃者はこれらのデータにアクセスし被害者が知らないうちに
         着信通話やメッセージを別のデバイスに振り向ける

    2.ブルージャッキング(BlueJacking)

     迷惑メッセージを送信する
       匿名のメッセージをBluetooth経由でモバイルユーザーに送りつける

       Bluetooth機能を持つ携帯電話は、少し手を加えれば
         送信されるメッセージを受け付ける他の携帯電話を探し出せる

       電話を乗っ取ったり情報を盗んだりするわけではない
         単にスパムメールのようにメッセージを送信するだけ

         迷惑なメッセージを大量に送りつけて非常に不愉快な思いをさせる
           セキュリティ上のリスクは小さい

    3.ブルーバギング(BlueBugging)

     Bluetooth技術を使って携帯電話のコマンドにアクセスする
       携帯電話の持ち主に気づかれることも警戒されることもない

       攻撃者が携帯電話を制御できるようになる

       悪意あるハッカーは下記の事項ができるようになる
         通話の開始やテキストメッセージの送受信
         アドレス帳の読み書き
         電話の会話を盗み聞き
         インターネットに接続

       攻撃対象の携帯電話から10m以内の範囲にいなければならない

  • メールサーバー

    4種類のメールサーバーについて説明する

    1.SMTPサーバー

     メールの送信・転送を行うサーバー(Simple Mail Transfer Protocol)
       例えとして、手紙をポストに投函し、最寄りの郵便局まで運ぶ機能

    2.POPサーバー

     メールを保管するサーバー(Post Office Protocol)
       SMTPサーバーによって送られたメールを保管する機能

       送信されたメールは直接相手のメールボックスに届くのではなく、
       一度POPサーバーに保管されてからダウンロードされる

       例えとして、郵便の私書箱のようなモノ

    3.IMAPサーバー

     メールの受信を行うサーバー(Internet Message Access Protocol)
       POPサーバーと同じくメールを取り込むための機能

       POPサーバーとの違いは
         IMAPサーバーはメールをサーバー内に残しておく、ことができる
         複数の端末から同じメールを参照できる

    4.DNSサーバー

     宛先の照合を行うサーバー(Domain Name System)
       メールアドレスの@以降のドメイン名を元にして、
       DNSサーバーに対して配信先のSMTPサーバーのIPアドレスを問い合わせる機能

       例えとして、郵便に記載されている住所を元にして配達する郵便局が決まる
         どの郵便局まで手紙を送るかを調べる電話帳がDNSサーバーになる

       DNSサーバーはIPアドレスを管理するサーバーなので、
         DNSサーバーがあることでメール送信先を判断することができる

    5.メールサーバーの仕組みについて

    メールサーバーの仕組み
  • Macのファイル構造

    1.主な相違点

     ・Cドライブが見当たらない
       Windowsだけが例外で、MacやLinuxは同じ考え方で構成されている
         ドライブといった概念は無く、既成のフォルダーで管理する

    2.フォルダーの構造

    既成のフォルダー

    フォルダーの名称と使用目的
     ・Macintosh HD
       絵柄はHardDiskだが、メイン記憶装置(SSD)に間違いない
       Cドライブと言えなくもないが、Cに続くDやEは一切見当たらない
       ここで単純に一番トップの位置として全体を表現している

     ・アプリケーション
       見慣れたアプリが多数保管される場所
       アプリのインストール先であり、起動はこの場所から行う

     ・システム
       OSが使用するため「使用禁止」とする

     ・ユーザ
       MacPCにログインできるユーザ個人用の場所
         ユーザ名でフォルダーが作成される
         ユーザが個人用に使用できる場所・・・通常ここを使用する

     ・ライブラリ
       OSが使用するため「使用禁止」とする

    3.確認方法

     どうしてもファイル構造が気になる時は
       ファイルのパスを表示する(Path Bar)を使用する
         メニューバーにある「Finder」の「表示」をクリックして
         「パスバーを・・・」を表示にすれば
         画面下段にトップからパスが全て表示される

     慣れるまでは、面倒だがこれで確認する

  • 暗号方式

    1.共通鍵暗号方式

     DES(Data Encryption Standard)
       1977年にアメリカ連邦政府標準の暗号方式として採用される
         暗号方式を指す場合は「DEA」(Data Encryption Algorithm)と呼ぶ

       1990年代になりコンピュータの処理性能が向上すると
         56ビットという鍵長では解読が容易になり、
         現代では安全な暗号方式ではない

       1999年により安全で高速な暗号標準(AES)が米政府に採用される

     AES(Advanced Encryption Standard)
       2000年にアメリカ連邦政府標準の暗号方式として採用される
         暗号方式を指す場合は「Rijndael」と呼ぶ

       共有鍵暗号の標準として全世界で広く普及する
         無線LAN(Wi-Fi)の通信の暗号化
         インターネット上の通信を暗号化するSSL/TLS
         圧縮ファイルの暗号化

       平文を一定の長さごとに暗号文に変換するブロック暗号
         ブロック長は128ビット
         鍵長は128ビット、192ビット、256ビット

     IDEA(International Data Encryption Algorithm)
       1991年に開発される

       データを64ビット単位に区切って処理するブロック暗号
         鍵長は128ビット
         その中から一部分を抜き出して部分鍵を作り、
           平文に対して同じ操作を8回、それぞれ異なる部分鍵で行う

    2.公開鍵暗号方式

     DSA(Digital Signature Algorithm)
       1991年に提唱される
         離散対数問題の解読の困難さを基に作成された方式
         米政府標準のデジタル署名方式

       署名者は送信メッセージのハッシュ値と秘密鍵を含む計算により
         デジタル署名を生成してメッセージに添付する
       検証者は署名者の公開鍵を取り寄せて検算を行う

       攻撃者が正しい署名を偽造するには
         秘密鍵を割り出さなければならないが、
         これを効率よく探索する手法は未だ発見されていない

     RSA(Ronald Rivest氏、Adi Shamir氏、Leonard Adleman氏)
       1977年に発明される
         非常に大きな数の素因数分解が困難なことを利用した方式
         開発者の3名の名の頭文字を並べたもの
         インターネットで広く使われている

       従来の暗号方式(共通鍵暗号)とは異なり、
         暗号化は公開鍵を使って誰でもできるが、
         復号は秘密鍵を持つ本人だけしかできない

       公開鍵・秘密鍵を次のように使用する
         暗号の場合
            平文 → 公開鍵(暗号化)→ 暗号文
           暗号文→ 秘密鍵(復号)→ 平文
         署名の場合
            文書 → 秘密鍵(署名生成)→ 署名値
           署名値→ 公開鍵(署名検証)→ 文書

  • Webサイトのセキュリティー

    第三者がインターネット通信を利用してWebサイトに被害を与えることへの対策

    1.システムを最新の状態にアップデートする

     CMSなどのシステムは常に最新の状態にアップデートを行う
       古いバージョンのままでシステムを使い続けていると、
       新しいサイバー攻撃の手法を受けたときに対応できない

    2.パスワードを難解なものにする

     ログインするためのパスワードはなるべく難解な文字列にする
       パスワードの使いまわしをしない
       推測しやすいパスワードを使わない
       無料のパスワード生成ツールを使う

     具体的には
       10〜12桁の文字列にする
       英数字と記号を組み合わせる
       意味のある文字列にしない

    3.SSLサーバー証明書を取得する

     SSL(Secure Sockets Layer)証明書の取得を行う
       インターネット上で行われる通信を暗号化する

       サーバー側でSSLの設定を行うことで、
       サイバー攻撃を受けたとしても個人情報がサイトから流出しない

       SSLを導入していないサイトでは
       「保護されていない通信」という表示が出てしまう、
         SSLを導入することでサイトの信頼性を高めることができる

    4.定期的にセキュリティチェックを行う

     サイトのセキュリティレベルを定期的にチェックする
       定期的にセキュリティチェックを行うことで常に安全な状態を維持する

     無料セキュリティチェックツール

    Observatory by Mozillaサイトのドメイン名を入力するだけで、セキュリティ対策で重要な10項目について調査を行う
    最大スコアは130となっており、スコアごとにA+〜Fまでの13段階でセキュリティレベルを評価する
    手軽にWebサイトのセキュリティチェックが可能
    Mozilla
    (アメリカの非営利団体)
    Site Safety Center安全性を確認したいサイトのURLを入力する
    安全・危険・不審・未評価の4段階で評価する
    細かい項目をチェックすることはできないが、ざっくりとWebサイトの安全性を確認できる
    トレンドマイクロ社
    VirusTotal指定したファイルやURLを数十個のセキュリティソフトデータベースで一斉診断できる
    セキュリティの危険性が確認された際には赤いマークで知らせてくれるため、複数のツールでスキャンすることなく安全性を確認することが可能
    有料版も用意されている
    Google社

    5.レンタルサーバーを使用する

     セキュリティ機能が導入済みのサーバーを利用する
       自宅サーバー等で運用するより、サーバーはレンタルする

       個人でサーバーに十分なセキュリティー対策を施し維持するには限界がある
         費用は掛かるが、運用面での省力化を考え対応するべき

  • PPP通信の認証法

     PPP (Point-to-Point Protocol) とは、
       コンピューター同士が1対1の通信を行うための規約(プロトコル)
       プロトコルの内容は以下の通り

    1.PAP

     Password Authentication Protocol
       ユーザーID/パスワードを平文で伝送路に流し認証を行う
       最も基本的な認証方法
       入力内容は暗号化されずに送信される、セキュリティ上の弱点となる

    2.CHAP

     Challenge Handshake Authentication Protocol
       サーバー側からクライアント側に接続の度に乱数が送られる
         クライアントは、受け取った乱数にユーザーID/パスワード組合わせ
         値を算出し、算出された値をサーバに送り返す
         サーバーは値を解析し、ユーザーID/パスワードを認証する

       セッションの度に異なるデータがやり取りされるので、
         盗聴が困難であり、安全性の高いユーザー認証となる

    3.EAP

     Extensible Authentication Protocol
       IEEE802.1Xで規定されるフレームワークにおいて、
         どの認証方式を用いるかを指定するプロトコル
       EAP自体がセキュリティ機能を持っているわけではない

       代表的なものとして
         EAP-MD5
           ユーザーとパスワードをMD5ハッシュで暗号化する
         EAP-TTLS(Tunneled TLS)
           サーバ側の電子証明書を用いて認証し、
           TLS暗号化通信で認証を行う
         EAP-PEAP
           サーバ側の電子証明書を用いて認証し、
           TLS暗号化通信とEAP通信を組み合わせて認証を行う
         EAP-TLS(Transport Layer Security)
           サーバとクライアントの両方に搭載された電子証明書を用いる

    4.PEAP

     Protected Extensible Authentication Protocol
       EAPの速度とTLSトンネルを組み合わせる
         クライアントとサーバー間の通信全体をTLSトンネル内で保護する
       
       PPPに認証機能を追加した拡張プロトコル
         サーバーとクライアントで相互認証を行うプロトコル

       米Microsoft、Cisco Systems、RSA Securityの3社によって開発される

       サーバー側は電子証明書の発行、クライアント側はIDとパスワードの使用
         サーバーとクライアントで相互認証を行う
         定期的にWEP暗号文の生成・配布が行われることによって
           セキュリティ性の向上が図られている

    5.補足

     PPPはOSI参照モデルの第2層(データリンク層)で動作するプロトコル
       電話回線やIATM回線などで利用される

     光回線の時代になると
       PPPoE(PPP over Ethernet)
         従来の通信方式をイーサネットに対応させる
         ネットワーク終端装置が混雑し通信速度が遅くなる
       IPoE(IP over Ethernet)
         イーサネットの利用が前提、直接インターネットに接続できる
         ルーターやアダプター等の通信機器をユーザーが用意する必要はない
         「IPv6」方式のIPアドレスを使用したWebサイトにのみ接続可能


    PPPoE(PPP over Ethernet)

    IPoE(IP over Ethernet)

  • お絵描きソフト

    1.ドローソフト

     図形や線などを部品として、始点、方向、長さの要素によって描画し
       これらの部品の変形や組合せで効率的に図形を描画する

     イメージを構成する部品として図形をそれぞれ作成し、
       各レイヤーに重ねていくという方式が取られる

       直線、方形、円、円弧、曲線、多角形などの図形を描き、
       着色、細部の調整を行い、透明度などを調整のうえ重ね合わせる

       作成した図形はツールを使って選択し、
       自由にサイズ変更、回転、反転といった操作を行う

     特徴
       色紙をハサミでカットして、紙にペタペタ貼っていくような感じ
       機械的なカッチリした感じのイラストが描きやすい

       点と点を結んだ線や色を数値で管理する
       拡大しても劣化しない
       色の滲みやボカシの表現が苦手
       図形のような単純な表現が得意

     代表的なソフト
       ・Illustrator(Adobe社)
       ・LibreOffice Draw

    作画イメージ

    2.ペイントソフト

     ポインティングデバイス(マウス)を使ってカーソルを筆先のように動かし
       画面上に絵を描き、出来上がった絵はビットマップ画像として保管する

     輪郭などを実際に絵を描く感覚で作成できる
       ドット単位で色情報を扱うことができるため、細かい濃淡の表現が可能
       画面の拡大・縮小や変形を行うと画質が落ちてしまう

     特徴
       絵の具やインクなどで色を重ねて塗っていくような感じ
       実際に手で描くように(アナログ)絵を描く

       線や色をドットという点の集まりで管理する
       拡大するとドットのギザギザが目立つ
       色の滲みやボカシの表現が得意
       写真のような複雑な表現が得意

     代表的なソフト
       ・ペイント(Windows)
       ・Photoshop(Adobe社)

    作画イメージ

    3.オーサリングソフト

     文字や静止画データ、動画データ、音声データなど複数の素材を
       編集、配置、コンテンツに仕上げるソフトウェアの総称

     テキストやマルチメディアのデータから、ひとつのコンテンツを作成する
       さらに作成されたコンテンツをDVDなどに焼く

     編集対象とするコンテンツ(HTML・DVD)の種類によって
       「Webオーサリングソフト」や「DVDオーサリングソフト」がある

     一般的なソフト
       ・HTML編集ソフト
       ・DVD編集ソフト

  • アクセス権の設定

    1.DAC(任意アクセス制御)

    Discretionary Access Control
     ファイルなどの所有者が
       メンバーの属性ごとに自由にアクセス権限を設定する

     最も一般的な制御方式で自由度が高いのが特徴
       UNIXやLinuxが標準で採用しているアクセス制御方式

    2.MAC(強制アクセス制御)

    Mandatory Access Control
     システム管理者によって
       定められたセキュリティポリシーによるアクセス許可が強制される

     ファイルなどの所有者でも、定められたレベルの範囲でしかアクセスできない
       任意アクセス制御よりもセキュリティが高い

     操作主体と操作対象それぞれにセキュリティ・レベルを段階分けする、
       その段階(レベル)を比較することで強制的にアクセス権限を決定する
         操作主体(サブジェクト)はユーザーやアプリケーション
         操作対象(オブジェクト)はファイルやディレクトリ

     具体的な例(ルールを設定)
       操作主体のレベル ≧ 操作対象のレベル :読み取りが許可される
       操作主体のレベル ≦ 操作対象のレベル :書き込みが許可される

       操作主体のレベルと,操作対象のレベルを比較しアクセス権限を決定する
         レベル2のユーザーAは下記ようにアクセス権が設定される

    3.RBAC(ロールベースアクセス制御)

    Role-Based Access Control
     役割(ロール)に基づいてアクセス権限を付与する

     権限付与は部署ごとに設定される
       効率化とセキュリティを両立できる

     メリット
       ・個人の好みや希望ではなく、個人の役割によって定義される
         アクセス許可の管理が簡単になる
       ・アクセス許可はロール(役割)に従う
         個人ではなくグループ等に役割を与えるため
         管理者の作業が大幅に軽減される
           職場を異動した場合には所属するグループを変えるだけ


  • 信頼性設計

    1.フォールトアボイダンス
      (Fault Avoidance:障害回避)

     システム構成要素に信頼性の高い部品、バグの少ないソフトウェアを選び
       ひとつ一つの故障率を下げることで全体の信頼性を向上させる

     システムに故障が発生しないように動作し続ける
       各要素の信頼性を高めて故障の確率はゼロにはならない
       単独で使用される機会の少ない設計手法

     具体的な例
       ・宇宙船は故障が大事故に直結するため、高い信頼性が求められる
       ・医療機器は人体に直接関わる
       ・自動車は1tほどの鉄の塊が時速40km/h程度の速度で走行する

    2.フォールトトレランス
      (Fault Tolerance:故障耐性)

     重要部品を多重化しシステムに障害が発生したらその部分を切り離して、
       システム全体は動作できるようにシステムを構成する

     システムに異常をきたしても正しく動作し続ける
       機能を止めることができない製品やシステムに適用する

     具体的な例
       ・電源装置を二重化し、片方が故障しても電源が落ちないコンピューター
       ・停電すると発電機が起動して電力を供給させ続けるビル

    3.フェールセーフ
      (Fail Safe:失敗安全)

     システムの一部が故障しても、全体に危険が生じないような構造や仕組み
       システムが壊れたり、故障したりしても人間に害を及ぼさない

     故障や誤動作が発生した場合、その被害を最低限に抑え、
       ほかの正常な部分に影響が及ばぬよう、安全側に働くようにし
       危機を回避し、全体として安全を保つ

     具体的な例
       ・人であれば怪我をしないこと
       ・モノであれば資産価値を損なわないこと
       ・車が壊れた時に速度が下がること
       ・エレベーターはケーブルが切れた際に別系統のブレーキが作動する
       ・ブレーカーやヒューズは過電流を遮断する
       ・閉まる自動ドアに挟まっても扉が開く

    4.フェールソフト
      (Fail Soft:失敗柔軟)

     故障が発生したときに故障個所を切り離し
       性能が低下しても全面的に停止せずシステムの稼働を維持する

     故障が発生しても、もう一方の系で運用を続ける

     具体的な例
       ・エンジンが壊れたら予備のエンジンで動作させる飛行機
       ・停電したらバッテリー運転に切り替わるパソコン(サーバー)

    5.フールプルーフ
      (Fool Proof:間抜け通さない)

     入力画面で誤って入力したらエラーメッセージが表示され、再入力
       事前に工夫をして設計されたシステム

     使用者が意図しない使い方をしても故障しないように工夫されたシステム

     具体的な例
       ・赤ん坊が押せないよう100均ライターのボタンは固い
       ・プレス機の挟み込みの危険がある場合は両手押しによるスイッチ
       ・ニュートラルに入れた状態でブレーキを踏まないとエンジン始動しない


     

      

  • データ保護方法

    1.HSM

     HSM(Hardware Security Module)
       鍵を守る金庫の役目をするハードウェア

       暗号鍵、電子署名鍵、一般的には128~2048bit程度のバイナリーデータ
         絶対に他人に見せてはいけないもので、
         盗まれるなどして万が一鍵が漏えいするようなことがあれば、
         暗号を解読され機密情報の流出等と大変なことが起きる

       暗号文を作成するときや、電子署名を行うとき、
         鍵を取り出してPC上で暗号処理や署名処理を行う必要がある

         PC上に鍵を取り出すと下記の様にして盗み取ることができます
           PCに鍵を取り出すときにデータを盗み見る
           PCのメモリー中にロードされた鍵をメモリーダンプで取り出す

       ソフトウェアの工夫だけで鍵を守ろうとしても限界がある
         鍵を保管するハードウェアとして作られたのがHSM

         HSMは暗号・電子署名などの演算機能まで本体内に内蔵し、
         鍵を一切外に取り出さずに暗号、電子署名などの処理を行う

    2.TPM

     TPM(Trusted Platform Module)
       デバイス上でセキュリティ機能を提供するプロセッサー又は
         規格に準拠したマイクロチップを指す
       ハードウェア(製品)でPCに内蔵されデータを保護する

       暗号キー、パスワード、デジタル証明書をハードウェア内に格納する
         マルウェアや攻撃者がデータにアクセスし改ざんすることを防ぐ

     TPMには、1.2と2.0が存在する
       古いPCの場合、1.2が多く、Windows 11での要件に適していない
       Windows 11の要件に適していない理由の多くはTPM非対応が占める

     ファームウェアTPM(fTPM)とは
       マザーボード上のファームウェアと組み合わせて利用する仕組みのこと
         メーカーやモデルによって対応状況が異なるが
         最近のPCではfTPMが一般化しているので、
         ノートPCやデスクトップPCなど、確認する必要がある

    3.DLP

     DLP(Data Loss Prevention)
       データそのものの情報を守るシステム

       データそのものを監視して情報漏えいを防ぐ
         特定のデータの持ち出しやコピーを検知し、自動的にブロックする
         機密情報の特徴をDLPに与えることで、判別を自動的に行う

       キーワードや正規表現による保護
         特定のキーワード、正規表現によって指定したキーワード等に
         該当するデータを判別する

         昔から利用されていた
         住所や電話番号・クレジットカード番号などに対して効果てきめん

       フィンガープリント(指紋)による保護
         特定のデータのフィンガープリントを登録することで、
         関連するデータまでを保護できる

  • OSI参照モデル

    1.成り立ち

     国際標準化機構(ISO)によって規定されており
       データ通信の機能を7つの階層に分けて説明したモデル

     異種間のデータ通信を実現するためには、
       ネットワーク構造の基本的な設計方針が決められている必要がある

     1982年頃に異なるネットワークアーキテクチャを1つに統一しようと、
       ISO(国際標準化機構)とITU(国際電気通信連合)により
       OSI(Open Systems Interconnection:開放型システム間相互接続)と
       呼ばれるネットワーク標準規格の策定が始まる

     OSIで用いられる通信のモデルがOSI参照モデルとなる

    2.参照モデルと階層

     層名称規格(プロトコル)概要利用例領域関連装置
    7層アプリケーション層HTTP,FTP,DNS,SMTP,POPなど個々のアプリケーションwww,メールソフトウェアゲートウェイ
    6層プレゼンテーション層SMTP,FTP,Telnetなどデータの表現形式HTML
    5層セッション層TLS,NetBIOSなど通信手段HTTPS
    4層トランスポート層TCP,UDP,NetWare/IPなどエンド間の通信制御TCP,UDPネットワーク
    3層ネットワーク層IP,ARP,RARP,ICMPなどデータを送る相手を決め
    最適な経路で送信
    IPルータ、L3スイッチ
    2層データリンク層PPP,Ethernetなど隣接する機器同士の通信を実現Ethernetブリッジ、L2スイッチ
    1層物理層RS-232,UTP,無線物理的な接続、電気信号UTPケーブル,光ファイバーケーブルハードウェアLANケーブル、NIC

    3.規格の内容

     ・第7層(L7)アプリケーション層・・・ソフトウェアの通信規則
       ユーザが操作するソフトウェアが提供する具体的な
       機能についての仕様や通信手順やデータ形式などを定める

       Webページを閲覧するときは・・・HTTP
       Webページと暗号化通信を行う際は・・・HTTPS
       サーバにファイル転送をするときは・・・FTP
       サーバにに暗号化転送を行うときは・・・SFTP
       簡易的なファイル転送の場合は・・・TFTP
       メール送信の際は・・・SMTP
       メール受信の際は・・・POP
       サーバの遠隔操作は・・・Telnet
       サーバ接続の際に暗号化する場合は・・・SSH
       ドメイン名からIPアドレスに変換するときは・・・DNS

       異なるプロトコルが無数にあるため、
       利用するソフトウェアやアプリケーションに応じて
       ハードウェアの通信機能でプロトコルの制御を行い通信を確立する

    第7層


     ・第6層(L6)プレゼンテーション層・・・データ表現と暗号化
       主流となっているプロトコルはSMTPやFTP
         SMTPは電子メールを伝送する際に利用されるプロトコル
         FTPはサーバにファイル転送を行う際に利用されるプロトコル

       どちらもファイルを転送する役目
         適切な文字コードや改行コードでHTMLファイルを作成し
         ファイル転送を行うことで上層のアプリケーション層にデータを渡す
         Webサーバは文字コードや改行コードをもとに
         適切な形式で表示するために変換を行う

         Webブラウザで文字化けが発生せずに正確な文章が表示される

         下層のセッション層に渡す際はデータの「暗号化」を用いて
         TLSプロトコルで暗号化通信をする

    第6層


     ・第5層(L5)セッション層・・・ホスト間の通信
       通信の確立、維持、終了するまでの手順を規定している

       主流はTLS、SSL/TLSと表記される
         SSLサーバ証明書は通信中の「なりすまし」「盗聴」「改竄」などを
         回避し「フィッシングサイト」による詐欺被害を防止する

    第5層


     ・第4層(L4)トランスポート層・・・通信の品質をコントロールする
       高信頼性やリアルタイム性など目的に応じた通信品質を実現する

       TCPプロトコル
         TCPは機器間の接続を作り確実な信号を送信する
         リアルタイムの通信には不適切だが
         Webサーバへのアクセスなど信頼性の高い通信に利用する

       UDPプロトコル
         TCPのように通信の信頼性を高めることはできないが、
         すぐに使える身近な通信機能を提供する
           正確性はないがリアルタイム性の高い通信が可能
           動画ストリーミング配信やリモート会議などで適用する 

    第4層


     ・第3層(L3)ネットワーク層・・・中継による任意の機器同士の通信を実現
       複数のネットワークをつないで相互にやり取りする機能を実現する

       代表的なものはルータ
         ネットワークの中継機能を果たし所定の方向にパケットを転送する

       代表的なものはIP
         IPアドレスというものを接続するコンピュータ機器に付与し
         機器同士を通信することに用いられる

       直接つながっていないネットワーク間で
       パケットをルーティングする機能を提供し、
       機器が直接つながっていなくても通信が実現できる

    第3層


     ・第2層(L2)データリンク層・・・直接接続された機器同士の通信を実現
       通信回線のことを示し正確に通信をする規則が定められている

       代表的な組み合わせはMACアドレスによるイーサネット接続
         イーサネットは有線でも無線でもLANである
         MACアドレスで機器を識別しイーサネットで接続をする
         隣接したノード間でデータが壊れていないかのチェックをしながら
         確実な通信を実現する

    第2層


     ・第1層(L1)物理層・・・信号およびバイナリ転送
       ハードウェアのコネクタ形状やピン数などの物理的な接続を定める

       バイナリ転送とは特定の文字コードの範囲に収まらない
       任意のビット列を含むバイナリデータを保存したファイルを転送すること
         ビット(0と1の符号化)単位でデジタル信号の送信・受信を行う

       ハードウェア同士接続をするケーブルや配線では
       信号をもとに機器同士を電気信号などで通信をしている接続線のことで

       ハードウェア同士で物理的に通信を行う方法が物理層の通信

    第1層
  • OpenCV

    1.概要

     OpenCVは画像・動画に関する処理機能をまとめたオープンソースライブラリ
       Open Source Computer Vision Library

     Intelが開発しOSSとして提供されている
       誰でも無料で使うことができる
       画像や動画の中に存在する物体の位置情報やパターン、動きを
         プログラムが識別できるようになる
       認識した情報を用いて、画像の切り出しや編集も可能となる

     WindowsやLinuxはもちろん、iOSやAndroidなどに対応している
       Pythonプログラムで用いられる例が多い

    2.使用するメリット

     ・画像処理の準備作業ができる
       画像解析には、必ず事前に前処理が必要
         機械学習がしやすいように、データを整える
       OpenCVを使って前処理の作業を簡略化する

     ・さまざまなライブラリとの組み合わせが可能
       高機能な数値計算のライブラリと組み合わせて
       より高精度の画像処理を行うことができる

     ・AR・VRの開発ができる
       ARVRのコンテンツ作成に必要な
       物体の位置情報や動きの解析、物体追跡が可能
         Unityには「OpenCV for Unity」という外部プラグインが存在する

    3.機能一覧

     ・画像の認識と表示
       画像のデータを認識し表示できる
         画像や動画をピクセルごとに数値で表し
         数値情報をリスト化し、プログラムで表示させることができる

     ・画像の編集
       画像のトリミングやリサイズなどの編集や加工ができる
         機械学習の前処理などでよく用いられる
           サイズやデータ容量が異なる画像は
           事前に画像を加工し機械学習しやすい形に編集する

     ・物体の検出
       解析する画像の中から特定の物体のカテゴリーや位置を判別する
         画像を読み込むほどに高精度な解析が可能になる

     ・テンプレートマッチング
       画像の中から特定の画像と類似する部分を見つけ出す
         プログラム内でテンプレートマッチングを実行できる

     ・ノイズの除去
       ノイズ除去のためのフィルターがいくつも用意されている
         フィルターを通すことでノイズが取り払われた解析処理が可能になる

     ・グレースケールへの変換
       事前に画像の色データをグレースケールに変換しリソースを削減する

    4.インストール

     Pythonで利用する場合
       ①モジュールをインストールするだけで使うことができる
         専用ライブラリ「opencv-python」をインストールする

       ②Pythonのバージョンを確認する
         3.6以降が必須

    python --version

       ③PIP(The Python Package Installer)を最新にする
         PIPのバージョン19.3以上が必須

    python -m pip install --upgrade pip
    pip -V

       ➃OpenCV-Pythonのインストールを行う

    pip install opencv-python

       ➄以下の表示が確認されたらOKです
         バージョン番号は適宜読み替えてください

    Installing collected packages: opencv-python
    Successfully installed opencv-python-4.4.0.46

       ⑥「OpenCV」の動作を確認して終了
         ➄のバージョン番号が表示されれば完了です

    import cv2
    print(cv2.__version__)
  • ローコードとノーコード

    1.ローコード(Low Code)

     プログラムコードをほとんど記述しないで
       アプリケーションやシステムの開発を可能にするツールや手法

     従来の開発手法よりも圧倒的にソースコードの記述量を減らす開発が可能

    2.ノーコード(No Code)

     ソースコードを全く書かずに
       アプリケーションやWebサイトの開発を可能にするツールや手法

     プログラミング、コーディングに関する知識が全く無い非エンジニアでも、
       パーツやテンプレートを組み合わせて開発できる

    3.注目ポイント

     エンジニア不足の解消に役立つ
       経験不足の人でもアプリケーション開発に貢献できる可能性が高くなる
       近年のエンジニア不足を解消するために有効

     DX支援ツールとして強力
       デジタルトランスフォーメーションを推進するツールとして有効
       エンジニアが不足する状況で短期間・低コストの開発に適している

     有力ツールが続々とリリースされている
       日本製・・・NoCode Japan株式会社 Click
       外国製・・・Amazon・・・Amazon Honeycode、Amplify Studio
             Google・・・・AppSheet
             Microsoft・・・Microsoft PowerApps

     将来性が高いジャンル
       開発業務の分業化が進み、
         設計部隊と開発部隊とに分業化され
         開発部隊にノーコード・ローコードツールが採用される

    4.双方の比較

    ローコードノーコード
    ノーコードに比べて拡張性が高い
     コード記述が可能なので、オープンAPI等の利用が可能になる

    利用範囲(目的)が広い
     コード記述が可能なので、必要とする機能をニーズに応じて追加できる

    既存システムと連携できる
     最初からアプリとの連携が用意されている
    非エンジニアでも開発できる
     コードの記述が無いので容易に開発できる

    小規模・単機能システムの開発が楽
     用意されている機能だけで完了する

    開発チームが不要のケースもある
     担当者がツールを利用するだけで開発できる

    拡張やメンテナンスが簡単
     機能拡張等のメンテナンスはベンダーが行う

    5.共通する「強み」

     設計・開発工数を抑えられることが多い
       フレームワーク、DB、ネットワーク等を意識する必要はあまりない
       要件に対してそれぞれの機能をどう組み合わせるかを考える
         事前検討にかかる時間や開発にかかる時間の削減ができる

     インフラ管理の負担が小さいことがほとんど
       クラウド環境やサーバーといったインフラを”込み”で提供している
         利用者は自社環境内に開発環境を構築する必要がほとんどない

       ツール類は世界規模の大手IT企業が提供しているものがある
         コストパフォーマンスの高い環境が得られる
         開発経験が少ないユーザにとって心強い 

    6.デメリット

     開発の”自由度”が低い
       一般的な開発ツールより、機能面で制限・制約を受けやすい
         仕様として対応できない部分があり、制限を受けることがある

       導入に際しては、ギャップ分析等で事前によく確認しておく
         
     大規模開発や先端技術、動的な開発が苦手
       イレギュラーな仕様への対応が苦手
       最先端技術を取り扱いたい場合も苦労する

     「資産継承」問題がある
       ツール提供企業の倒産などあれば事業継続が難しくなる

     セキュリティ・品質面が弱い
       情報漏洩対策・セキュリティ対策はツールまかせ
         クラウド利用のためデータの持ち出し、ツール利用に制約が掛かる

     「シャドーIT」問題を引き起こす可能性がある
       手軽に開発すると管理部門が把握していないシステムが作成される
     
     属人化問題にも気をつける
       手軽なため作成者しか内容を把握していないことが生じる

     ブラックボックス問題がネックになることも
       ツールベンダーに頼るため習熟度が低くなり誰も何も知らなくなる

    7.補足

     注意点:便利で使いやすいので利用するべきだが
           ある程度システム運用が成熟した組織が取り入れるべき
           開発経験のある人が使うと極端に生産性がアップすると思います

           使い易いからと言っても未経験者では全く手が動きません
           不足しているエンジニア対策には直結しません
             ツールを使う人ではなく、全体を読み解く人が必要です
         
         個人が趣味で個人的なシステムを構築する分には利用を勧めますが
         十二分に準備をしてから、組織としての利用を勧めます

  • デプロイ

    1.「ビルド」と「リリース」と「デプロイ」

     ビルド・・・・必要な実行ファイルを作る
     リリース・・・アプリケーションを公開し利用可能にする
     デプロイ・・・アプリケーションを利用可能な状態にするための工程

    2.デプロイ(4つの方法)

     ブルーグリーンデプロイメント
       ブルーとグリーンという2つの環境をあらかじめ用意する
         現在の本番環境をブルーで動かしたまま、新環境をグリーンにデプロイする

       デプロイが無事完了したら
         グリーンに本番環境を切り替える
         グリーンがそのまま本番環境として運用され、ブルーとグリーンの扱いが逆転する
         グリーン環境を維持する必要があるため運用コストが余分に発生する

       新環境でトラブル発生の場合は、
         再びブルーに切り替えることで簡単にロールバックできる

     イミュータブルデプロイメント
       ブルーグリーンデプロイメントの手法を利用したもの
         新環境への切り替え後、問題ないことを確認したら旧環境を破棄する
         デプロイのたびに新しい環境を作っては旧環境を捨てる

     シンボリックデプロイメント
       運用中のサーバー上の別の場所に新しいファイルを配置し、
         サービスが利用しているシンボリックリンクを変更する

       サーバーを増やす必要もなく低コストでデプロイを自動化できる
         ファイルによっては再起動が必要となる場合がある

     ローリングデプロイメント
       複数あるサーバーに対して
         順番にロードバランサーから切り離してデプロイを行う

       一時的に新旧環境が混在するので注意が必要

  • GCP

    1代表的なサービス

     ・BigQuery:ビッグデータを解析するプラットフォーム、データ解析に活用できる
     ・Google App Engine:Googleのインフラ上でウェブアプリケーションの作成・実行・管理等が行える
     ・Cloud Machine Learning Engine:機械学習モデルを簡単に構築できる

     その他(可能なサービスを列挙する)
       ・コンピューティング:高性能な仮想マシンが使える
       ・AI/機械学習:ビッグデータを活用できる
       ・API管理:新たなAPIを開発できる
       ・データ分析:大規模なデータの探索や分析ができる
       ・データベース:ユーザーに提供しているインフラ内にあるデータベースサービスが使える
       ・デベロッパーツール:開発者向けの便利なツールが使える
       ・IoT:デバイスの接続や管理が行える
       ・管理ツール:モニタリングなどができる
       ・メディア:動画のストリーミングなどができる
       ・移行:ネットワーク経由でのデータ転送ができる
       ・ネットワーキング:負荷分散ができる
       ・セキュリティ:機密情報の秘匿化ができる
       ・ストレージ:コンテンツが保存できる

    2.特徴

     安定したインフラ環境
       トラフィックにすぐ対応するよう設計されている
         急激なアクセス増加などの負荷にも耐えることができる

       様々なクラウド、ストレージが利用可能
         追加設定なしでも基本的なアプリのパフォーマンスを視覚的に確認可能

       インフラ面でのスピードが速い
         自動スケーリングが速い
         サーバーのインスタンス起動が速い

     スピードと安定性
       データセンター内は独自開発したネットワーク機器を利用しており、
         ネットワークのスピードが速くなっている

     AI分野のサービスの充実
       機械学習などAI分野のサービスを利用できる
         最先端の機械学習を使ったデータ解析が可能である

     セキュリティ
       第三者認証であるFIPS 140-2を取得している
         データの送受信、保管において、高度なセキュリティが保たれている

     ニーズに合わせた料金設定
       従量課金制のため、秒単位で使った分のみ請求される
         無料トライアル制度が有るので事前に確認しておく

  • 脆弱性診断とペネトレーションテスト

    1.「脆弱性診断」とは

     情報システムに存在するセキュリティに関する問題や、
       サイバー攻撃に繋がる可能性のある脆弱性を見つける

     自動診断ツールと診断員による手動での診断手法を組み合わせて、
       網羅的により多くの脆弱性を見つけるための検査を実施する

    2.ペネトレーション(penetration)テストとは

     「侵入テスト」とも呼ばれる
       攻撃者としてのゴールを設定した上で、
       それが実際に成功するかどうかを検証する

     システムの内部に深く侵入したり、
       管理者権限の奪取、クラウドサービスから重要なファイルを探し出す等
       あらゆる手法を使って検証を行う

     診断員個人のスキルに依存する面がある
       診断員のスキルや熟練度によっては成果は異なる

    3.対応例

     ・脆弱性診断
       網羅的により多くの脆弱性を探すことが目的で、
       攻撃をされるリスクを発見する
         Webアプリケーション診断
           Webアプリケーションを対象とする
         プラットフォーム診断
           サーバーやファイアウォール等のネットワーク機器を対象とする
         ネイティブアプリ診断
           スマートフォンなどのモバイル端末を対象とする
         IoTセキュリティ診断
           IoT機器を対象とする

     ・ペネトレーションテスト
       実際に攻撃が成功するかどうかで
       特定の脆弱性や問題点を発見し攻撃を予防する
         システムの情報収集、OSINT(Open Source Intelligence)調査
           検索サイトを利用した情報収集によって、
             不用意に公開されている情報がないか、
             攻撃の糸口となる情報がないかを確認する
         外部公開サーバに侵入できるかを調査
           プラットフォームやWebアプリケーションについて、
           実際に侵入できる脆弱性があるかを確認する
         疑似マルウェアを用いて、社員のセキュリティモラルを調査
           標的型メールが届いた場合の対応を確認する
         疑似感染により、情報持ち出しができるかを調査
           マルウェアに感染した場合のリスクを確認する

  • サブドメイン

    1.サブドメインとは

     メインサイトの「〇〇.com」を元に
       「□□.〇〇.com」の形式でURLの前に文字列が入るのがサブドメイン

     例として
       Yahoo!知恵袋      https://chiebukuro.yahoo.co.jp/
       Yahoo!オークション   https://auctions.yahoo.co.jp/
       Yahoo!ニュース     https://news.yahoo.co.jp/
       Yahoo!不動産      https://realestate.yahoo.co.jp/

       メイン(https://yahoo.co.jp/)と異なるサイトにはサブドメインを使う

    2.使うメリット

     ・ドメイン費用をかけずに別サイトを運営できる
       追加でドメイン費用をかけずに別サイトを新しく作ることができる

       新規でドメインを購入するには年間千円〜3千円程度の費用が掛かる
         サブドメインで複数サイトを開設すればコスト削減につながる

     ・メインのドメインのパワーを引き継ぐことができる
       元のドメインがSEO対策を講じてアクセスを集めている場合には
       サブドメインも評価が高くなり、検索でのヒット率が高くなる

       ドメインパワーは
       運営歴や月間アクセス数、他サイトからの被リンク数によって左右される

     ・イメージの一貫性を保ちながらサイト運営ができる
       ユーザーが持つブランドイメージの一貫性を保つ

       新しいサービスを始める場合に
         新しくドメインを取得しスタートするより
         サブドメインを使ってドメインの一貫性を保つ方が得策

    3.使うデメリット

     ・SSL証明書の種類によっては追加費用がかかる
       メインサイトで有料のSSL証明書を発行している場合、
         サブドメインの設定で追加の証明書発行が必要になる場合が有る

         企業サイトはOVやEVなど会社名や所在地まで認証することが多い
         それぞれのサイト用に証明書の発行が必要になるケースが考えられる

     ・メインサイトのドメインパワーが弱い場合にはSEO効果が得られない
       サブドメインのドメインパワーはメインドメインのパワーを受け継ぐ
         元々のドメインパワーが弱い場合にはSEO効果が得られない

     ・メインサイトがペナルティを受けたら悪影響を受ける
       メインサイトがペナルティを受けた場合、
         サブドメインもペナルティを受ける可能性がある
           ・質の低いコンテン
           ・質の低いサイトからのリンク 等に注意する

    4.サブディレクトリとの違い

     使い分ける必要がある
       サブドメインはメインドメインと別サイトとして運営する場合に使用する
       サブディレクトリはメインサイトの一部として運営する場合に使用する

     例として
       価格.com        https://kakaku.com/
       価格.com 家電製品   https://kakaku.com/kaden/
       価格.com PC製品    https://kakaku.com/pc/

  • memeplexの誕生

     9月12日記述の作者(Shimizu氏)による誕生秘話より抜粋

    1.Stable Diffusionの登場

     無料の作画AIモデル「Stable Diffusion」が全世界に公開される
       1枚あたりの作画時間はわずか数秒、
       生成された絵の再構成もできる等の
       非常に自由度が高くかなり具体的な絵が描けるモノであった

     たまたま夜中に目が覚めてしまい
       「Stable Diffusion」がどれほどの実力なのか確かめてやろうと、
       試しにPythonのコンソールを起動する

     2時間後、朝日が昇る頃には、
       「日本語で入力すると、英語に翻訳してStable Diffusionに投入する」
       無名のWebサービスを立ち上げる

     「絵を描きたい」という欲求はかなり限定的であり、
       万人が使いたがるサイトになるとは考えていなかった


     ログイン画面

      指示画面

    2.サービス開始

     サービス開始の翌日、グーグルからの請求書を見て驚く
       1日の利用料金が1万円を突破していた

       Stable Diffusionを使う前は、数百円~数千円が請求されるサイトが
         初日で1万円を超えるというのは尋常じゃない、と分かる

       2時間のやっつけで作ったサービスだったため設計がまずかった
         結果、大量のアクセスをお金で捌く、みたいな構造になっていた


         請求金額

    3.緊急対応 Memeplex.appの誕生

     緊急開発でまずサイトを無料会員制に移行し
       名称を「Memeplex.app(ミームプレックス)」とする
         Googleアカウントだけで誰でもサインオンでき
         文化的遺伝子であるミーム(meme)によって構成(plex)される
           ※ミームとはインターネット上で流行るネタ

     作画リクエストのキュー(作画の処理待ち)を一人一人が個別に持つようにし
       数日かけてサーバー負荷を減らす仕組みにする

    4.コスト問題

     作画を担当する高性能なGPU(Graphics Processing Unit)マシンが不足する
       当初は開発用のGPUマシン数台でMemeplexの作画をやりくりする
       ユーザーが増えてくると殺到するリクエストをさばききれなくなる

       追加購入することにして見積もってみると1台35万円になる
         AIでの作画には高性能なパソコンでが必要

     膨大な電気代が心配になる
       24時間、空調で冷やし続ける必要があることを考えると、
       電気代が月に十万円を突破しそうなことは想像できる

     正直、途方に暮れる

    5.救いの神

     助け舟をだしてくれたのが、さくらインターネットの田中社長
       「お困りでしょう、すぐにGPUサーバーを用意します」
       石狩のデータセンターにあるGPUサーバーを9台を、
       無償で貸していただける

       一度に申し込める限界の9台を申し込む

     さくらの高火力サーバーを使うと数秒で1枚の作画を完了できる
       並列処理で9つの画像を同時に作図している

  • HTMLメール

    かつては敬遠されていたHTML形式のメール、現在はどういった認識で使われているか

    1.メリット

     ・ホームページのように表現できるので視覚的に内容が伝えやすい
       画像を自由に配置でき、文字の大きさや色の変更も自由に設定できる
         ビジネスメールよりメールマガジンや企業からのお知らせ等に多用される

     ・受信者のアクセスの解析に使える
       メール内のURLリンクにパラメータを埋め込むことができる
         クリックされた項目から受信者の興味等が把握できる
         メールでのマーケティングに適している

    2.デメリット

     ・HTML形式のメールを読まない受信者がいる
       テキストで読む受信者がいる
       表示画面が崩れると読み飛ばす受信者がいる

       対策として、テキスト本文とWEB画面の両方を送信する

     ・HTMLを記述する知識が必要となる
       複数のサイトから同時配信するには面倒

       専用のWEBアプリを使って容易に作成・送信するサービスがある

     ・メールサイズが大きくなる
       画像を添付するとその分メールサイズが大きくなり、サーバに負荷をかける
       受信者のメールボックスの容量を圧迫する
         画像のダウンロードにも時間が掛かる

       画像をリンク形式で送っても受信者がクリックしない限り読み込まれない

     ・スパムメールに利用される
       ホームページ風に表示するということはURLリンク等を騙すことができる
         クリックし詐欺サイトへ誘導されてしまう

       普段知らないところか来たメールは、必ずテキスト文で表示し確認する

    3.現状

     昔から「HTMLメールは危険です」と言われ続けている
       現在でもHTML形式のスパムメールは非常に多い
       さらに年々巧妙なメールが出現している

       WEB形式の綺麗な画面を送ることで
         送信者の意図をアピールするには有効な手段である

       不審者からのHTMLメールを受信したら要注意
         信頼関係を築いた方にはHTMLメールの許可を得てから送る

  • CRL

    1.PKIの説明

     公開鍵暗号基盤( Public Key Infrastructure)は、
       公開鍵と秘密鍵のキーペアからなる「公開鍵暗号方式」という技術を利用し、
       インターネット上で安全に情報のやりとりを行うインフラ(基盤)

    2.公開鍵暗号方式

     暗号化(復号)するときに「公開鍵」と「秘密鍵」という別々の鍵を使う
       「公開鍵」は公開されている誰でも取得できる鍵
       「秘密鍵」は 受信側だけが保持している鍵

     「秘密鍵」の管理を厳重に行えば、
       万が一第三者が公開鍵を入手したとしても秘密鍵が無い限り解読できない
       暗号化された文書の内容が漏れてしまうことはない

     インターネットだと非常に有効性が高い方法
       送信者が秘密鍵暗号化し、受信者が公開鍵復号すれば
       送信者が本人である安全な情報と証明できる

        秘密は一つしかない、且つ本人だけが所有しているから

    公開鍵暗号方式

    3.デジタル証明書

     受信者が受け取った鍵の所有者を確認するために
       送信者が公開鍵を配送する際に添付する一連のデータセット
       認証局(Certificate Authority)と呼ばれる機関が発行する

     送信者は認証局に自らの識別(身元)情報や公開鍵を申請し、
       認証局の秘密鍵でデジタル署名されたデジタル証明書を作成してもらい、    
       これを受信者に渡す
     受信者は証明書から公開鍵を取り出し署名を検証することで、
       認証局がその公開鍵が送信者本人のものであることを確かめる

     ブラウザを使用しhttpsのWebサイトにアクセスする
       アドレス欄に鍵のアイコンが表示されるのでアイコンをクリクし
       「証明書の表示」を選択すると証明書の内容が表示されます

    4.CRLの説明

     証明書失効リスト (Certificate Revocation List) は、
       認証局 (CA) 毎に更新・作成する
       有効期間内に失効させられたデジタル証明書のシリアル番号が記述されたもの

     デジタル証明書の受信者(アプリケーション)は
       証明書とCRLを照合することにより、証明 書が現在も有効であるかどうか確認する

     CRLは、受信者(アプリケーション)に対して公開される

  • Mac用セキュリティー対策

    1.標準で備わっている機能

     Gatekeeper
       信頼できるソフトだけがMacで実行されるようにしてくれる機能
         不正ソフトをユーザーが誤って実行しないように見張ってくれる

       Appleによって審査が行なわれるApp Storeで公開されているソフト
       または
       「Developer ID」を取得した「証明書」付きのソフトだけが実行される

       出所不明のソフトを実行しようとしても警告が表示され、
         ユーザーが不注意で実行してしまうことを防いでくれる
         
         インターネットからダウンロードしたソフトを
         ユーザーが起動しようとしても警告ダイアログが出る

    Gate Keeper1

    Gate Keeper2

     XProtect
       マルウェア検出機能
         macOSに標準で搭載されているアンチウイルス機能で、
         マルウェアの特徴的なパターンを検出し、
         万が一マルウェアが見つかったときはMRTによって駆除する
           MRT(Malware Removal Tool)

         バックグラウンドでユーザーを常に守っている
           定義ファイルを自動でアップデートしたりはしない

    Xproect

    2.自ら行うセキュリティー対策

     (1)OSは自動で最新の状態に保つようにする
       最も重要な項目、悪意ある攻撃者はOSの脆弱性を狙って攻撃を仕掛けてくる

       ユーザーがアップデートをしなければ、無防備な状態がずっと続いてしまう
         システム環境設定の[ソフトウェア・アップデート]パネルを開き、
         設定されている情報を確認しておく

    Update1
    Update2


     (2)そのほかのソフトも最新版を使用する
       OS以外のソフトも、極力最新のバージョンを使うよう心がける
         SafariはmacOS側で自動更新が行なわれる
         Google ChromeやFirefox Microsoft Edgeも自動更新の仕組みを持っている

         App Store経由で入手したソフト
           システム環境設定の[ソフトウェア・アップデート]パネルで設定で
           [App Storeからの・・・をインストール]にチェックを入れておく
         App Store以外の方法でインストールしたソフト
           基本的には自動で更新チェックを行なうはず

    Updte3

     (3)ファイルの拡張子を常に表示する
       マルウェアが仕込まれているプログラムファイルは、
         時として他のファイル形式に偽装していることがある
           フォルダの中に覚えのないファイルを発見して思わずクリックすると
           マルウェアの実行ファイルを起動させることになる

       設定は、[Finder]メニューから[環境設定]を選び、
         開いたウィンドウの[詳細]タブの中にある
         [すべてのファイル名拡張子を表示]にチェックを入れる

    extent


     (4)詐欺Webサイトは警告を表示する
       マルウェアは、悪意のあるWebサイトの中に潜んでいることがある
         さまざまな場所にマルウェアへのリンクが埋め込まれており、
         ユーザーが気づかないうちにダウンロードしてしまう

         Safariには悪意あるWebサイトへの訪問をブロックする機能がある
           改めて設定を見直し、チェックが外れていたらオンにする

    scam


     (5)画面ロックの解除にはパスワードを要求する
       スリープやスクリーンセーバーの解除時にパスワードを要求する
         マシン盗難時の情報漏洩を防げたり
         一瞬席を立ったときに
           情報を盗み見る、マルウェアを仕込む等を防ぐ

       今はTouch IDによる手間をかけずにロックを解除する方法が用意されている

    lock1

    lock2


     (6)ファイアウォールを有効にする
       ユーザーの意図しない通信を遮断する機能
         macOSにも標準でファイアウォール機能が用意されている
           ネットワークの外側からMacに侵入してくる通信を遮断する
           マルウェアを仕込まれるような被害をある程度防げる
         
         Macは標準でファイアウォールがオフになっているので
           システム環境設定の[セキュリティとプライバシー]パネルから
           設定をオンにする

           続いて[ファイアウォールオプション]ボタンを押して、
           ファイアウォールの設定を行なう

         [内蔵ソフトウェアが・・・を自動的に許可]や
         [ダウンロードされた署名付き・・・を自動的に許可]の2つは
           ユーザー次第の設定となる

    firewall1
    firewall2
    firewall3

     上記のような確認ダイアログが表示された場合
       どのソフトからの接続要求なのかをしっかり確認したうえで、
       信用できるソフトなら[許可]を押す
       許可したソフトは許可ソフトのリストに登録される

  • 逆ポーランド記法

    1.概要

     「後置記法」とも呼ばれる
       被演算子を最初に列挙し, 演算子を最後に記述する

    2.特長

     逆ポーランド記法は計算機に計算を指示する場合に都合が良い
       式を前から順番に読み,それをスタックに積んでゆく
       演算子を読んだら,必要な被演算子(引数) をスタックから取りだし
       演算を行い
       演算結果をスタックに返す

       単純な処理で計算を進めることができる

    3.例題

     A=1,B=3,C=5,D=4,E=2のとき、AB+CDE/-* の演算は


       1.Aを格納(スタックには1が格納)
       2.Bを格納(スタックには3と1が格納)
       3.2つ数を取出し、足し算し、
         (1+3 = 4)をスタックに格納する(スタックには4が格納)
       4.Cを格納(スタックには5と4が格納)
       5.Dを格納(スタックには4と5と4が格納)
       6.Eを格納(スタックには2と4と5と4が格納)
       7.2つ数を取出し、割り算し、
          (4÷2 = 2)を格納する。(スタックには2と5と4が格納)
       8.2つ数を取出し、引き算し、
          (5−2 = 3)を格納する。(スタックには3と4が格納)
       9.2つ数を取出し、掛け算し、
          (4×3 = 12)を格納する。(スタックには12が格納)

  • アプリのインストール先

     必ずこうだと決まっている訳ではないが
       アプリのインストール先を探し出したい際には
       この順番に探すと見つかり易いというだけです

       下記の順にインストールするので、探す際にはこの順で探す
         /bin
         /sbin
         /usr
         /usr/local
         /opt

    1./bin /sbin /usr

     パッケージ管理システムの対象となるアプリのインストール先
       ユーザがこの場所を直接指定してインストールすることは無い
         ※ユーザがインストール先を選択すことは先ずできない

    2./usr/local

     パッケージ管理システムの対象外となるアプリのインストール先
       /usrのローカル版、/usrと同じ構造をしている
       ユーザが自由に指定して使用する

       パスが通っているので、コマンド等で起動を掛けるアプリ向き

    3./opt

     主にサードパーティー製アプリのインストール先
       ユーザ作成のアプリのインストール先として使用できる

       パスが通っていないので、ショートカット等で起動を掛けるアプリ向き

    4.補足

     以下のフォルダーにはパスが通っており、コマンド等はこの順番で検索する
       /usr/lib/lightdm/lightdm
       /usr/local/sbin
       /usr/local.bin
       /usr/bin
       /sbin
       /usr/games
       /usr/local/games  以上です

  • スマホアプリ開発言語

    スマホアプリ開発のプログラミング言語5選

    1.Flutter(フラッター)

     個人でさくっと開発・公開
     Google社が提供しているフレームワーク
     単一のコードで、Android、iOSの両方に対応した
       アプリケーションを開発することができる

     「Android Studio」や「Visual Studio」や「Xcode」の
       どれかの開発ツールにインストールしてコーディングする
     開発言語は「Dart」
     JavaScriptとよく似ている言語

    2.React Native(リアクトネイティブ)

     Meta(旧Facebook)が提供しているフレームワーク
     Android、iOS、の両アプリの開発に対応できる
     「Android Studio」や「Visual Studio」や「Xcode」を
       開発ツールとして使い「React Nativeプロジェクト」を生成する
     開発言語は「JavaScript」もしくは「TypeScript」

    3.SwiftUI(スウィフトユーアイ)

     Apple社が開発したプログラミング言語
     iPhoneアプリやMacアプリのフレームワーク
       ユーザーインターフェースを簡単に構築できる
     開発ツールは、「Xcode」を使う

    4.Kotlin(コトリン)

     Android公式開発言語
     Javaとの相互利用もでき、Javaよりもコード数が少なくて済む
     開発ツールは「Android Studio」を利用する

    5.Unity(ユニティ)

     ゲーム開発プラットフォーム
     クロスプラットフォーム対応で
       モバイルゲームやパソコンゲーム、などの制作に用いられる
     開発言語は「C#」
     開発環境の利用のみならず、
       アセットと呼ばれる「3Dオブジェクト」を売買することができる

  • GitHub

     ”バージョン管理システム”の一つである
       「Git」は主に個人で使用するが、複数人で使用するのが「GitHub」
         個人が持つ「ローカルリポジトリ」をWebを使って集約し
         サーバー上に「リモートリポジトリ」を構築しバージョン管理する

    「リポジトリ」の意味
       バージョン管理される「ファイル、履歴情報」を保管する領域のこと
       
     個人のローカル環境に「Git」を使って「ローカルリポジトリ」を構築し
       作業が完了した時点でサーバーの「リモートリポジトリ」にアップする
       サーバー側の「リポジトリ」は共有され、グループでの共同作業が可能
       
       必要な都度、サーバーより「リポジトリ」をダウンロードし修正する
       修正が終われば再度サーバーに「リポジトリ」をアップする

     以上のように変更したリソースだけでなく、
       管理情報を一緒に受け渡すことによって、バージョン管理を行う


    文書管理に使っている事例

     経済産業省ではモデル契約書への意見募集をGitHubを使って行っている
       https://www.meti.go.jp/press/2021/05/20210517003/20210517003.html

       どの意見に対する意見なのかが紐づけされて分かりやすい

  • Git

     ”バージョン管理システム”の一つである
       「Git」は主にプログラム開発の現場で使われて来たので
         「プログラムコード」のバージョン管理に適している思われているが
         「マニュアル」や「議事録」等の文書に関するバージョンが可能

       当記事は「開発サポート」のカテゴリーに属しているが
         バージョン管理を広く捉えて事務作業の管理にも使用することが可能

     よく使われるバージョン管理の方法として
       ファイル名に更新日付を付けたり、担当者別にホルダーを分けたりする
       よく管理されていれば便利で簡単な管理方法ではあるが

       ファイルが作成されて現在に至るまでの更新履歴が一切わからない
       どの時点のどのファイルが使用目的に合っているのかが分からない
         「Git」はこういった悩みを見事に解決してみせる

     「Git」は仕組みを理解するのに時間が掛かるという難点はあるが
       履歴を辿り「いつ、誰が、どのように、修正した」かが分かる利点がある

  • 機械学習の主な用途

    1.クラスタリング(clustering)

     データ間の類似度にもとづいて、データをグループ分けする
       教師なしの学習で行う、データの特徴を学習した上でグループ分けをする
       ユーザの嗜好をグループ化する場合に使用する

    2.クラス分類classification

     事前にクラスが割り当てられたサンプルをクラスごとに分類する
       教師あり学習で行う、先にクラスに関する情報が必要となる
       迷惑メールの分類や画像の識別に使用する

    3.レコメンデーション(recommendation)

     ユーザの過去の購入履歴や閲覧履歴からおすすめの商品やコンテンツを表示する
       ECサイトの「おすすめ」に使用されている
       情報サイトや動画配信サービスなどで活用されている

    4.回帰(regression)

     過去の連続する値から次の値を予測する
       宣伝広告費と来店者数の関係を分析する際に使用する
       売上高や株価、機器の需要予測に使用する

    5.情報圧縮(information compression)

     データの特徴を維持しながらデータ量を減らす
       データをぎゅっと小さくする
       相関関係がある場合に片方のデータだけ残す際に使用する

  • ネットワーク機器

    ネットワーク機器

    1.ハブ

     LANで使われる集線装置
       各PCに接続されたケーブルはいったんハブに接続され、
       ハブを介して相互に通信する

     カスケード接続
       イーサネットではハブ同士を接続して繋げることで
       接続できるPCの台数を増やすことができる

       通常は3~4段階程度までにハブを接続することができる
         それ以上接続するとスピード等が落ちる

    2.リピータ

     ケーブル上を流れる信号の再生および中継を行なう機器
       単純に片方から送られてきた信号を片方に送出するだけ

       本来中継しなくてもよい信号も中継してしまう
         イーサネット同士と言った、同じネットワーク間を中継する

    3.ブリッジ

     ケーブル上を流れるデータを中継する機器
       イーサネットと他のLANの媒体など、
       媒体の異なるネットワーク間を中継する機能を持つ

     フィルタリング機能
       転送先のMACアドレスを見て適切なポートにのみ信号を中継する

    4.スイッチングハブ

     中継機器であるハブの一種
       スイッチングハブはブリッジとして働き、
         端末から送られてきたデータを解析してあて先を検出し、
         送り先の端末にしかデータを送信しない

     ネットワーク全体の負荷が軽減し、セキュリティが向上する
       通常のハブはリピータとして働くため、
       ある端末から送られてきたデータをすべての端末に対して送信し、
       データの取捨選択は各端末が行なうので端末の負荷が増加する

    5.ルータ

     ネットワーク上を流れるデータを他のネットワークに中継する機器
       LAN同士やLANとWANを接続する装置

     ルーティング機能(経路選択機能)
       IPアドレスを見て、どの経路を通して転送すべきかを判断する

    6.NIC

     PCやプリンタなどをLANに接続するための拡張カード
       本体に用意された拡張スロットに挿入して使用する

     別名として
       「ネットワークカード」「ネットワークアダプタ」
       「LANボード」「LANカード」等々

     全てのNICには世界中で固定のMACアドレスが付けらる 

    7.ネットワークケーブル

     普及している有線LANの規格はイーサネットタイプ
       10BASE-T、100BASE-Tで使われるツイストペアケーブル(より対線)

     電話線のモジュラージャックと形は似ているが、
       ツイストペアケーブルの口の方が少し大きいのが特徴

  • Mermaid(マーメイド)

     Mermaid(マーメイド) は独自の記法で図やグラフを描画する
       Markdown のコードブロック中に記述するだけで図が完成する

     2022年2月14日、GitHubが以下の様に発表した
       GitHub上でJavaScriptベースの作図ツール
       「Mermaid」が使えてインラインで作図が可能になったと

     テキスト定義を使用すると、様々な図が作成される
       フローチャート、UML、Gitグラフ
       ユーザージャーニー図、ガントチャート

       ソフトウェアプロジェクトでよく使われる図をサポートする

    <使用例>

    ```mermaid
      graph TD;
          A-->B;
          A-->C;
          B-->D;
          C-->D;

     上記のようにテキスト文をGitHubに入力すると
       こういった図になって表示される

  • メール乗っ取り

    1.メールアドレスの流出と乗っ取りの違い

     メールアドレスが流出すると
       迷惑メールが届く、様になる
       パスワードを盗まれなければ、不正アクセスはされない

     メールアドレスが乗っ取られると
       パスワードが盗まれており、他人にメールアドレスを使われる
       勝手にログインし、本人になりすましてメールを発信する、様になる

    2.メールアドレスが乗っ取られる原因

     乗っ取るには、メールアドレスとパスワード双方の情報が必要
       どういった原因で情報が盗まれるのか

     原因1:推測されやすいメールアドレス
       公開ドメイン +  ”よく作られるアドレス” で推測できる
         ドメインは公開情報なので、誰にでも推測可能です
         WebサイトのURLに使われているドメインなら、直ぐに分かります

         メールアドレスは「ドメイン+文字列」が原則ですから
           文字列部分を推測するだけでメールアドレスになります

         ”よく作られるアドレス”の例
           admin、root、web、info、test、postmaster等
           これらのアドレス宛にメールが届くのは至極当然の事
       
       プログラム等で自動収集して推測できる
         Webサイト上に掲載されているメールアドレスは、
           プログラム等でネット上で自動収集することができる
           問い合わせ先としてアドレスを記載すると、簡単に収集される

     原因2:推測可能なパスワード
       単純な文字列は推測できる
         パスワードの文字数が少ない
         数字だけ・アルファベットだけの単純なパスワード
         メールアドレスの文字列の一部と同じ
         個人情報から推測できる(住所、出身地、ペットの愛称等々)
         名前のローマ字表記や誕生日 等々

       総当たりで推測できる
         考えられる文字列の組み合わせをすべて試すことで推測する
         ブルートフォースアタックとも呼ばれる

         プログラムなどを利用して、全ての文字を総当たりで調べる
           桁数なども重要な情報になるので漏らさないこと

    3.乗っ取りされて起きる被害

     メールを盗み見られる
       メールアカウントにログインされ、
         サーバー上に残っているメールは全て盗み見られる

       プライバシーを保て無いだけでなく、
         関係者しか知り得ない機密情報が流出する、恐れがある

     フィッシングサイトへの誘導に利用される
       迷惑メールの発信元アドレスとして使われ、不特定多数へメールが届く

     ドメインやサイトが利用出来なくなる
       大量の迷惑メールが同じアドレスから配信されると、
         メールサーバー提供業者に不正利用と判断され、
         アカウントが停止になる(ブラックリストに掲載される)

         不正利用と判断されることで、ドメインの価値が下がる
           ブラックリストは公開される、と考える

    4.乗っ取りされた場合の対処法

     対処法1:パスワードを変更する
       ログインできる場合だと即座にパスワードを変更する
         今度は推測が不可能なパスワードにする

     対処法2:サポートスタッフに相談する
       ログインできない場合には、先ずメールサーバー提供業者に連絡する
         善後策を相談の上。指示に従って対処する

    5.乗っ取りされた場合に行うべきこと

     関係者への連絡
       アドレス帳に登録している(頻繁に情報交換する)方へ連絡を入れる
         登録されている人へスパムメールが送られる可能性があるので
         事前または事後になるが連絡を入れておく

       既に不審な内容でメールが送られている可能性が有るので
         事情を説明し、削除もしくは無視する様にお願いする

     ウィルスチエックの実施
       ウィルスが仕込まれていないか、ウィルスチェックを行う
         一般的なセキュリティソフトを使う

    6.乗っ取りの防止策

     不正アクセスへの対策が取られているメール業者を使う
       一定回数以上の入力間違いをブロックする(総当たりを防止)
       単位時間当たりの送信を制限している(大量送信を防止)

     複雑なパスワードにする
       簡単な文字列や、個人情報から推測できるパスワードを避ける
       他のサービスと同じパスワードを使い回ししない

     2段階認証を利用する
       メール業者に確認し、可能なら2段階認証を設定する
         他の通信手段(SMS等)で本人確認を行う方法を利用する

     メールアドレスの収集を防ぐ
       サイト上にアドレスを載せない
       予測されない文字列にする

     不審なメールやリンクをクリックしない
       クリックするだけでアドレスが登録され再利用される、恐れがある
       ウィルスに感染するリスクが発生する

  • OGP

    OGPを設定するとSNSで共有された際にタイトルや画像、説明文などが表示される

    1.設定した際の利点

     OGP設定をしていなかった場合、
       TwitterやFacebookなどのSNS側が自動的に説明文や画像を表示するので
       伝えたい内容がユーザーに思い通りに伝わらない

     適切に設定することで、どのようなページで何を伝えたいのかが明確になる
       URLが共有されユーザーへの訴求率が高まり、
       より多くの人に記事を見てもらうことが可能になる

    2.設定内容

     OGPはmetaタグをHTMLソースコード内に追加記述する
       
     追加する内容

    <head prefix=”og: http://ogp.me/ns#>
    <meta property="og:url" content=" ページの URL" />
    <meta property="og:type" content=" ページの種類" />
    <meta property="og:title" content=" ページの タイトル" />
    <meta property="og:description" content=" ページの説明文" />
    <meta property="og:site_name" content="サイト名" />
    <meta property="og:image" content=" サムネイル画像の URL" />

     内容説明

    og:urlOGPを設定するWEBページのURLを指定する
     URLは相対パスではなく絶対パスで記述する
    og:typeページの種類を指定する
     SNS上での表示形式が変わってくる
       website: WebサイトのTOPページ
       blog: ブログのトップページ
       article: 記事ページ等、WebサイトのTOP以外のページ
       product: 製品の紹介ページ
       その他については(Open Graphプロトコル
    og:titleページのタイトルを指定する
     通常はサイトのものと同じ内容を指定する
     別のタイトルを設定するとそちらが優先して表示される
       文字数は20文字以内
    og:descriptionページの説明文を指定する
     文字数は80〜90文字
    og:site_nameページのサイト名やブランド情報を記述する
     「og:site_name」に設定する
    og:imageSNS上でシェアされた際に表示する画像を指定する
     絶対パスで指定する
     Facebookでの設定にはサイズを1200px✕630pxにする

    3.Twitterとの共有

     Twitterでは基本的なOGP設定に以下を加える

    twitter:cardTwitter上での表示タイプを指定する
     summary:タイトル、説明、およびサムネイル
     summary_large_image:summary cardと同じ形で、
           画像の大きさがそれより大きいもの
           Facebookのカードに近い形
     app:アプリ配布用の表示カード
          アプリの名前や紹介文、
          アプリアイコンに加えて、評価や価格などの表示
     player:ビデオやオーディオなどのメディアを表示できるカード
    twitter:site@から始まる、コンテンツの作成者や管理者のTwitterユーザーID

    4.Facebookとの共有

     基本的なOGP設定にapp_idを取得して追加設定する
       facebook for developers (https://developers.facebook.com/apps)で取得する
       OGPの設定やFacebook用アプリを作成する際に必要なID

    fb:app_idサイトやブログの管理者をFacebookに伝える、15文字の半角数字
     Facebookインサイトを利用できるようになり
       Facebookインサイトを利用できるようになります
         いいね!の数
         どれくらいの人が見てくれたのか
         どの時間帯がユーザーの目にとまりやすいか
  • Facebook(その3)

    1.HPやブログに有る「いいね」ボタン

     ・ボタンを作成する(HP等の作成者が事前に作成して設置します)
        「いいね」ボタンと「シェア」ボタンを以下の様に組み合わせて
        Facebookに掲載して欲しいWebページに設置しておく

     



     ・「いいね」と「シェア」ボタンの押下
        閲覧者が各ボタンをクリックすると、閲覧者のFacebookにどう表示されるか?

     
    いいね シェア
     「あ、これいいな」と思ったときに押す  「あ、この情報を他の人にも教えたい」と思ったときに押す
     タイムラインに、いいねしたWebページの情報が表示される  タイムラインに、シエアしたWebページの情報が表示される
    ---  友達のニュースフィードにシェアしたWebページの情報が表示される
  • Facebook(その2)

    1.Facebookページの二つの「いいね」

     ・カバー画像の下、プロフィール画像の右側にあるメニューの場合
        Facebookページ全体の扱いについて指定する
        各メニューをクリックすると、閲覧者のFacebookに何が起きるか?

    いいね フォロー シェアー
     ページへの投稿記事がニュースィードに表示される --- ---
     プロフィールの基本データセクションに、「いいね!」したページとして表示される  プロフィールの基本データセクションに、フォローしたページとして表示される  タイムラインに、シエアしたページとして表示される
     フォローしている他の利用者のニュースフィードに、ページの更新情報が表示される  フォローしている他の利用者のニュースフィードに、ページの更新情報が表示される ---
     「いいね!」した利用者の氏名または顔写真が、ページの広告に利用される --- ---


     ・投稿記事の下にあるメニューの場合
        Facebookページに投稿された個々の記事について指定する
        各メニューをクリックすると、閲覧者のFacebookに何が起きるか?

    いいね コメント シェア
     投稿記事に「いいね」が付与される  投稿記事に「コメント」が付与される  投稿記事が閲覧者のタイムラインに投稿(コピー)される
     記事作成者の友達のニュースフィードに「いいね」したことが表示される  ---  閲覧者(シェアした人)の友達のニュースフィードに記事が表示される

     記事作成者の友達に「いいね」が拡散される

    ---  閲覧者の友達に投稿記事が拡散される

      (注)必 ・・・ 必ず行われます
         適 ・・・ Facebook側の判断で行われます(親密度などが基準かも)


     ・投稿記事の下にある「いいね」の種類
        Facebookページに投稿された個々の記事への単なる感想として使い分ける

    左順 いいね!
    (Like)
    超いいね!
    (Love)
    うけるね
    (Haha)
    すごいね
    (Wow)
    悲しいね
    (Sad)
    ひどいね
    (Angry)



     ・「いいね」のカウントがアップされるタイミング
          ・ウェブページ上の「いいね!」ボタンを押した時
          ・ウェブページ上の「シェア」ボタンを押した時

        上記の他に
          ・「いいね!」に「いいね!」した時
          ・「いいね!」にコメントした時
          ・シェアに「いいね!」した時
          ・シェアにコメントした時

  • Facebook(その1)

    1.個人ページとFacebookページ

    個人ページ Facebookページ
    知り合いだけで情報交換する場 宣伝や広報に活用できる情報発信ツール
    友達申請ができる(5,000人) 友達申請はできない
    --- ページの「いいね!」を押して、友達ではなく「ファン」になる
    ログインして閲覧する ログインしなくても閲覧できる
    --- 投稿内容はファンのニュースフィードに表示される
    友達の個人ページに「いいね!」や書き込みができる Facebookページに書き込みができる
    広告は出せない 広告が使える
    投稿した内容は検索エンジンの
    検索対象にならない
    投稿した内容は検索エンジンの
    検索対象になる
    インサイトが使えない インサイトが使える
  • SNSボタンの設置

    HPとブログの双方にSNSボタンを設置する

      数ある中で【AddToAny】を選択する
        ・双方への設定手順が簡単である
        ・同じ手順でWebページとWordpress記事に設定できる
        ・アカウント(メール)登録せずに使用できる(先方関係者よりメールが来ない)

    (1)HP用のSNSボタン作成・設置
      ・AddToAnyのHPに入る

      ・「共有ボタンを取得する」 ⇒ 「すべてのウェブサイト」をクリックする
        必要なSNSを選択する
        ボタンを気に入ったレイアウトにする

      ・ボタンの仕様が決まったら、「ボタンコードを」クリックする
        枠の中にHTMLソースが表示される

      ・上記のHtmlソースを必要なページの位置に貼り付ける
        ※中央への設置は後述

    (2)Wordpress用のSNSボタン作成・設置
      ・プラグインをインストールする
        管理画面に入り、「プラグイン」 ⇒ 「新規追加」 ⇒ 「AddToAny Share Buttons」
          インストールし有効化する

      ・SNSボタンの仕様を決める
        ※ほぼHP用と同じ手順でボタンの仕様を決める

      ・ボタンの設置場所を指定する
        自由に幾つでも指定した場所にSNSボタンを設置できる

      ・変更内容を保存する
        後は必要に応じて管理画面から修正する

    (3)HP用のボタンをページ中央に表示するには
      ・以下のコードを<head>~</head>の間に挿入する

    <Style type = "text/css" >
    #my_centered_buttons {display: flex; justify-content: center; }
    


      ・ボタン設置のコードにセレクターIDを追加する

    <div id="my_centered_buttons" class="a2a_kit a2a_kit_size_32 a2a_default_style">
    

        ※IDの名前は任意(styleと同期が取れれば良い)

  • ファイルのダウンロード

      PHPで【header()】を使ったファイルのダウンロードを行う
        ・ファイル形式
        ・ファイルサイズ
        ・ファイルのリネーム
      上記を用意してダウンロードしたいファイルを読み込むだけで完了です

      (1)ファイルの形式を指定します
        header(‘Content-Type:application/force-download’); と指定する
          ※特定のファイル形式(例PDF等)も指定できる

      (2)ファルサイズを指定する
        header(‘Content-Length: ‘.filesize($filepath)); と指定する
          $filepath・・・・・ダウンロードするファイルをパス名まで指定する
            ※指定することによって、ダウンロードの進捗が%表示される

      (3)ファイル名をリネームする名を指定する
        header(‘Content-Disposition: attachment; filename=”‘.$filename.’”‘); と指定する
          $filename・・・・・ダウンロードしたファイルに付ける名前を指定する

      (4)ファイルを読み込む
        readfile($filepath) で読み込む
          ※容量の大きなファイルにはreadfile命令を使用する
     

  • 第17回ボラフェス参加

    第17回 ボランティア市民活動フェスティバルに参加しました

      今年の展示内容は
        「大人のプログラミング」と題して
          ・【スクラッチ】を使ったプログラミング事例の発表
          ・「電子版ハザードマップ」の事例発表

       
  • Blogger(ラベルの階層表示)

    Blogger(Google製品)はラベルを記述して投稿記事を分類できるが、階層表示ができない
      ラベルをカンマで区切って、ラベルを選択表示はできる

      Jqueryを使って階層表示を行い、不要な部分を折り畳む機能を加えた
        修正前と修正後のソースを載せておくので、修正ポイントについては双方を比較してください

    日本の名著  (修正前)

    日本の名著  (修正後)

    日本思想体系 (修正前)

    日本思想体系 (修正後)

     

  • Pocket WiFi 303ZT

    幾つか仕様を調べてみた
      ソフトバンクが提供するモバイルデータ通信機器

    機器
    ポケットWi-Fi


      (1)最大同時接続台数
        14台
          あくまでも論理的な数であり、容量等の物理的な制約を受ける

        複数のPCを接続した場合、14台の椅子をめぐってPC側では椅子取りゲームになる
          インターネットを使用しているPCはずっと繋がりっぱなし
          インターネットを使用していないPCは一定時間が経過すると
            モバイルデータ通信機器【Pocket WiFi 303ZT】がPCを切り離す
            切り離されたPCは一定時間が経過すると自らモバイルデータ通信機器に繋ぎにいく
            こうして、眼に見えない所で交互に繋がったり切り離されたりが繰り返される

      (2)マルチSSID
        【SSID A】と【SSID B】の2種類がある
          ・【SSID A】は通常の無線LAN環境を提供する
            14台のPCがインターネットに繋がる
            同一LAN環境となり各PC間でのアクセス(共有にすれば)が可能になります
          ・【SSID B】は他の機器(スマホやゲーム機)で使う
              ※AとBの使い方は逆でも構いません
            Aとは異なるパスワードを設定できます
            ソフトバンクWi-Fiスポット(公衆回線)に繋がるようになる
              異なる回線スピードでネットワークに繋がる
            セキュリティー保護の(共有させない)ために
              LAN環境は提供されず、個々の機器が直接ネットワークに繋がる

        マルチで使っても、最大接続数は増えない、14台のまま


      (3)ソフトバンクWi-Fiスポット
        徐々に増えてはいるが、念のために下記のサイトで検索して確認する
          http://www.softbank.jp/mobile/network/wifispot/

  • SNSを活用した市民参画

    5月11日(月) 市民協働課に申請書を提出した
      標題は「SNSを活用した市民参画」

    RFP
    RFP

    資料1
    提出資料1

    資料2(1)
    提出資料2(1)

    資料2(2)
    提出資料2(2)

    資料3
    提出資料3

    会則(1)
    提出会則(1)

    会則(2)
    提出会則(2)

    規約
    提出規約


    参考資料(1)
      平成26年 総務省 報道資料

        電子自治体の取組みを加速するための10の指針

    指針
    指針

    パブリックコメント
    パブリックコメント


    参考資料(2)
      平成25年度 情報通信白書
        第1部 特集「スマートICT」の戦略的活用でいかに日本に元気と成長をもたらすか
        第2章 ICTの活用による社会的課題の解決
        第1節 電子行政とオープンデータ
        第3項 電子行政推進と国民・地方自治体の認識(アンケート結果)
        (2) 地方自治体の認識・取組状況  を参考にした

    ICTの活用による社会的課題の解決
    第2章


    参考資料(3)
      平成24年 国立民族学博物館調査報告
        情報化時代のローカル・コミュニティ ―ICT を活用した地域ネットワークの構築 ―
        第4章 国・自治体による地域 SNS

    国・自治体による地域 SNS
    第4章


    参考資料(4)
      平成18年 電子自治体の推進に向けた施策展開

    電子自治体の推進に向けた施策展開
    全文


    参考資料(5)
      平成17年 ICTを活用した地域社会への住民参画のあり方に関する研究会

        住民参画システム利用の手引き

    住民参画システム利用の手引き
    要約
  • スマホアプリを業務で利用する

    スマホアプリをバックエンド(社内システムや企業クラウド等)に接続する
      (1)接続方法の違い
        フィーチャーホンの場合
          携帯回線を通じて通信事業者のネットワークを利用する
        スマートホンの場合
          携帯回線やWiFiルータを通じて無線LAN
          PCとの区別無く繋がる

      (2)接続方法の種類
        ・VPN利用して接続する
          OSが標準で搭載しているVPNクライアント機能を利用する
          社内のPCと同様にサーバーにアクセスできる
            利点
              安全なネットワーク接続が実現できる
              サーバー側にアプリを導入するだけでシステムが構築できる
            欠点
              都度、接続と切断が必要となり、結構手間だと感じる
              消費電力も気になる

        ・サーバーに直接接続する
          ファイアーウオールやルーターを設定してサーバーに接続する
          専用APIに対応したアプリを利用する
            利点
              通常外部に公開しているサーバーと同じ運用管理で十分である
            欠点
              サーバー側に認証機能が必要となる
              セキュリティー対策が必要だが、通常必要とされているモノで十分である
              SSLを利用すればセキュリティーと利用者制限も掛けられる

        ・ゲートウェイ製品を利用して接続する
          サーバー側はゲートウェイ製品に対応したソフトを利用する
          スマホ側もゲートウェイ製品に対応したアプリを利用する
            利点
              DBサーバーやERPパッケージに直接接続する
              セキュリティー対策や認証システムが備わっており費用を抑えられる

  • クラブ活動の大筋

    1.IT習得の基本的な活動

     ステージ1
       オフィス系ソフト(WordやExcel)の使いこなし
         年賀はがき、暑中見舞いはがき
         お小遣い帳、季節のお便り、カレンダー、名刺等の作成

     ステージ2
       デジカメやインターネット、スマートフォン、クラウドの使いこなし
       メール送受信、HP閲覧

    2.ITを応用する活動(基本的な活動が発展してくる)

     ステージ1の活動はより日常生活に密着してくる
       ビジネス文書とか表計算とかグラフ表示ではなく
       自治会の回覧板、バス旅行の案内、医療費控除の計算書の作成等に移る

     ステージ2の活動もより日常生活に密着してくる
       スマホで写真を撮ってクラウドに保存する
       ネット検索、SNSと情報を交換する様になる
       ネット通販、安否確認等に利用の幅が広がってくる

    3.クラブでの注意点

     アカウント情報の取り扱い
       ログイン時のアカウントとパスワードが覚えられない、入力に手間取る
       複数のサービス用に複数のアカウント情報を使い分ける必要がある

       便利で簡単な管理ツールの利用を勧める

     カタカナ用語の取り扱い
       例としてダウンロードやアップロードといった言葉に馴染めない
       PCでのデータ操作と言葉の概念とが一致しないのが原因

       図式で示す等の工夫を凝らして慣れていくしかない

  • ソーシャルメディアの活用法

    ソーシャルメディアを通じて組織内でマスコラボレーションする際の原則を記述する
      ソーシャルメディアを使って、組織のコミュニティーを高めようとする際に気をつけるべき点です

    (1)参加
      組織に貢献するコミュニティーを作る
        人々がコミュニティーに参加するきっかけとなるコンテンツを用意する

    (2)目的
      進んで貢献させる
        ターゲットとなる人々にとって意味のある明確な目標を定める

    (3)透明
      貢献を評価する
        メンバーの活動内容は他のメンバーに公開され評価されるので
        評価を手助けする機能を積極的に提供する

    (4)独立
      活動を妨げない
        他のメンバーとは関係なく個人でコミュニティーに参加してくる独立性を保っているので
        承認や制御といった活動を妨げる様なものは可能な限り排除する

    (5)持続
      貢献を保持する
        メンバーの貢献が後から他のメンバーによって自由に閲覧・共有・追加できることが重要

    (6)創発
      自らを導く
        コミュニティーの有り様はあらかじめ設計したり制御できないので
        目的は明確にするが、実現する方法については自由度を持たせる

  • プロジェクターの接続

    PCからプロジェクターへの接続
      メーカーによってファンクションキーが異なります

    プロジェクター
  • バッチ処理

    バッチ処理とは、プロセスをある程度の単位でまとめて一括処理することをいう
      (1)Windowsの例
        ・バッチファイルを作成する
          下記の例のように作成する
            start “c:\Program Files\Internet Explorer” http://denkenhs1.web.fc2.com/
            timeout 5

            startコマンドで特定のプログラムを動かす(パラメータとしてURLを渡す例)
              ※IEが毎回新しいタブで開かないように、IEのオプションを変更する
                インターネットオプション → 全般 → タブと進み
                他のプログラム・・・開く方法 を 現在のタブ・・・ウィンドウ に設定する 
            timeoutコマンドで5秒間待つ

        ・ファイル名を付けて保管する
          場所はどこでも良い、識別名を【.bat】とする

        ・コマンドプロンプトを呼び出す
          アクセサリー → コマンドプロンプトと進み、コマンドプロンプトを起動させる

        ・バッチファイルに起動を掛ける
          ファイル保管場所(ディレクトリー)を探し当て、ファイル名を入力して起動を掛ける

      (2)Linuxの例
        ・バッチファイルを作成する
          下記のように作成する
            #!/bin/sh
            xdg-open http://ksrd.jp
            sleep 5s

            最初の行は決まりごと
            xdg-openコマンドで特定のURLに起動を掛ける
            sleepコマンドで5秒間待つ

        ・ファイル名を付けて保管する
          場所はどこでも良い、識別名を【.sh】として他と区別する

        ・コマンドプロンプトを呼び出す
          「端末(urxvt)」アイコンをクリックする

        ・バッチファイルに起動を掛ける
          ファイル名を入力して起動を掛ける
     

  • Linuxセキュリティー(デスクトップ編)

    セキュリティソフトが不要な理由
      (1)ファイルパーミッション
        ・管理者制限が用意されており、管理者以外はシステムファイルを操作することはできない
          Windowsでは、メールをプレビューしたり、圧縮ファイルを展開しただけで
            実行ファイルが起動しウイルスに感染する場合がある
          Linuxでは、入手したばかりの実行ファイルには権限が与えられていないため
            それがウイルスであったとしても、全く動き出さない

      (2)パッケージ(APT、RPM)管理
        ソフトを任意のディレクトリにインストールしない・させないを基本とする
          ユーザーはソフトのインストールやアンインストールを管理の仕組みを通じて行う
            あらかじめ認証登録されたリポジトリからしかソフトをインストールしない
            ここからウイルスが紛れ込む心配はほとんどない
          インストールされているすべてのソフトの最新版を確認しアップデートしてくれる

      (3)オープンソース(OSS)
        Linuxの更新頻度は非常に高く、脆弱性の報告から修正までの時間が短い
          OS自体が極めて堅牢だと言える
          標準で搭載されているソフトもOSSであるため、非常に信頼できる

      (4)ウイルスがほとんど存在しない
        Linuxのシェアは非常に少ない
          ウイルスを作っても被害を与えることができない(利益を得ることが出来ない)
            ※よくセキュリティーソフトが不要な理由のひとつに上げられるが
              ウイルスが存在しない(今後発生しない)ことはない、と思います

      補足
        Linuxユーザーが増えたら、ウイルスのリスクは必然的に高まる
          セキュリティホールも数多く発見され、修正されるであろう
          リポジトリの信用認証も経ずにソフトをインストールする人も多くなるであろう
        自分のPCには無害であっても、メールにWindows用ウイルスを誤って添付する可能性もある

        ウィルス対策ソフトは不要ではありません
          無料のソフトがあるので、インストールしておくのがベターだと思います

  • Linuxセキュリティー(サーバー編)

    Linuxのセキュリティ対策 サーバー編
      (1)ソフトウェア管理
        ・OS(カーネル)のアップデート情報をチェックし最新のアップデートを必ず適用する
          ディストリビューターからの情報をこまめにチェックし、アップデートする

        ・不要なソフトウェアをインストールしない
          インストールの際のパッケージには最小構成(Minimal)を選ぶ
          そこから必要なパッケージのみを個別にインストールするようにする

       (2)ユーザー管理
        ・不要になったユーザーアカウントは削除する
          使用されなくなったユーザーアカウントは「userdel」コマンドによって削除する
          ユーザーアカウントの利用を再開する可能性がある場合は
            とりあえず「passwd」コマンドでログインできないようにしておく

        ・パスワード漏えい対策に有効期限を設定する
          パスワードは「chage」コマンドで有効期限を設定しておく
            パスワードを定期的に変更することで不正アクセスを防止する

        ・ユーザーによる権限昇格を防止する
          「pam_wheel.so」を設定し「su」コマンドを使用できるユーザーを制限する
            root権限に昇格させると、どんな設定も変更できるので必ず制限する
          さらに管理者権限の共有は絶対させない

      (3)運用管理
        ・アクセス権を適切に設定する
          ファイルやディレクトリには適切なパーミッション(アクセス権)を設定する
            「chmod」コマンドによって「読み込み」「書き込み」「実行」の権限を設定しておく
          ファイルを所有するユーザやグループについて、誰がどのような操作をするかを設定する

        ・不要なデーモンを起動させない
          GUIのサーバ管理ツールを使わないなら
            ランレベルを3に設定し、不要なデーモンを起動しないようにする
            不必要なデーモンを起動させておくと、使用しないポートが開いたままの状態となる

        ・不要なSUIDを削除する
          「find」コマンドを使用して、不要なSUIDが付与されているファイルがないかを確認し削除する
            SUIDが設定されている実行ファイルは
              誰が実行してもファイル所有者の権限で処理が実行される

        ・ログを正確に残す
          ログファイルを保存しておく
            ストレージ容量を圧迫するので、一定の量で別のディスクにバックアップする
            NTPを使用してサーバの時刻を正確に維持しておく

      (4)ネットワーク管理
        ・パケットフィルタリングを行う
          iptablesなどでパケットフィルタリングを行う
            パケットのヘッダに含まれるポートやIPアドレス情報、通信の方向などをチェックする        チエックポリシーのチューニングも定期的に行う

        ・不要なポートを閉じる
          「netstat」コマンドを実行し、現在開いているポート番号を確認して不要なポートを閉じる

        ・リモートアクセスで管理する場合はSSHを利用する
          SSHは通信内容が暗号化されるため安全です

  • Puppy Linux(USB起動)

    ハードディスクにインストールする必要がないLinuxディストリビューション
      Puppy LinuxのLive USBを作成する

      (1)USBをフォーマットする
        FAT32でUSBを初期化する

      (2)Puppy LinuxのISOイメージの取得
        Live CDのISOイメージをPuppy Linuxの日本語版ページより取得する
          (例)precise-571JP.isoをダウンロードした

      (3)ISOイメージの書き込みソフトのダウンロード
        UnetbootinのページからUNetbootinのWindows版を(今回は)取得する

      (4)USBへの書き込み
        使い方を下記に示す

    使い方
    使い方

      (5)USBから起動を掛ける
        PCを再起動させ、USBからPuppy Linuxの起動を確認する
          Puppy Linuxインストールすることも
          Windowsを残したまま、USBから起動させることも選択できる