今さら聞けないセキュリティ 2020年11月05日

今さら聞けないセキュリティ 2020年11月05日

webサービスにおけるセキュリティの問題

プログラミング言語を学んでいて、あまりピンと来なかったのがセキュリティ絡みの単語。
(PHPのhtmlspecialchars、フォームのSCRF対策など)
セキュリティ対策が必要なのは何となくわかるけど、それが無いとどう問題なのか?どんなリスクがあるのか?しっかりと腹落ちしてませんでした。
今回は、セキュリティへの知見を深めるべく記事を書いてみました。
##▪︎何についての記事?

webサービスにおけるセキュリティについての記事です。
セキュリティ対策をしないとどんな危険があるのか、対策方法など、参考書を元に書きました。

##▪︎記事のゴール

セキュリティ対策について学ぶ
①基礎知識
②攻撃手法
③暗号化(HTTPS)
④対策装置

##▪︎基礎知識
近年webシステムが発達して様々な機能をもつようになりましたが、それに伴い、悪意をもったユーザーからの攻撃のリスクも高まっています。

例えば今年9月、ドコモの電子マネー決済サービス「ドコモ口座」で不正利用が明らかになりました。ドコモ口座とは、ドコモが展開する電子決済サービスで、ドコモ口座と銀行口座のひもづけによって、スマホ決済が

元記事を表示

認証(Authentication)と認可(Authorization)の違い

AuthenticationとAuthorizationが紛らわしいのでメモ.
注意: “ユーザ”は、人とは限りません.”サーバ”は、提供者(機械or人)です.

追記 2020/11/04

ritouさんにコメントいただきましたので、情報を修正しました!
OAuth・OpenIDに関する箇所を修正しました. (詳しくは修正履歴にてご確認ください.)

忘れがちな Identification 識別

サーバがユーザを特定すること.
入力されたIdentifier(ID, 識別子)から、ユーザを特定する.

Authentication 認証

ユーザが本物かどうかの確認. 識別じゃないよ.
ユーザーが誰なのか特定したあとで、本当にその人なのか確認すること.
例えば、ユーザにCredential(パスワードとか認証に使うものたち)を渡してもらって、一致すればログイン.

Authorization 認可

元記事を表示

駆け出しインフラエンジニアが読むと役に立つ技術入門書

#はじめに
ネットワーク、サーバ、運用保守、セキュリティの業務に従事するインフラエンジニアが読むと役に立つであろう書籍を紹介します。
WEBやアプリの開発担当者が読んでも、技術の肥やしになるでしょう。

#この記事で紹介している本
1. ネットワーク超入門項講座
2. ネットワーク超入門項講座 保守運用管理編
3. ネットワーク超入門項講座 セキュリティ編
4. イラスト図解式 この一冊で全部わかるサーバーの基本
5. 新人ガール ITIL使って業務プロセス改善します!

#本
##ネットワーク超入門項講座
ネットワーク超入門項講座
●目次
1. ネットワークの全体像
2. LAN超入門
3. WAN超入門
4. スイッチ超入門
5. ルータ超入門
6. セキュリティ超入門
7. VoIP超入門
8. 無線LAN超

元記事を表示

初心者の為のhack the box100本ノック~その2:blue(easy)~

#初めに
こんにちは!
100本ノック2本目の記事になります。今回もなるべく詳細に解説していこうと思います。
よろしくお願いします!

#目次
・初めに
・挑戦するマシン
・1.情報収集
・2.下準備
・3.シェルの取得
・4.user.txtとroot.txtの取得
・おまけ
・最後に
・参考にさせていただいたサイト

#挑戦するマシン
今回挑戦するマシンはblueです。
![htb_blue_rating.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/686089/954dda6b-80a5-6bc3-4cf3-02947c2ac4fd.png)

かの有名な脆弱性、ms17-010を持ったマシンで、攻撃に使われたソフトは「Eternal Blue」と呼ばれています。
マシンとしての難易度は非常に簡単で、metasploitを用いれば一瞬で終わってしまう為、今回は使わない方法を使います。
(MetasploitFrameworkが自動でやってくれることを手動でやるだけです。)
おまけとして、最後にm

元記事を表示

ハッカーって?

##あいさつ
初めての人は初めまして!知っている人はこんにちは!
Atieです!実は前にハッカーに関するツイートしたときに
ハッカー = ハッキングする人
と思っている人が多かったのでその誤解を解くためにも書きました!

##読んで得られること

✓ハッカーの本当の意味を知ることができる
✓ハッカーについて知ることができる
✓ハッカーになる方法

では!

#ハッカーとは?

