投稿者: 69578300

  • 脆弱性のワークアラウンドを1ミリ秒も断なくコマンド一発で終わらせる方法

    脆弱性のワークアラウンドを1ミリ秒も断なくコマンド一発で終わらせる方法

    VRRPがあるのに何故、同一機種のUTMやFWで冗長を組んでいるのでしょうか?
    別メーカの機種で組みましょうよ。
    Master機に脆弱性が発見され次第、コマンド一発でBackUp機に切り替えれば1ミリ秒も断なくワークアラウンドはOKです。確かにTCPやNATのセッションは途切れます。しかしHTTPSで代理証明書を使用している場合、証明書はBackUp機に引き継がれないので、そもそもCtrl+F5を押さなければセッションは復活しないのです。(メーカの違う機種間でのTCPセッション引継ぎ方法についてはアイデアがあるので近日中に検証する予定です)
    事務手続きフローのルーティン化のため、毎日訓練しても良い位です。有事の際は「繰り返す、本日は訓練では無い」って台詞が加わるだけです。

    正副を別機で組む場合、日常メンテでポリシー追加する際の手間、場合によっては増えません。
    回線をFWで直接終端している場合、コンフィグ同期はかけられませんから、手間は一緒です。
    「回線をFWで直接終端出来る=ルータを別途用意する必要が無い=投資効率が上がる=直列に機械が並ぶ箇所が減る=故障率が下がる」事自体をご存じないお客様が多い事も現実ですが。

  • 生産設備を自己所有する事と頭脳労働

    生産設備を自己所有する事と頭脳労働

    頭脳労働を実現できていると言う事は、生産設備を自己所有している事に等しいです。
    そんな貴方はもう、無産階級ではありません。
    時間経てば事務的にやってくる未来なんて、貴方の未来ですか?

  • 辞める社員を事前に見破るIPSの設計

    辞める社員を事前に見破るIPSの設計

    ― それでも、誇りを捨てるな

    人は、黙って辞めるときこそ本音に近づきます。
    誰にも相談せず、静かに整理を始めたそのとき、心の奥底には「今のままでは報われない」という想いがあるのかもしれません。

    だが、お願いです。
    どうか、誇りだけは捨てないでください。

    「自分が作った資料だ」「自分が積み重ねた数字だ」
    そう思う気持ちは、私たちにもわかる。
    でも、会社という枠組みの中で成し得たことをこっそり持ち出すその行為は、あなた自身の手で、自分のキャリアを裏切ることになる。

    私たちは「信用できない人間を取り締まりたい」のではありません。
    自分の誇りを守る方法を、そっと提示したいだけです。

    プリンターを通じた情報の持ち出し。
    それは、最後の最後で「自分を守ろうとする本能」かもしれない。
    だが同時に、それを裏で知ってしまう人たちがいる。
    もしあなたが、それでも“誇りを持って退職したい”と願うなら――私たちは、その背中を見送る覚悟もあります。

    だからこそ、仕組みで守りたいのです。
    あなたの過ちを、あなた自身が犯してしまわないように。
    プリンターという出口に目を向け、**Data Leak Protection(DLP)**という名の“静かな防波堤”を置く。
    それはあなたを縛るためではなく、「あなたの誇りを守るための設計」です。

    どうか、自分に恥じない形で去ってください。
    あなたが今まで培ってきた“働くということの重み”を、最後の一瞬まで抱きしめたままで。

  • 労働集約型の産業構造からの脱却とは

    労働集約型の産業構造からの脱却とは

    労働者全員がプログラミング出来れば済む話だと思うんですよね、この問題。
    不思議なのはIT業界に勤めてるのにプログラミング出来ない人がゴロゴロ居るって事。

    「適性が無い」とされたからこそNWに配属された、と言う事情は理解出来るのだけど、趣味的に続けるとか普段の業務を効率化する為に簡単なスクリプト書いたりもしないのは何故なんでしょう?

    早く仕事終わらせて家族や恋人とより多くの時間を過ごしたい、なんて考える需要が無いのが原因???

  • 便利なマクロ集

    便利なマクロ集

    仮置き1
    https://chatgpt.com/share/693861bd-6ff4-8006-8546-006142cf135d
    WinMergeU.exe /u /noninteractive /or”C:\diff\report.html” “A.txt” “B.txt”


    仮置き2
    Sub WriteSheetNameToAllSheets()
    Dim ws As Worksheet

    For Each ws In ThisWorkbook.Worksheets
        ws.Range("C1").Value = ws.Name
    Next ws

    End Sub
    仮置き

    TeraMacroとかPythonでは無く、MSオフィスのマクロ集です。(GPT4に書いて貰ったものを含みます。)

    Option Explicit

    Sub ImportCsvFilesToColumns()
    Dim fdlg As FileDialog
    Dim folderPath As String
    Dim fileName As String
    Dim colIndex As Long
    Dim rowIndex As Long
    Dim fnum As Integer
    Dim lineText As String

    ‘ フォルダ選択ダイアログを表示
    Set fdlg = Application.FileDialog(msoFileDialogFolderPicker)
    With fdlg
    .Title = “CSVファイルが入っているフォルダを選択してください”
    If .Show <> -1 Then
    MsgBox “フォルダが選択されませんでした。処理を中止します。”, vbExclamation
    Exit Sub
    End If
    folderPath = .SelectedItems(1)
    End With

    ‘ パスの末尾に \ が無ければ付ける
    If Right(folderPath, 1) <> “\” Then
    folderPath = folderPath & “\”
    End If

    Application.ScreenUpdating = False

    ‘ C列から開始(C=3, D=4, …)
    colIndex = 3

    ‘ 最初のCSVファイルを取得
    fileName = Dir(folderPath & “*.csv”)

    If fileName = “” Then
    MsgBox “指定フォルダにCSVファイルが見つかりませんでした。”, vbInformation
    Application.ScreenUpdating = True
    Exit Sub
    End If

    Do While fileName <> “”
    ‘ 行番号を1にリセット
    rowIndex = 1

    ' テキストファイルとして開く
    fnum = FreeFile
    Open folderPath & fileName For Input As #fnum
    
    ' 1行目からEOFまで読み込み
    Do While Not EOF(fnum)
        Line Input #fnum, lineText
        ' ActiveSheetの rowIndex 行, colIndex 列へ書き込み
        ThisWorkbook.ActiveSheet.Cells(rowIndex, colIndex).Value = lineText
        rowIndex = rowIndex + 1
    Loop
    
    Close #fnum
    
    ' 次の列へ(C→D→E→F…)
    colIndex = colIndex + 1
    
    ' 次のCSVファイル
    fileName = Dir()

    Loop

    Application.ScreenUpdating = True

    MsgBox “CSVの取り込みが完了しました。”, vbInformation
    End Sub

    Option Explicit

    Sub ImportCsvToRandomNameSheets()

    Dim folderPath As String
    Dim fd As FileDialog
    Dim fileName As String
    Dim fullPath As String
    
    Dim baseName As String
    Dim parts() As String
    Dim sheetName As String
    
    Dim wbCsv As Workbook
    Dim wsCsv As Worksheet
    Dim wsTarget As Worksheet
    
    Dim lastRow As Long
    Dim nextCol As Long
    
    '=== CSVフォルダを選択 ===
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    With fd
        .Title = "CSVファイルが入っているフォルダを選択してください"
        If .Show <> -1 Then
            MsgBox "キャンセルされました。", vbInformation
            Exit Sub
        End If
        folderPath = .SelectedItems(1)
    End With
    
    If Right(folderPath, 1) <> "\" Then
        folderPath = folderPath & "\"
    End If
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    '=== フォルダ内のCSVファイルを順番に処理 ===
    fileName = Dir(folderPath & "*.csv")
    
    Do While fileName <> ""
    
        fullPath = folderPath & fileName
    
        ' 拡張子を除いたファイル名(例: Kyoten020_L9bXw_config_001)
        baseName = Left(fileName, InStrRev(fileName, ".") - 1)
    
        ' "_" で分割 → 0:Kyoten020, 1:L9bXw, 2:config, 3:001
        parts = Split(baseName, "_")
    
        ' 安全のため要素数チェック
        If UBound(parts) >= 1 Then
    
            sheetName = parts(1)   ' 2番目の部分がシート名 (例: L9bXw)
    
            On Error Resume Next
            Set wsTarget = ThisWorkbook.Worksheets(sheetName)
            On Error GoTo 0
    
            If Not wsTarget Is Nothing Then
    
                '=== CSVファイルを開く ===
                Set wbCsv = Workbooks.Open(fileName:=fullPath, Local:=True)
                Set wsCsv = wbCsv.Worksheets(1)   ' CSVは通常1シートだけ
    
                ' CSV側の最終行(A列前提)
                lastRow = wsCsv.Cells(wsCsv.Rows.Count, "A").End(xlUp).Row
    
                '=== 貼り付け先シートの次の空き列を探す ===
                ' A1 が空なら 1列目を使用
                If IsEmpty(wsTarget.Cells(1, 1)) Then
                    nextCol = 1
                Else
                    ' 一番右の使用列を探して +1
                    nextCol = wsTarget.Cells(1, wsTarget.Columns.Count).End(xlToLeft).Column + 1
                End If
    
                '=== 値を貼り付け(A列から縦にコピー) ===
                wsTarget.Range(wsTarget.Cells(1, nextCol), wsTarget.Cells(lastRow, nextCol)).Value = _
                    wsCsv.Range("A1:A" & lastRow).Value
    
                ' CSVブックを閉じる(保存しない)
                wbCsv.Close SaveChanges:=False
    
            Else
                ' 対応するシートが存在しない場合はスキップ
                ' 必要なら MsgBox 等で通知してもOK
            End If
    
            ' オブジェクトの解放
            Set wsTarget = Nothing
            Set wsCsv = Nothing
            Set wbCsv = Nothing
    
        End If
    
        ' 次のファイルへ
        fileName = Dir()
    Loop
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    
    MsgBox "取り込みが完了しました。", vbInformation

    End Sub

    Sub CreateSheetsFromList()

    Dim sheetNames As Variant
    Dim i As Long
    Dim ws As Worksheet
    
    sheetNames = Array( _
        "config_001", "config_002", "config_003", "config_004", "config_005", _
        "config_006", "config_007", "config_008", "config_009", "config_010", _
        "config_011", "config_012", "config_013", "config_014", "config_015", _
        "config_016", "config_017", "config_018", "config_019", "config_020", _
        "config_021", "config_022", "config_023", "config_024", "config_025", _
        "config_026", "config_027", "config_028", "config_029", "config_030", _
        "config_031", "config_032", "config_033", "config_034", "config_035", _
        "config_036", "config_037", "config_038", "config_039", "config_040", _
        "config_041", "config_042", "config_043", "config_044", "config_045", _
        "config_046", "config_047", "config_048", "config_049", "config_050", _
        "config_051", "config_052", "config_053", "config_054", "config_055", _
        "config_056", "config_057", "config_058", "config_059", "config_060", _
        "config_061", "config_062", "config_063", "config_064", "config_065", _
        "config_066", "config_067", "config_068", "config_069", "config_070", _
        "config_071", "config_072", "config_073", "config_074", "config_075", _
        "config_076", "config_077", "config_078", "config_079", "config_080", _
        "config_081", "config_082", "config_083", "config_084", "config_085", _
        "config_086", "config_087", "config_088", "config_089", "config_090", _
        "config_091", "config_092", "config_093", "config_094", "config_095", _
        "config_096", "config_097", "config_098", "config_099", "config_100")
    
    '--- シート作成 ---
    For i = LBound(sheetNames) To UBound(sheetNames)
        Worksheets.Add after:=Worksheets(Worksheets.Count)
        Worksheets(Worksheets.Count).Name = sheetNames(i)
    Next i
    
    MsgBox "100枚のシートを作成しました。"

    End Sub

    Option Explicit

    Sub ImportCsvFilesToColumns()
    Dim fdlg As FileDialog
    Dim folderPath As String
    Dim fileName As String
    Dim colIndex As Long
    Dim rowIndex As Long
    Dim fnum As Integer
    Dim lineText As String

    ' フォルダ選択ダイアログを表示
    Set fdlg = Application.FileDialog(msoFileDialogFolderPicker)
    With fdlg
        .Title = "CSVファイルが入っているフォルダを選択してください"
        If .Show <> -1 Then
            MsgBox "フォルダが選択されませんでした。処理を中止します。", vbExclamation
            Exit Sub
        End If
        folderPath = .SelectedItems(1)
    End With
    
    ' パスの末尾に \ が無ければ付ける
    If Right(folderPath, 1) <> "\" Then
        folderPath = folderPath & "\"
    End If
    
    Application.ScreenUpdating = False
    
    ' C列から開始(C=3, D=4, …)
    colIndex = 3
    
    ' 最初のCSVファイルを取得
    fileName = Dir(folderPath & "*.csv")
    
    If fileName = "" Then
        MsgBox "指定フォルダにCSVファイルが見つかりませんでした。", vbInformation
        Application.ScreenUpdating = True
        Exit Sub
    End If
    
    Do While fileName <> ""
        ' 行番号を1にリセット
        rowIndex = 1
    
        ' テキストファイルとして開く
        fnum = FreeFile
        Open folderPath & fileName For Input As #fnum
    
        ' 1行目からEOFまで読み込み
        Do While Not EOF(fnum)
            Line Input #fnum, lineText
            ' ActiveSheetの rowIndex 行, colIndex 列へ書き込み
            ThisWorkbook.ActiveSheet.Cells(rowIndex, colIndex).Value = lineText
            rowIndex = rowIndex + 1
        Loop
    
        Close #fnum
    
        ' 次の列へ(C→D→E→F…)
        colIndex = colIndex + 1
    
        ' 次のCSVファイル
        fileName = Dir()
    Loop
    
    Application.ScreenUpdating = True
    
    MsgBox "CSVの取り込みが完了しました。", vbInformation

    End Sub


    Option Explicit

    Sub ImportCsvFilesToColumns()
    Dim fdlg As FileDialog
    Dim folderPath As String
    Dim fileName As String
    Dim colIndex As Long
    Dim rowIndex As Long
    Dim fnum As Integer
    Dim lineText As String

    ' フォルダ選択ダイアログ
    Set fdlg = Application.FileDialog(msoFileDialogFolderPicker)
    With fdlg
        .Title = "CSVファイルが入っているフォルダを選択してください"
        If .Show <> -1 Then
            MsgBox "フォルダが選択されませんでした。", vbExclamation
            Exit Sub
        End If
        folderPath = .SelectedItems(1)
    End With
    
    If Right(folderPath, 1) <> "\" Then
        folderPath = folderPath & "\"
    End If
    
    Application.ScreenUpdating = False
    
    ' C列から開始
    colIndex = 3
    
    ' CSVファイル探索
    fileName = Dir(folderPath & "*.csv")
    
    If fileName = "" Then
        MsgBox "指定フォルダにCSVファイルが見つかりませんでした。", vbInformation
        Application.ScreenUpdating = True
        Exit Sub
    End If
    
    Do While fileName <> ""
    
        ' ① 1行目にファイル名を書き込む
        ThisWorkbook.ActiveSheet.Cells(1, colIndex).Value = fileName
    
        ' 2行目からデータを開始
        rowIndex = 2
    
        fnum = FreeFile
        Open folderPath & fileName For Input As #fnum
    
        Do While Not EOF(fnum)
            Line Input #fnum, lineText
            ThisWorkbook.ActiveSheet.Cells(rowIndex, colIndex).Value = lineText
            rowIndex = rowIndex + 1
        Loop
    
        Close #fnum
    
        ' 次の列へ
        colIndex = colIndex + 1
    
        fileName = Dir()
    Loop
    
    ' ③ 列幅を自動調整(C列〜最後の列)
    ThisWorkbook.ActiveSheet.Columns("C:" & Split(Cells(1, colIndex - 1).Address, "$")(1)).AutoFit
    
    Application.ScreenUpdating = True
    
    MsgBox "CSVの取り込みが完了しました。", vbInformation

    End Sub

    ※500までと言う制限は、コードを「親子化」等すると増やせます。
    ※下記のコードは1個分の置換しか書いていませんが、ちょっとした工夫でカンタンに500個分書けます。ヒントは「エクセルの表でエクセルのマクロを書く」です。日常的にコンフィグ書いている人なら知っているテクニックだと思います。

    Cells.Replace What:=”置換前①”, Replacement:=”置換後①”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    ※「番号の飛びの無い星形オブジェクト」をマクロで生成し、カット&ペーストで図に載せれば番号の抜け飛びが発生しません。

    Sub CreateStarShapes()
    Dim slide As slide
    Dim shape As shape
    Dim i As Integer
    Dim xPos As Single
    Dim yPos As Single
    Dim size As Single

    ' 初期位置とサイズ
    xPos = 100
    yPos = 100
    size = 32
    
    ' アクティブなスライドを取得
    Set slide = ActivePresentation.Slides(1)
    
    ' 20個の星形を作成
    For i = 1 To 20
        ' 星形を追加
        Set shape = slide.Shapes.AddShape(msoShape16pointStar, xPos, yPos, size, size)
    
        ' 枠線と塗りつぶしの設定
        With shape
            .Line.ForeColor.RGB = RGB(255, 0, 0) ' 赤色の枠線
            .Fill.ForeColor.RGB = RGB(255, 0, 0) ' 赤色の塗りつぶし
    
            ' 内部のテキスト設定
            With .TextFrame.TextRange
                .Text = ChrW(&H2460 + (i - 1)) ' ①からの番号付け
                .Font.size = 14 ' フォントサイズ
                .Font.Color = RGB(255, 255, 255) ' 白色の文字
            End With
        End With
    
        ' 位置の更新
        xPos = xPos + 5
        yPos = yPos + 5
    Next i

    End Sub

  • 人工衛星との通信について

    人工衛星との通信について

    衛星データビジネス=受信、では無く相互通信を扱います。資金が潤沢で無い研究機関や学校が採用して居る事の多い「アマチュア無線用のモデム」を2台所有して居るので地上局と衛星の通信をシミュレートする事が可能です。

    ビジネスとしては未登記なので主な記事は下記個人ブログで展開します。
    https://kousuke-0704.hatenadiary.jp/entry/2024/06/29/122303

  • ランサムウェア対策について

    ランサムウェア対策について

    ありがちな方法であればサーバ上にて、圧縮に関するAPIやコマンド、アプリを無効化したりブラックリストに載せれば良いわけですが、Dockerを使って「必要な機能だけを実装したサーバ」を作る方が盤石な気がします。その辺りの実機検証をこのスレッドに載せて行きます。
    ※Docker普通にサーバ作る以外にも TLSハンドシェイクの計測等、色々と面白そうな事が出来そうなのでこのスレッドにDocker関連の記事をまとめていく予定です。

  • 各種侵入試験用のツールについて

    各種侵入試験用のツールについて

    都度、実例やキャプチャ結果なども載せて行く予定も無くは無いです。
    ※公開状態のまま追記して行きます。故に「下書き」状態となって居ます。
    下記のリストに「詳細」を追記して行く事になると思います。
    (2025/01/19追記:この記事もChatGPTとの会話と言うスタイルに変更する予定です。

    -Nmapが報告してくる内容について-
    ・open
    ・closed
    ・filterd
    ・unfilterd
    ・open|filterd
    ・closed|filterd

    -入力コマンドの書式について-
    ●ホスト発見のオプション
    ・-sL
    ・-sP
    ・-Pn
    ・-PS[portlist]
    ・-PA[portlist]
    ・-PU[portlist]
    ・-PY[portlist]
    ・-PZ[portlist]
    ・-PE、-PP、-PM
    ・-PO[protocollist]
    ・-n
    ・-R
    ・–system-dns

    ●スキャンタイプのオプション
    ・-sS
    ・-sT
    ・-sU
    ・-sN、-sF、-sX
    ・-sA
    ・-sY、-sZ
    ・-sW
    ・-sM
    ・–scanflags<flags>
    ・-sl<zombie host[:probeport]>
    ・-sO
    ・-b<FTP relay host>

    ●ポート指定と順番のオプション
    ・-p<port ranges>
    ・-F
    ・-r
    ●サービスとバージョンのオプション
    ・-sV
    ・-sR

    ●OS特定のオプション
    ・-O

    ●タイミングやパフォーマンスのオプション
    ・-T<Paranoid|Sneakly|Polite|Normal|Addressive|Insane>
    ※通常は3か4を使用する。
    T0 Paranoid IPS回避用(一度に1つのポートを5分おきに実行)
    T1 Sneaky IPS回避用
    T2 Polite 10倍の時間をかける
    T3 Normal デフォルト
    T4 Aggressive 10ミリ秒以内に処理の遅延を抑制する
    T5 Insane 5ミリ秒以内に処理の遅延を抑制する

    ●ファイアウォール/IPS回避とスプーフィングのオプション
    ・-f,–mtu
    ・-D<decoy1,[decoy2],[me],…>
    ・-S<IPアドレス>
    ・-e<inteface>

    ●出力のオプション
    ・-oN<ファイル名>
    ・-oX<ファイル名>
    ・-oS<ファイル名>
    ・-oG<ファイル名>
    ・-v
    ・-d

    ●ターゲットを指定するためのオプション
    ・-6
    ・-A
    ・-h
    ●広域スキャンの方法

    ●DDoSプログラムが感染しているホストを調べる

    ●Heartbleedの感染状態を調べる

    ●実践編
     IPSEC:たまたま今手元に、IPSECを設定済みのNEC製のルータがあるので侵入試験をしてみる予定です(弊社は国産品を奨励しません)

    Cain
     ローカルパスワードだけでなく、チャレンジレスポンスペアのパスワードも解析が可能です。
    つまりスニッフィングも可能だと言う事です。
    レインボーアタックも可能です。
    解読可能なものを下記に一覧します。
     Base64
     MsAccess
     CiscoのVPNクライアントパスワード
     VNCのパスワード
     各種ハッシュ値
     RSA社のSecureID
     SYSKEY(ローカル環境のブートキー)
     lsass.exeのハッシュダンプ

    ・そう言えばARPキャッシュポイズニングも可能です。
     今後、弊社サイトで紹介する検証実行時、「あらゆるARP要求にも回答してしまう」ホストを
    作る場合に改めて紹介する予定です。)

    FoxyProxyでも足りる気がしますが「おそらく」一長一短がありますのでFiddlerと言うローカルプロキシを紹介します。
    セキュリティ関連の調査だけでなく、HTTPS通信の足回り(サーバOSの仕様を知りたい、等)にも
    使用する事が出来ます。
    暗号化されたHTTPステータスを解読したり一部書き換えたりして、Webサーバ/アプリケーションの脆弱性を探る調査に使用します。

    辞書攻撃用の辞書を作成するツールなのですが
    ブルートフォースアタック時、リアルタイムにパスワードを生成するのは機械の負荷が高いです。
    故に事前にcrunchで「ブルートフォースアタック用の辞書」を作っておくと効率が良いです。
    crunchの書式やオプションについては後日追記します。

    オンラインパスワードクラッカーです。
    LDAP、SSH、Subverion、IAMP、POP3、SNMP、IRC、HTTP、FTPなどに対応します。
    コマンドの書式やオプションはおいおい追記します。

    ExPloitの作成や実行を行います。
    コマンドの書式やオプションは後日追記します。

    タイムスタンプを改ざんするツールです。サーバへの攻撃に使用した事はありませんが
    出荷テストで、自分たちが出荷するファイルに対して便利だったりします。

    多機能な侵入ツールです。網羅し切れそうにないので一旦「非公開」で記事を作成するつもりです。数が出そろったら追記します。

    Netcatと紛らわしいので載せました。基本的な事しか出来なそうなので使った事が有りません。

  • 国産のセキュリティ製品が「無い」と言うWeb記事を読みました

    国産のセキュリティ製品が「無い」と言うWeb記事を読みました

    では弊社が!とは言えいきなり開発するのは未だ無理なので先ず「既存製品を更に使いこなす」方法を紹介して行きます。(現在はアイデアのみ)
    他のスレッドと内容被りますがご容赦を。

    ※後述で「内部犯行の防止」について言及して居ます。現場の技術者様よりも
    経営陣に近い方を対象としてコンテンツを作成して居ますが「駆け出し」の閲覧者による「また聞き、聞きかじり、受け売り、耳学問」を防ぐために基礎的な知識についての説明は敢えて省いて居ます。
    所謂、「分かる必要のある者だけが分かれば良い」が弊社の発信する情報のスタイルです。

    「圧縮ソフト」の動作を禁止することはディフェンダー等で容易に実現可能ですが、ここで行う事は「APIの動作を禁止する」事です。禁止した上で、Python等の簡易言語を使ってAPIを呼び出すテストを行います。また、C++等で当該APIを単独で実装し、動作しない事の検証も行います。
    ※APIを使用せずにファイルを圧縮する方法は幾つかある様です。こちらの防止も研究の対象とします。

     ・安全のため、自身で用意した専用の送信元IPアドレスのみに通信許可を与えます。
     一件、非常に簡単な方法に思えますが
      OSの使用若しくは運用ルール上、 Telnetサーバを起動できない
     顧客環境が有り得ますので、Fortigateを使ってSSHをアクセラレーションする方法を
     こちらのリンク先 に掲載します。

    感染した端末が1つだけで、その端末から不正なメールが御社ドメインで送信される事態がありえます。
    「登記済みの株式会社」からメールが送信できる事は 大会社の社内情報を盗むよりも価値が高いです。

    感染した端末が社内用のDNSサーバを攻撃する事態が有り得ます。
    (後日追記します)

    そう言えばですが SSHはファイル転送が可能 である事を問題視すべきと考えている人は
    どれくらい居るのでしょうか。私は問題だと思っています。

    TelaTermからファイルをアップロード/ダウンロード出来ますし、WinSCPからもアクセスできます。前者についてはSU権限に阻まれる事もありません。(上述したようにサーバ側でSFTP/FTPS/SCPを無効化する事は可能です。今手元にあるFortigateのL4オブジェクトには残念ながら「SFTP/FTPS/SCP」はいずれも存在しません。SSHインスペクション機能の検証を進めます。)

    そもそも 内部通信を暗号化してしまう 事って内部犯行の防止策的にどうなのでしょうか。
    サーバ本体のログを改ざんさせない仕組み以外にも多方面防御が必要な筈です。

    ④以降はぼちぼち加筆して行きます。

    一応、YamahaとかNECとかでもUTM作ってますけどドキュメント類が「無理やり日本語にした資料」「オペレータ向けの資料」しか無い感じで、国際的な基準にどこまで準拠しているか疑問です。

    そもそも個性的な機種が多く、緊急事態(深刻な脆弱性の発覚等)時に、乗り換えに時間を要する事が予想されます。平時の内に他社の機種へ乗り換えておくことを推奨します。

    他のスレッドでも触れていますが、YamahaとNECのUTMは「通信中にクラウド上のサーバが地理的に移動=GIPが変更となった際、フラグメントが起きていると通信が途絶する」仕様となって居ます。
    ※MSSやLAN側のMTUを調整しても状況は改善できませんでした。PCやサーバの設定が原因であるため、弊社では追試を行いません。

  • 練習:WordPressのアコーディオン機能

    練習:WordPressのアコーディオン機能

    アコーディオン=折り畳み機能の練習ついでに「NW機器はWinSCPでアクセス可能な機種がある=ファイル転送が出来るので危険」な様子を掲載します。※当然、TeraTermでも可能です。

     →と、思ったら手元にある機械だけでもFortigate30E、Cisco842等の廉価な機械でも
    WinSCPによるアクセスは不可で、Juniperの古いSW位しかアクセスできませんでした。
    悔しいのでWinSCPは検証から除外し、TeraTermでファイル転送が出来る様子の例をほんの少し紹介する予定です。

    インフラ技術者に貸与しているPCがどの機器へアクセス可能か、充分に把握し厳密に制限することを推奨します。
    また、GPT4によるとSSHサーバ内で個別にSCP/SFTPおよびコマンド毎の禁止が可能との事ですがユーザ毎の運用方法について 全パターンを網羅できそうにないので弊社では検証を行いません。

    ※変わったタイトルで興味を惹き、閲覧者を誘導する実験を実行中です。
    ※弊社のサイトは全般的に インデントを半角/全角スペースで作成して居たので
    ここのスレッドをインデント機能を正しく使う練習台にもします。
    後日、更に追記します。