ホーム » スタッフ (ページ 97)
「スタッフ」カテゴリーアーカイブ
OpenDNSによるセキュリティ対策
先日参加した、高専機構の情報担当者研修では、新しく導入された統一システムの機能説明や今後について色々と説明を受けた。
でも、興味深かったのは、OpenDNSとも呼ばれているCisco Umbrella 。DNSを使ったセキュリティ対策で、ブラックリストに掲載されているホストへの問い合わせがあったらブラックな正規IPアドレスを返さないことで怪しいホストに接続させない。また、怪しいか判断が困難なグレーゾーンのホスト名なら、OpenDNSのProxyのアドレスを返し、ユーザを怪しいサイト接続させず、実際はOpenDNSが怪しいサイトに接続しグレイな内容を分析して、最終的にブラック/グレイ/ホワイトを判断するというシステム。
設定は、DNS サーバのアドレスを、208.67.222.222 にするだけ。
学校では色々と問題がありそうだし、自宅でこの機能を試してみる。
(( /etc/bind9/named.conf.options ))
options {
:
forwarders {
# Google public DNS
#8.8.8.8;
#8.8.4.4;
# OpenDNS (Cisco Umbrella)
208.67.222.222 ;
208.67.220.220 ;
};
:
};
動作確認は、https://welcome.opendns.com にアクセスして、以下の表示になればいい。
Wikipedia の説明を見ると、以前はブラックなアドレスを引くと、Yahooの広告ページにリダイレクトされるので….といったことが書いてあるけど、今はどうなんだろ。”nslookup www.xxx”で、いかにも怪しいサイトのアドレスをひいたけど、同じだな。Cisco に OpenDNS が買収されてるから、変な広告はなくなったと思うんだけど。
専門基礎3-合成抵抗
専門基礎3の電気回路の基礎で、今日は合成抵抗と各場所の電圧・電流について演習。
前半は個別で解いてみる
後半はグループ討議方式
- 問題
- 6つのグループに分かれる。
- 前半3つ後半3つで、
- グループで協力しながら解き、各自で解き方の説明を考える。
- 最初に誰かが解き方を他の人に説明。
(解き方に自信がない場合は別の人に説明してもらう) - その説明より判りやすい説明ができる人はその考え方を説明。
- 最後に前で、その解き方でクラスに説明。
- 他のグループからさらに判りやすい説明の提案があったら前で説明。
自宅レポートでの再提出もOK
なお、授業内で理解度確認の小テスト形式で実施しているが、じっくり時間をかけて問題を解きたい人もいるみたい。このため、解いた内容は授業時間内に集めているけど、自宅で問題をダウンロードして、レポートとして再提出しても良いものとする。
SQLの基礎とデータ定義文
前回のデータベースの説明で、最も中心的な機能のSQLについて説明を行ったが、その続き。
SQLの基礎
データベースでは、記録されているデータの読み書きは、SQLという言語を用いる。 SQLでは、射影・結合・選択を表す処理で構成される。
SELECT S.業者番号 -- 必要とされるデータを抽出する射影 -- FROM S -- 複数のテーブルを組合せる結合 -- WHERE S.優良度 >= 20 ; -- 対象となるデータを選び出す選択 -- // C言語なら for( int i = 0 ; i < sizeofarray( S ) ; i++ ) { if ( S[i].優良度 >= 20 ) printf( "%d¥n" , S[i].業者番号 ) ; }
Sは、テーブル名であり、文脈上対象テーブルが明らかな場合、フィールド名の前の テーブルは省略可能である。
SELECT 業者番号 FROM S WHERE 優良度 >= 20 ;
ここで、SQLの最も便利な機能は、直積による結合処理。2つの表を組み合わせる処理。
PERSON 個人の情報 ((C言語の構造体をイメージ)) id | name | age | work | struct PERSON { ----+---------+-----+--------- | int id ; 101 | tsaitoh | 52 | teacher | char name[10] ; 102 | tomoko | 41 | worker | int age ; 203 | mitsuki | 18 | student | char work[10] ; | } table_person[3] ; GRAD 卒業した学校 id | graduate # idは外部キー ----+----------- | struct GRAD { 203 | manyo-jh | int id ; 102 | fukui-nct | char graduate[10] ; 101 | univ-fukui | } table_grad[3] ; ※ ER図的に言うと、実体(PERSON),関係(GRAD) の他に実体(SCHOOL)があるべき
データリンク層
サブネット分割
前述のように、1つのバス型接続のネットワーク内部には、同時に設置できる機器の数には限界がある。このため、小さなネットワークに分割したもの(サブネット)を、ブリッジやルータで接続し、隣接するサブネットにサブネット内の通信情報が出ないように分割することを行う。
(さらに…)
2分探索木の演習
先週までで、2分探索木の説明を終えたので、今日は演習を行う。
課題テーマ(基本)
2分探索木を使ったプログラムの作成。データ構造は、以下の中から出席番号にて選ぶ。(出席番号%3)
- 名前と生年月日(年月日は別要素が望ましい)
- 名前と電話番号
- 学科・学年・出席番号・名前の名簿
上記のデータ構造にて、データを入力し「保存」、その後「検索」し目的のデータを表示する機能を実装せよ。
定番ではあるが、(a)プログラム説明、(b)プログラムリスト、(c)動作検証、(d)動作考察の観点で評価を行う。
課題テーマ(オプション)
上記の基本テーマは簡単であるため、オプションテーマを以下に示す。基本テーマの代わりにオプションテーマにてレポートを提出せよ。
数値をデータとする2分木を、その構造がイメージできるようにアスキーアート的に、あるいはグラフィック的に表示するプログラムを作成せよ。
(例1) (例2) {[29] 51 [(60) 75 (80)]} 51 / \ (例3) 51 29 75 | / \ +------+-------+ 60 80 | | 29 75 | +---+---+ | | 60 80
高専ライブ:2017年10月22日(第547回)
- 弁論大会の話
- 高専祭の話
- 高専生に聞きたい5つのこと 第8回
担当:松島(1ES、MC)、田中(4B、MIX)、山野(F3)、中村(教員)
高専祭が始まりました
今日10/20(金)から、福井高専の「高専祭」が始まりました。
EthernetとCSMA/CD
ネットワークトポロジ
ネットワークに機器を接続する方式をネットワークトポロジと言う。
1本の線を共有するバス型、機器どうしがリング型に接続するリング型、中央の機器を通して接続されるスター型が基本となる。
基本的に、Ethernet は 1本の線を機器で共有するバス型。ただし、10BASE-T,100BASE-TX などの HUB で繋がることから、HUB を中心に広がるスター型とも言える。それぞれれのネットワークは相互につながることから、木の枝状に見えるものはツリー型と呼ばれる。また、上流ネットワークでは、機器が故障した場合に一切の通信ができなくなるのは問題があるため、複数のネットワークで相互に接続される。この場合、網が絡むような構造になることから、ネットワーク型と呼ばれる。
2分探索木への追加
2分木へのデータの追記
前回の授業で、2分探索木のデータに対する処理を説明したので、今回は木にデータを追加する処理。
struct Tree { int data ; struct Tree* left ; struct Tree* right ; } ; struct Tree* tcons( int x, struct Tree*L, struct Tree*R ) { struct Tree* ans ; ans = (struct Tree*)malloc( sizeof( struct Tree ) ) ; if ( ans != NULL ) { ans->data = x ; ans->left = L ; ans->right = R ; } return ans ; } struct Tree* top = NULL ; void insert( int x ) { struct Tree** tail = &top ; // 書換えるべき末端ポインタへのポインタ while( (*tail) != NULL ) { if ( (*tail)->data == x ) break ; // 同じデータは重複するので、追加処理は行わない else if ( (*tail)->data > x ) tail = &( (*tail)->left ) ; // 左の枝を降りていく else tail = &( (*tail)->right ) ; // 右の枝を降りていく } if ( (*tail) == NULL ) (*tail) = tcons( x , NULL , NULL ) ; }
単純リストの時は、2重ポインタの混ざった式の部分的に、型を意識する説明をした。今回は、”tail = &( (*tail)->left )“の赤のカッコが省略されたら、青のカッコが省略されたら、どちらが文法エラーかを「演算子の優先順位」の話を交えながら説明する。 (さらに…)
サーバのメンテナンス
Azureサーバのバックアップ
管理しているAzureサーバだけど、クラウドだし簡単には落ちないとバックアップ処理を真面目にしてなかったけど、そろそろ対策をと設定を行った。
- 各仮想サーバの定時処理で、主要データディレクトリを .tar.gzでバックアップ
- 自室のサーバで、RAID-NAS上に仮想サーバのバックアップを rsync
- 仮想サーバの容量逼迫を防ぐために、2月以上は削除。自室サーバは空き容量をみて削除時期を考えよう。
差分バックアップを加える(2017/10/19追記)
バックアップ処理、2週間おきに設定していたけど、いざという時のためにもう少し頻繁にバックアップを取りたい。
そこで、1週間毎に差分バックアップを取るように、処理を追加する。
MovableTypeの記事を復活
サーバ故障による移行作業で、CMS を MovableType から WordPress に変更したけど、古い記事の移行ができていなかった。自宅サーバも同様の移行作業を行い、過去記事の吸出しがうまくいったので、同様に電子情報の過去記事を吸い出し、WordPress にインポート。
# メモ
((追記))
古い記事を抽出する際に、preタグ内の空白が削除されてらぁ。おかげで、プログラムのコードのインデントが消えてしまってる。(x_x;;