- 1. Let’sEncryptでPre-loaded Public Key Pinningに対応しやすい証明書を発行する
- 2. 「DDoS攻撃対策 トリロジー」最終回: HTTP(S)フラッド攻撃の対策
- 3. 【初心者向け】Webアプリケーションにおけるセキュリティを確保する仕組み
- 4. 「DDoS攻撃対策 トリロジー」第二回: 一般的なDDoS攻撃の対策
- 5. サーバーの構築は結局何をしたらいいのか。
- 6. GitHub Code Scanningを試してみた | 脆弱性の自動検出
- 7. Laravelの認証jwt-authにログイン失敗時のロックアウト機能を追加し、セキュリティを高める方法
- 8. セキュリティテスト
- 9. vistaでmse その8
- 10. vistaでmse その7
- 11. vistaでmse その6
- 12. Webアプリケーションセキュリティ入門 ~具体例を用いて堅牢なアプリの作り方を学ぶ~
- 13. 脆弱性診断とは
- 14. JavaScript: プラグインシステムとプロトタイプ汚染攻撃
- 15. vistaでmse その5
- 16. vistaでmse その4
- 17. vistaでmse その3
- 18. vistaでmse その2
- 19. vistaでmse
- 20. MacとSSHでさくっとIPアドレスと国判定を変える
Let’sEncryptでPre-loaded Public Key Pinningに対応しやすい証明書を発行する
# 最初に
本記事ではLet’sEncrypt, PublicKeyPinningに関する解説は省略します。# 通常の証明書発行
通常、(certbotを使った場合)以下のように発行と更新を行うかと思います。“`
# 初回
certbot certonly –server https://acme-v02.api.letsencrypt.org/directory -d “*.foo.com” –manual-public-ip-logging-ok –agree-tos# 更新
certbot renew
“`## 発生する問題
Pre-loaded Public Key Pinningを行いたい場合、クライアント側に公開鍵をもたせる必要があります。
`certbot renew`の場合、このクライアント側に持たせたい公開鍵を毎回作成し直してしまいます。
アプリなどの場合、こうなると証明書が更新されるたびにアプリの更新も必要かつ同時にやらなければPinningに失敗します。# 公開鍵を固定にして証明書を発行
“`
certbot certonly —
「DDoS攻撃対策 トリロジー」最終回: HTTP(S)フラッド攻撃の対策
今回はこの「DDoS攻撃対策 トリロジー」最終回だ。正直、このシリーズは人気がないよう見った。しかし、DDoS攻撃は、今日のあらゆるインターネットサービスにとって主なセキュリティ上の脅威であり、緊急時に対応できるように、事前に何を想定しているかを知っておくことが重要だ。
好かれようが好かれまいが、今回は最終回だった。将来的には、私は多分DDoS攻撃に関連する経験記事をこれ以上書くべきではないだ。それらの多くは、商業秘密だからだ。
今回の記事は、「HTTP(S) フラッド攻撃」の対策ですが、しかし今回は前回の「一般的なDDoS攻撃の対策」よりほとんど簡単だった。まず「HTTP(S) フラッド攻撃」を対策ため、必要のお金は前回より安くだ、そして、規模はともかく、方法は同じいだ。つまり「HTTP(S) フラッド攻撃」の防衛理念は全部同じだ。
同じに、今回の記事は大体は防衛の方法そして理念を教えれだけだ、だから、それが取得してすぐに使用することができるコードやプログラムを提供してない。
では、そろそろ始めましょう。
———————————-
【初心者向け】Webアプリケーションにおけるセキュリティを確保する仕組み
#はじめに
ここ2週間ほどWeb技術に関する入門書を読んでいました。
本日、読了したのでその中でも特に勉強になったと思われるセキュリティに関する部分をザックリとアウトプットしていこうと思います。かなり基礎的な内容になりますので、軽めに読み進めたい初心者向けです。
#Webアプリケーションが守るべきセキュリティとは
大きく分けて3つ。
1. 第三者への情報流出を防ぐこと(機密性)
(情報→Webサービスで利用している個人のログイン情報や、クレジットカード情報など)2. 第三者による情報の改ざんを防ぐこと(完全性)
(情報→Webサービスで利用しているショッピングポイントや口座残高の情報など)3. 適切な権限を持った人間が適切な情報を利用できること(可用性)
(情報→クライアントユーザーに紐づいた情報)これら一つでも許してしまったらユーザーへの信頼を失ってしまうので、セキュリティに対する情報はその都度アップデートして対策を施していく必要がある。
#代表的な攻撃手法と対策
###①SQLインジェクション入力フォームを利用して、データーベースに発行されるSQLを開
「DDoS攻撃対策 トリロジー」第二回: 一般的なDDoS攻撃の対策
今回の記事は「DDoS攻撃対策 トリロジー」第二回です。前回の記事に我々はDDoS攻撃の基本原理が説明したが、だから今回テーマは一般的なDDoS攻撃の対策を教えなさい。
始め前に、何っで今回の記事はただの「一般的なDDoS攻撃」だけを説明する。まず、私で「一般的なDDoS攻撃」の理解はHTTP(S) フラッド攻撃そしてDoS類の脆弱性を利用するの攻撃以外のDDoS攻撃です。その原因は「一般的なDDoS攻撃」と「HTTP(S) フラッド攻撃」の対策方法は全然違う、そして「DoS類の脆弱性を利用するの攻撃」の対策方法は以前の記事にも教えましたから、だからこそう今回記事の対策はただの「一般的なDDoS攻撃」だった。
—————————————-
# 1. DDoS攻撃対策基本理論概要
「一般的なDDoS攻撃」の対策は、その理想な理念は**「防御コストには攻撃コストより低くされる。」**です。
**この防御コストには、CPU、メモリ、サーバーの数など、要求を処理するためのリソース使用のコストが含まれます。 最も簡単な理解は、私がD
サーバーの構築は結局何をしたらいいのか。
#なんの記事?
よくサーバー構築するのですが、そのたびに何したらいいんだっけ。
セキュリティ対策はどうしたらいいんだっけってなるので備忘録の記事です。
間違えている所があればコメントで教えてくださるとありがたいです。
>書いてある情報を鵜呑みにせず、他の記事も調べて実行してくださるとありがたいです。
>また、サーバーのOSやバージョンの差が発生することがあるので細かい情報は「やりたいこと + サーバーのOS」で調べてください。
>あくまでこれは学生プログラマがまとめた忘備録です。##サーバーのOS
サーバーのOSには[WindowsServer](https://www.microsoft.com/ja-jp/windows-server),[macOSserver](https://www.apple.com/macos/server/),[Linux](https://ja.wikipedia.org/wiki/Linux)があります。
サーバーとして人気なのはLinux系統です。
###各OSについて
####WindowsServer
Microsoftが開発しているWin
GitHub Code Scanningを試してみた | 脆弱性の自動検出
# GitHub Code Scanningとは
コードをスキャンして隠された脆弱性を検出してくれる機能です。
GitHub Actionsで実行できる。
今朝twitterで知った。Code scanning is here! ?
Prevent issues in code by automating security as a part of your workflow.
✔️ Free for public repositories
✔️ Developer-first, GitHub native
✔️ Enabled for GitHub Enterprise CloudLearn more! https://t.co/2SSCjb09Il
— GitHub (@github) Laravelの認証jwt-authにログイン失敗時のロックアウト機能を追加し、セキュリティを高める方法
## jwt-authにロックアウト機能を追加してセキュリティを高めましょう。
最近ではフロントエンドとバックエンドを疎結合するのがモダンな実装なので、
フロントエンドはvue,nuxtなどのSPAを使い、LaravelをAPIサーバとして使うパターンが多いのではないでしょうか。nuxtやvueからLaravelにログインする際、APIの認証(ログイン機能)としてよく使われるのがjwt-authです。
https://github.com/tymondesigns/jwt-authJWT認証をLaravelで導入する手順については、いろんな記事があるのですが、
セキュリティを強化するため、jwt-authの標準では搭載されていない**認証に複数回失敗した時のロックアウト機能**を追加しました。## jwt-authの導入
LaravelへのAPI認証実装とjwt-authの導入についてはこれらの記事がわかりやすいです。
APIでログインしてbearerトークンを返し、フロントエンドのSPAなどから利用する時に使います。https://qiita.com/zaburo
セキュリティテスト
#セキュリティ課題
昨今、**個人情報の漏えい**や**顧客情報流出**などのニュースを耳にすることにより、セキュリティ意識の重要性が広く知られるようになった。まずは、**「システム脆弱性」**への対策が直近の優先課題となる。
**脆弱性への対策を考える**
“`lang:感染経路を確認する
1.電子メールの添付ファイル(何気なく開封したファイルが対象になっていることも)
2.ホームページを閲覧
3.USBメモリ
4.ファイル共有ソフト
5.マクロプログラム
6.アプリのインストール
7.ブラウザのアドオン
8.偽サイトへの誘導“`
#なぜ?セキュリティテストを実行するのか
設計上の**欠陥**や**構成エラー**、**ハードウェア**と**ソフトウェアの脆弱性**、**コーディングエラー**、 および**情報システムの能力**に影響を及ぼす可能性があるため。
不正アクセスにより**顧客の個人情報が流出する事故**が多いためである。
また、**十分なセキュリティ対策が実装**されているかどうかを確認する。
結果、脆弱性が見つかり事業の見直し、さらには**企業
vistaでmse その8
#概要
vistaに、Microsoft Security Essentials入れてみた。
eicar.zipを、ダウンロードできるか、やってみた。#url
https://secure.eicar.org/eicar_com.zip
#結果
chromeでやってみた。失敗する。
以上。
vistaでmse その7
#概要
vistaに、Microsoft Security Essentials入れてみた。
eicar.comを、ダウンロードできるか、やってみた。#url
https://secure.eicar.org/eicar.com
#結果
chromeでやってみた。失敗する。
以上。
vistaでmse その6
#概要
vistaに、Microsoft Security Essentials入れてみた。
mindで、eicarが作れないか、やってみた。#サンプルコード
“`
出力ファイルは ファイル。
エラー検査は
エラー? ならば
エラー文字列で 重大エラー
つぎに
。メインとは
「eicar.com」で 出力ファイルを 新規オープンし エラー検査し
「X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*」で 出力ファイルに 一行書き込み エラー検査し
出力ファイルを クローズし エラー検査し
「おけ」を 一行表示“`
#結果
速攻で隔離された。
以上。
Webアプリケーションセキュリティ入門 ~具体例を用いて堅牢なアプリの作り方を学ぶ~
# はじめに
今回の記事は最近世間を賑わせている(悪い意味で)Webアプリケーションにおけるセキュリティ問題についてです。
クラッカー(悪意のあるハッカー)たちはあの手この手でクレデンシャルな情報(秘匿性の高い情報)を盗み、悪用しようとします。
Webアプリケーションのセキュリティを高めるためには、まずどうやってクラッカーたちが攻撃するか知る必要があります。
この記事では代表的なWebアプリケーションの脆弱性をついた攻撃手法を紹介していきます!
# SQLインジェクション
### 概要
悪意のあるユーザーによってSQLコマンドが実行され、データベースの値を取得、改竄、削除される。###脆弱性があるケース
パラメータから直接SQLコマンドを流す処理が書かれている場合。
“`ruby
User.where(“id=’#{params[:id]}'”)
“`この様に書いた場合、対象のURLに
“`json
{
“id”: “‘ or 1=1 –‘”
}
“`
のリクエストが来た場合全てのユーザー情報が取得され、さらには“`json
{
脆弱性診断とは
#はじめに
待機期間を利用して、研修で少しかじった「脆弱性(脆弱性診断)」について、もう少し深く学びたいと思い、現在コツコツと勉強を進めています。
今回は、「**脆弱性**」ってなに? 「**脆弱性診断の対象**」って?などについて、簡潔にまとめてみました。
#そもそも脆弱性とは?
プログラムの間違いは「**バグ**」と呼ばれており、意図したとおりにプログラムを動作させたい場合には、プログラムからこの「バグ」をなくす必要がある。「バグ」の中にはそれを悪用することで、「**情報漏洩**」を起こしてしまったり、データの不正な書き換えを起こしたりしてしまう可能性が高いものがある。
こういった悪用可能な「バグ」を「**脆弱性**」と呼ぶ。
#脆弱性ってどうやって見つけるの?
「脆弱性」も「バグ」を見つけるのと同様で、脆弱性を見つけるためのテストを実施することで発見することが可能。そのテストのことを「**脆弱性診断**」という。
また脆弱性診断では、「脆弱性」以外にも「**セキュリティ機能の不足**」を発見することが可能。
★脆弱性診断は「**セキュリティテスト**(Securit
JavaScript: プラグインシステムとプロトタイプ汚染攻撃
この投稿では、JavaScriptで実装されたプラグインシステムにおいて脅威になりうる、プロトタイプ汚染攻撃の手法を説明します。
対策についてはまだ検証中なので説明しませんが、プラグインシステムを設計するにあたって、プロトタイプ汚染攻撃が脅威であることを一度整理しておきたかったので記事にしました。
## プロトタイプ汚染攻撃とは
プロトタイプ汚染攻撃(prototype pollution attack)とは、ざっくり言うと、攻撃者がJavaScriptオブジェクトのプロトタイプを書き換えることで、情報を盗んだり、オブジェクトの振る舞いを変更したりする攻撃のことです。
## JavaScriptの言語的特徴を巧妙に悪用した手口
JavaScriptでは、オブジェクトを生成すると、プロトタイプオブジェクトと呼ばれる生成元のオブジェクトへの関連を持つことになります。
例えば、`Foo`オブジェクトを定義した場合、
“`js
class Foo {
doSomething() {
console.log(‘Hello World!’)
}
}
“``Fo
vistaでmse その5
#概要
vistaに、Microsoft Security Essentials入れてみた。
batで、eicarが作れないか、やってみた。#サンプルコード
“`
echo X5O!P%%@AP[4\PZX54(P^^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* > eicar.com“`
#結果
速攻で隔離された。
以上。
vistaでmse その4
#概要
vistaに、Microsoft Security Essentials入れてみた。
隔離されたファイル、探してみた。#結果
C:\ProgramData\Microsoft\Microsoft Antimalware\Quarantine\
以上。
vistaでmse その3
#概要
vistaに、Microsoft Security Essentials入れてみた。
eicarテストしてみた。#手順
以下を、メモ帳で、「eicar.txt」で、保存した。
“`
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
“`#結果
保存した時点で、隔離された。見れない。
DOS/EICAR_TEST_file以上。
vistaでmse その2
#概要
vistaに、Microsoft Security Essentials入れてみた。
AntiVirusScanner.dll、入れてみた。#インストール
“`
RegAsm AnttiVirusScanner.dll /codebase“`
#テスト
“`
Set scan = CreateObject(“AntiVirus.Scanner”)
msgbox scan
res = scan.ScanAndClean(“c:\Users\******\Desktop\anti\path.txt”)
msgbox res
“`#結果
0 “VirusNotFound”
1 “VirusFound”
2 “FileNotExist”“`
0
“`以上。
vistaでmse
#概要
vistaに、Microsoft Security Essentials入れてみた。
#写真
![無題.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/5b2803a8-3991-dc80-3909-a7bfcbab2d15.jpeg)
#インストール手順
インストーラを探す。
ファイル名は、MSEInstall.exe
バージョンは、4.3.216.0定義ファイルを探す。
ファイル名は、mpam-fa.exe
日付は、2019/02/22以上。
MacとSSHでさくっとIPアドレスと国判定を変える
Amazonプライムである作品が「このビデオは、現在、 お住まいの地域では視聴できません」となっていました。ではアメリカからアクセスしたら利用可能になるのか調べてみました。
今回はAWSのLightsailを使い、リージョンをus-east-1にすることで、バージニア州からのアクセスとすることを目標とします。
サーバーと秘密鍵がスタンバイできたら、以下のコマンドでSSHしましょう。ホスト名(IP)と秘密鍵のパス等は置き換えてください。`ssh ec2-user@10.87.131.119 -i ~/Downloads/LightsailDefaultKey-us-east-1.pem -D 10000`
もしSSHが失敗し、原因がダウンロードしたての秘密鍵を利用して以下のようなWarningが出たことによるものであったら、
`chmod 600 ~/Downloads/LightsailDefaultKey-us-east-1.pem `
で解消します。“`
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@