皆さんは「ハッカー」と聞いたとき何を思い浮かべるでしょうか?
「ハッキングする人」「悪い人」「暗い部屋でカタカタPCするひと」
など様々だと思います
ただ
「ハッカー」の本当の意味は全然違います

##ハッカーの本当の意味
ではまず「ハッキング」というものから解説していきます

じつはハッキングって大まかにはけて二つあるんですよね

まぁ一つはバスケのファールで「ハッキング」という種類があるだけなのですが…(バスケ部だよー)

もう一つがコンピュータなどの「ハッキング」です
実はこのハッキングという語源はもともと学生たちがユニークのある「いたずら」を考えたことが始まりです
そのことを学生たちが「ハッキング」と

元記事を表示

リンクを別タブで開く(target=”_blank”)を使うときの注意点

## 概要

`target=”_blank”`のみを使うのはセキュリティとパフォーマンスに悪影響があるため非推奨

##理由
リンク先のページに悪意のあるJavaScriptが仕組まれている場合、
リンク元のページを操作できてしまうから

##対策
`rel=”noopener”` 属性または `rel=”noreferrer”` 属性と併用する
これによってリンク先のページで`window.opener`での参照が不可能になる。

“`NG例.html

“`
“`OK例.html

“`

##参考
[グーグルのデベロッパーサイト](https://web.dev/external-anchors-use-rel-noopener/
)

>原文
・ The other page may run on the same process as your page. If the other

元記事を表示

ゼロトラスト的なことを始める時に注意すべきだと思ったこと

自社内でゼロトラスト的な取り組みを行っていますが、設計や選定の時に注意すべきと感じたことを書きたいと思います。実際やってみてどうだったかも簡単に書きたいと思います。実は2020年10月28日の Akamai Gaming Leadership Summit でウェビナー登壇させて頂いた時の資料です。せっかくスライドを作ったので少し補足も加えつつ公開してみました。スライドは下記にもアップロードしてあります。

スライド版

![ゼロトラストの取り組みと最初の注意点_ページ_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401138/a1538b7c-a04b-a67e-01c4-0a91e5f595b5.png)

![ゼロトラストの取り組みと最初の注意点_ページ_03.png](https://qiita-image-store.s3.ap-northeast-1.ama

元記事を表示

HTTPレスポンスヘッダーのバナー情報隠ぺいは無意味ではないけど根本的な対策ではない、という話

公開Webサーバーのバージョン露出は一般的には好ましくなく、安全対策として隠すことが推奨されています。

WebサーバとPHPのバージョンは、HTTPレスポンスヘッダーから取得できます(バナー情報)。バナー情報を隠すこと自体は全く無意味な対策ではないと思いますが、ただ、ネット上のサイトを色々見ているとバージョン番号を消す方法についてだけ書かれているものが多く、それ以上については踏み込んでいないサイトが多い印象がありました。そもそも、なぜデフォルトの状態では出力されているのでしょう? 何の意味もなく出力しているだけなのでしょうか?

隠ぺいを主要な安全対策とする方法は「隠ぺいによるセキュリティ」と呼ばれます。が、これは安全性を担保しにくいというか、それだけに頼ることは避けるべきものです。

この記事では、HTTPレスポンスヘッダーからApache、NGINX、PHPのバナー情報を秘匿する方法も記載すると同時に、「隠ぺいのセキュリティ」についても踏み込んで考えてみたいと思います。

ちなみに、Qiitaでは初となる記事です(今まで自分のブログで書いていました)。不備や誤りについてはご指摘下

元記事を表示

AWS利用時に踏み台サーバのログをS3に保存する

AWS利用時にLinux踏み台サーバの操作ログを保存する方法です。
現在ではSessionManagerがあるのでこのような事をする場面は少なくなると思いますが
環境によってはサービス利用出来ない事もあるかと思いますのでメモしておきます。

AWSでは踏み台構築のクイックスタートとCloudFormationのテンプレートも用意されているので
細かい要件もなく手っ取り早く自動でログ保存してくれる踏み台を構築したい場合は
以下を参照ください。
[AWS クラウドでの Linux 踏み台ホスト: クイックスタートリファレンスデプロイ](
https://docs.aws.amazon.com/ja_jp/quickstart/latest/linux-bastion/welcome.html)

本記事は以下の記事を参考に解説、加筆・修正しています。
[How to Record SSH Sessions Established Through a Bastion Host | AWS Security Blog](
https://aws.amazon.com/jp/blogs/secu

元記事を表示

cscの作法 その42

#概要

cscの作法、調べてみた。
dllinjectやってみた。
pidを指定するタイプやってみた。

#サンプルコード

“`
using System;
using System.Text;
using System.Diagnostics;
using System.Runtime.InteropServices;

class Test {
[Flags]
enum AllocationType {
MEM_COMMIT = 0x1000,
MEM_RESERVE = 0x2000,
}
[Flags]
enum MemoryProtection {
PAGE_EXECUTE_READWRITE = 0x40,
}
[Flags]
enum FreeType {
MEM_RELEASE = 0x8000,
}
[Flags]
enum DesiredAccess {
PROCESS_ALL_ACCESS = 0x1fffff,
PROCESS_QUERY_INFORMATION = 0x400,
PROCESS_CREA

元記事を表示

[AWS】MFAの有効化とSSH接続

AWSの利用を開始した際、すぐにやっておきたいのは
ルートユーザの保護です。

今回はルートユーザのMFA有効化などによる保護、作業用アカウントの作成とSSH接続までをやってみます。
##ルートユーザのMFA有効化
MFAの詳細は以下AWSの公式サイトを参照。
AWS での多要素認証 (MFA) の使用

MFA(多要素認証)を利用するとログインに認証済デバイスが必要となるため
セキュリティがぐっと高くなります。ここではルートユーザだけMFAを有効化しますが
全ユーザでMFAを有効化しておくことをお勧めします。
MFAデバイスにはいくつか種類がありますが、仮想MFAデバイスを利用することが
多いと思いますので今回は仮想MFAデバイス(Android端末)を利用します。

1.ナビゲーションバーの右側で、使用するアカウント名を選択し、「マイセキュリティ資格情報」を選択
2.多要素認証(MFA)項目の中にある「MFA有効化」をクリックし、次のウィザードで続行を押下
3.QRコードを表示し、Androidで立ち上げた仮想MAFアプリでスキャンする
4.アプリで表示される連続するMFAコードを

元記事を表示

outlook メール仕分けスクリプト

#概要

outlook 2010で、メール仕分けやってみた。

#環境

windows7 32bit
outlook 2010

#サンプルコード

“`
Sub test()
Dim NameSpc As Object
Dim objbox As Object
Dim fInbox As Object
Dim jnkbox As Object
Dim mail As Object
Set NameSpc = Application.GetNamespace(“MAPI”)
Set fInbox = NameSpc.GetDefaultFolder(olFolderInbox)
Set jnkbox = NameSpc.GetDefaultFolder(olFolderJunk)
MsgBox fInbox.Items.Count
For i = fInbox.Items.Count To 1 Step -1
Set mail = fInbox.Items(i)
If

元記事を表示

volatilityの作法 その23

#概要

volatilityの作法、調べてみた。
vistaでも、yarascanがやりたい。
「青い空を見上げればいつもそこに白い猫」やってみた。

#写真

![無題.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/e0fd9e0f-2ff3-c004-6945-69885d62c20d.jpeg)

#yara-rules

“`
rule eicar_substring : eicar
{
strings:
$eicar_substring = “$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!”
condition:
all of them
}

“`

以上。

元記事を表示

【Rails】SameSiteとSecure属性の付与〜Railsのセキュリティ対策〜

##はじめに
**社内でcookieのセキュリティに関する勉強会があったので、学んだことをまとめておきます〜〜**:writing_hand::writing_hand:
**Railsは優秀なフレームワークなので、そこそこのセキュリティ対策が標準装備されているんですよねえ。**
セキュリティについてはあまり考えなくても、実装できてしまうんですよねえ。
良いことでもあり、悪いことでもありますね:runner::runner:

## GoogleChrome80のリリース
2020年2月4日(現地時間)にGoogleChrome80が正式にリリースされました。
https://developers-jp.googleblog.com/2019/11/cookie-samesitenone-secure.html
今回のバージョンアップで**デフォルトのCookieのSameSite属性がNone⇒Lax**に変更されました。
また**SameSite属性をNoneにする場合、Secure属性を付与しなければならない**仕様になりました。

???
なにそれ??

私もピンと来ませんでし

元記事を表示

cscの作法 その41

#概要

cscの作法、調べてみた。
dllinjectやってみた。

#写真

![無題.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/89ffe3ad-013a-708f-255d-85a8b989502b.jpeg)

#環境

windows vista 32bit
.net 2.0

#サンプルコード

“`

using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Text;

public class Test {
[DllImport(“kernel32.dll”)]
public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);
[DllImport(“kernel32.dll”, CharSet = C

元記事を表示

AWSでIAMユーザを使い捨てにする

## はじめに
私が所属する[aslead DevOps](https://aslead.nri.co.jp/solution/aslead_devops.html)チームでは、日々変化するユーザの開発サーバ構成に対して、セキュリティを保ちつつ開発業務の効率化・自動化ができないかを検討しています。

この記事では、AWSにログインして作業するIAMユーザの扱い方についてご紹介します。AWSの中でもセキュリティの基礎となる重要サービスであり、ユーザの棚卸しや権限の管理に時間を割かれているチームも多いのではないでしょうか。
そこで、Hashicorp社が提供しているVaultを利用し、作業のタイミングでIAMユーザを作成し、終わったら削除するアプローチを考えてみます。IAMユーザの作成自体はVaultの標準機能ですが、複数アカウントの権限制御ができるスイッチロールとの組み合わせを提案します。

## Vaultとは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108008/acb29

元記事を表示

iOS/Androidアプリのセキュリティ関連の参考リンク

ちょっとしたきっかけがあって、iOS/Androidアプリのセキュリティに関して情報を収集する必要がありました。

せっかくなので私が出会った良記事をシェアしたいと思います。

## [OWASP Mobile Top 10](https://owasp.org/www-project-mobile-top-10/)

– OWASPは「Open Web Application Security Project」の略で、「オワスプ」と読むようです。
– ソフトウェアのセキュリティ環境や、セキュリティを高めるための技術を共有・普及することを目的として活動しているボランティア組織だそうです。
– Webアプリの[OWASP Top 10](https://owasp.org/www-project-top-ten/)が有名ですが、OWASP Mobile Top 10はそのモバイルアプリ版です。
– ソフトウェアを開発する上で、セキュリティとして警戒をしなければいけない項目のTOP10をレポートしています。
– 何しろ有名どころなので、まずはこれを押さえる必要があると思います。顧客や上席に

元記事を表示

民間企業の次期ネットワーク構想に向けて 第3話

#コロナで見えたセキュリティ問題から次期ネットワーク構想へ
テレワークで問題となるのはセキュリティと通信速度です。
※ここでいうテレワークとは,在宅勤務を指します。
セキュリティに関しては,各企業ごとにポリシーやガイドラインが策定されていると思います。
テレワークの多くは,自宅や公衆回線から社内ネットワークへVPN接続する方式だと思います。
中には,フルクラウドでテレワークでもインターネット接続だけで運用できる企業もあるかと思いますが,本記事では割愛します。
例にもれずウチもVPN接続利用をしています。
VPN接続をした上でPCを使用する場合は,社内ネットワーク経由でインターネットへ出るのでセキュリティはポリシー通りとなり,セキュリティレベルは保たれます。
(ちなみにFortiClientでローカルブレイクアウト利用はしていません)
問題はVPN接続をしないでインターネットなどを利用してしまった場合です。
悪意あるサイトへの接続は「URLフィルタリング」で制御しており,会社が許可したサイトにしか接続できません。
ですが,VPN接続をしないまま使用した場合,社内ネットワーク経由とならず,

元記事を表示

マルチゾーンでFirewalldをらくらく設定

#はじめに
先日、[firewalldで特定IPアドレスのみsshを許可する](https://qiita.com/kimisyo/items/553d8879808834077fb1) という記事を書いては見たものの、-add-rich-rule というオプションを使ってゴリゴリの特別ルールでの対応がどうも引っかかった。Firewalldといえばiptablesの後継として比較的新しいライブラリであり、もっと洗練されたうまいやり方があるはずだと。

そこで色々調べた結果、あったあった。その名も**マルチゾーン**機能。この機能を使うことにより、かなり柔軟かつ効率的に設定できることが分かったので今回調べたことを共有したい。

#環境
– CentOS 8
– firewalld 0.8.0-4

#Firewalldの利点
まずはおさらいとして、Firewalldって何がいいのか見てみよう。
参考文献[1]によると、iptablesに対するFirewallの利点は以下とされている。

– 送信元IPやネットワークインターフェイスで定義されたゾーンごとに、拒否、許可等のルールを定義するこ

元記事を表示

AWSアカウントのセキュリティチェックをし、採点してみた

#はじめに
AWSは俊敏にリソースを調達できたりし、AWS社がある程度のセキュリティも担保してくれる一方でたとえばIaaSであれば、責任共有モデル的に、ユーザデータなどOS以上のレイヤーはユーザ自身の責任でセキュリティを担保しなければなりません。
設定ミス一つでデータのリークなど大事件につながることもありえます。
今回は、普段使用しているAWSアカウントにConformityというツールを導入して採点してみようと思います。

#導入方法
以下のサイトのFree Trialでアカウントを作成します。作成すると14日間無料で使用できます。
https://www.cloudconformity.com/help/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698816/ab937c09-2cf0-4147-09d1-823604c5e74b.png)

次に登録時に入力したメールアドレスおよびパスワードを使用し、「Sign in」します。
![image.png](https://qi

元記事を表示

OTHERカテゴリの最新記事