本稿ではLinux認定試験のLPICで必要とされる知識のうち見直すべきポイントをまとめます。
暗号化
Let's Encryptが発行するサーバ証明書のタイプは
DV(Domain Validation)
OV(Organization Validation)およびEV(Extended Validation)よりも緩い認証です。
OpenSSLとCFSSLの違い
- OpenSSL:対話形式でCSRに必要な情報を入力
- CFSSL:JSON形式の設定ファイルでCSRに必要な情報を入力
X.509証明書のsignatureとsignatureAlgorithmの違い
いずれもCAが証明書に署名する際に利用するアルゴリズムを指していて同じアルゴリズムを指定する必要があるが,signatureは署名前データ(署名前証明書)に含まれ一方で,signatureAlgorithmは実際に利用されたアルゴリズムを指すものとして理解すればよい。
X.509証明書のsignatureValueとは
署名前証明書(tbsCertificate)をsignatureAlgorithmで署名した値
X.509証明書の有効期限を表すフィールドは
validity
X.509証明書のsubjectとは
所有者
X.509証明書のsubjectPublicKeyInfoとは
所有者公開鍵情報
X.509証明書の拡張フィールドをグループ化せよ
- 基本:basicConstraints
- 識別子:authorityKeyIdentifier(認証局鍵識別子)・subjectKeyIdentifier(所有者の公開鍵識別子)
- 用途:keyUsage(鍵の用途)・extendedKeyUsage(拡張鍵の用途)
- ポリシー:certificatePolicies(証明書の目的や発行時の情報)
- 便利機能:subjectAltName(CNの代替)
- 収集方法:cRLDistributionPoints(CRLの取得方法)・authorityInfoAccess(CA情報の取得方法)
openssl.cnfでX.509証明書のフィールドを設定する際は=と:のどちらを使うか
=を使う。basicConstraints = critical, CA:TRUE, pathlen:0など。
「証明書に含まれる発行者の情報を元に公開鍵を取り寄せる」は正しいか
正しくない。証明書に公開鍵は含まれる。
opensslでCRLを発行するコマンドとオプション
openssl ca -gencrl
「DERはX.509証明書のテキストエンコード形式」は正しいか
正しくない。Distinguished Encoding RulesはX.509証明書のエンコード形式であることは正しいが,テキストではなくバイナリであるため不適。
X.509証明書の拡張フィールドでserverAuthやclientAuthを設定するフィールド
extendedKeyUsage
keyUsageは基本的な用途ですので「digitalSignature」「keyAgreement」「dataEncipherment」などが設定されます。
OCSP Staplingとは
TLS通信時にサーバ自身が証明書の有効性を証明するOCSPの拡張仕様
SSLUseStaplingはyesとonのどちらか
on
SSLStaplingCacheはyesとonのどちらか
どちらでもない。SSLStaplingCache shmcb:/var/run/ocsp(128000)など。
128000はキャッシュのサイズが128kbであることを示しています。
クライアント証明書を発行したCAの証明書を指定する項目
SSLCACertificateFile
SSLCertificateFileはサーバ証明書と中間CA証明書を指定する項目です。CAは付くとクライアント側,付かないとサーバ側という点に注意しましょう。
ssl.confで利用するSSL/TLSのバージョンを指定する項目
SSLProtocol
暗号化ファイルシステムをアンマウントするcryptmountコマンドのオプション
- --unmount
- -u
umountではない点に注意です。
LUKSパーティションにパスフレーズを追加するコマンド
luksAddKey
luks+動詞+目的語のイメージです。パーティションを開くluksOpenや初期化するluksFormatは目的語が省略されていると捉えましょう。
TLSAレコードを検証するコマンド
openssl
LUKSのslotとは
暗号化キーを格納する箱のイメージ。0番目スタート。cryptsetup luksKillSlot /dev/sdb1 0のような具合。
/etc/named.confでDNSSECを有効にする設定
- dnssec-validation yes;
- dnssec-enable yes;
auto-dnssec maintain;のmaintainとは
auto-dnssecはゾーン署名と鍵の生成を自動化する設定で設定値は以下の通り
- off:自動化は無効
- allow:ゾーン署名のみ有効
- maintain:自動化が有効
dm-cryptを使って暗号化を行うコマンド
- cryptsetup
- cryptmount
cryptsetupで暗号化マッピングを作成するアクション
- open
- create
cryptsetupで暗号化マッピングを削除するアクション
- close
- remove
cryptsetupでLUKSパーティションを閉じるアクション
- luksClose
- close
closeとremoveで覚えているとluksRemoveが正答と思ってしまうため注意です。
cryptmountのオプションで-sと-Sを説明せよ
- -s:swaponの略称でスワップを有効化する
- -S:statusの略称でファイルシステムのマウント状況を表示する
ホストセキュリティ
ファイルに対してケーパビリティを削除するsetcapのオプションは-rと--deleteのどちらか
setcap -r /bin/lpic
バッファオーバーフロー対策を三つ述べよ
- ASLR(Address Space Layout Randomization)
- Exec-Shield
- DEP(Data Execution Prevention)
ASLRのカーネルパラメータrandomize_va_spaceを表示するコマンド
sysctl -n kernel.randomize_va_space
-nは「name」と覚えてしまいましょう。
sysctl -pの由来は何か
load parametersのpと覚えてしまう。このコマンドにより/etc/sysctl.confの設定値が反映される。
systemctlとsysctlの違いは何か
- systemctl:システムサービスユニットの管理をする
- sysctl:カーネルパラメータの管理をする
カーネルパラメータを変更したい場合にマウントしなければならないファイルシステム
/proc
/sysではないため注意してください。
systemctl httpd disabledとsystemctl disabled httpdはどちらが正しいか
systemctl disabled httpd
systemctl startと同じようなノリです。
systemctl --listとsystemctl list-unitsとsystemctl list-unit-filesのどれが正しいか
systemctl list-unit-files
chkconfigの場合は--listが正しいです。
systemctl is-enabledに対応するchkconfigのオプションは何か
chkconfig --list
つまりchkconfig --listはsystemctl list-unit-filesにもsystemctl is-enabledにも対応しています。
ケーパビリティを一言で説明せよ
ルート権限を細かく分割して扱えるようにした機能
/etc/usbguard/rules.confでblockとrejectの違いとは
- block:拒否
- reject:拒否+取り外し
openSSHのホスト認証でknown hostsを格納するディレクトリとファイル名
/etc/ssh/ssh_known_hosts
@cert-authority *.example.com ssh-rsa AAAAB3N...のような形でCAの公開鍵を格納します。
ssh-keygenの-fと-sの違いを説明せよ
- -f:作成する鍵のファイル名
- -s:署名の際に用いるCA鍵の指定
「ホスト認証のためのホスト証明書を作成する」場合に-fは必要か
不要。-fは鍵を生成する場合に必要で,今回はホスト証明書(=署名)の作成であるため。
sysctlに--showは存在するか
存在しない。-aと-Aが設定可能なパラメータ一覧を表示するコマンド。
LMDの検索エンジンは独自なものか,それともClamAVか
ClamAV(オープンソースのアンチウイルスソフトウェア)
LMDでスキャンやレポートの確認を行うコマンド
maldet
AIDEにはrulesファイルは存在するか
存在しない
「chkrootkitはrootにchangeするツール」は正しいか
正しくない。chはcheckのchと覚えてしまう。rootkitの侵入を検知するソフトウェア。
auditctlの-bと-Bの違いを述べよ
- -b:Auditバッファの最大値
- -B:(このようなオプションは存在しない)
auditctlの-rを説明せよ
1秒あたりのメッセージ数の上限
auditctlの-Sを説明せよ
システムコール名の指定
auditctlの-eを説明せよ
監査の設定値であり,0は無効,1は有効,2はロックを表す
ulimitで-uは何を表すか
最大プロセス数
max user processesの略称です。
ulimit -Scとulimit -cの違いは何か
- -Sc:ソフトリミット
- -c:一般ユーザの場合はソフトリミット,rootユーザの場合はソフトリミットとハードリミット
ulimitの設定を恒久化する方法を述べよ
pam_limits.soがロードされていることを確認し,/etc/security/limits.confに設定を記載する
systemctl set-propertyすると何が起きるか
/etc/systemd/system/httpd.service.d/ディレクトリ配下に設定ファイルが作成される
cgroupのdevicesでは何を行うか
デバイスのアクセス許可や拒否
cgroupのcpuとcpusetの違いを説明せよ
- cpu:CPU時間の配分を管理
- cpuset:CPUとメモリノードの物理的な割り当て
Access Control
getfattrで拡張属性の値を表示するオプションは--showと--nameのどちらか
--name(-n)
setfattrで拡張属性を削除するオプション
-x(--remove)
setfaclで-nオプションの意味を説明せよ
--no-maskの省略形で,mask値以上の権限が設定された際に設定された権限を有効せずmask値を優先するためのオプション
setfaclで-mと--maskの違い
- -m:指定した権限でACLを変更・追加
- --mask:ACLを変更する際,mask値を上書きする(デフォルト)
setfaclでデフォルトACLを削除するオプション
-k(--remove-default)
setfaclで全てのACLを削除するオプション
-b(--remove-all)
setfaclで所有ユーザに対する権限の設定方法
例えばuser::rwxなど。本来user:test:rwxのようにユーザ名(test)を指定するが,この指定をしない場合は所有ユーザに対する権限設定となる。
プロセスに設定されたセキュリティコンテキストを確認する方法
- ps Z
- ls -Z
topにはZ系のオプションはありません。
SMACKとは
Simplified Mandatory Access Control Kernelの略称で,設定が簡易なセキュリティモジュールのことを指す。プロセスやファイルにラベル(セキュリティコンテキスト)を付与する点はSELinuxと同様。
SELinuxのドメインとタイプを説明せよ
- ドメイン:プロセスに付与されるラベル
- タイプ:ファイルやディレクトリに付与されるラベル
これらはTE(Type Enforcement)と呼ばれる権限制限の仕組みです。
AVCとは
Access Vector Cacheの略称で,SELinuxのアクセス制御で下したルールをキャッシュすることでパフォーマンスを向上させる機能のこと
setenforceでenforcingを設定する方法
setenforce 1
0がpermissiveで,disabledはsetenforceコマンドでは設定できません。
setenforceは一時的か,永続的か
一時的。永続化する場合は/etc/selinux/configを編集する。
auditlogのカスタムレポートを作成するコマンド
seaudit-report
seauditのオプションでは実現できないため注意です。
ネットワークセキュリティ
Aircrack-ngとKismetの違い
いずれも無線NWのセキュリティ評価に利用されるが,以下の違いがある。
- Aircrack-ng:主にパスワードの解析を試みる
- Kismet:ネットワークの監視(パケットスニファ)を行う
tsharkの-Dオプションを説明せよ
有効なネットワークインタフェースを表示
tsharkの-fオプションを説明せよ
キャプチャするパケットをフィルタする
tsharkの-wオプションを説明せよ
キャプチャしたパケットをファイルに保存する
tsharkの-rオプションを説明せよ
ファイルからパケット情報を読み込んで解析する
tsharkの-zオプションを説明せよ
統計情報を出力する
tcpdumpでホスト名ではなくIPアドレスを表示するオプションは何か
-n
tcpdumpの-sオプションを説明せよ
パケットから取り出すバイト数を指定する
tcpdumpの-rオプションを説明せよ
ファイルからパケット情報を取得する
tcpdumpの-wオプションを説明せよ
パケット情報をファイルに出力する
「RADIUSサーバはユーザからユーザ情報を受け取って認証を行う」は正しいか
正しくない。ユーザから情報を受け取るのはRADIUSクライアント
radclientのフロントエンドコマンドは何か
radtest
OpenVASとは
VASはVulnerability Assessment Systemであることから,オープンソースの脆弱性スキャナのことを指す。
- NVTs(Network Vulnerability Tests)を更新
- NASL(Nessus Attack Scripting Language)というスクリプト言語で独自の脆弱性テストを作成
という特徴がある。
OpenVASでNVTsを更新するコマンド
- greenbone-nvt-sync(NVTのみ更新)
- gvm-feed-update(NVT含め他のデータも更新)
OpenVASのコマンドは旧来「openvas」が利用されてきましたが,新しいユーティリティではgvmが利用されます。ただし,NVTsを更新するgreenbone-svt-syncやスキャン処理を行うopenvas-scannerは例外的にgvmが付かないコマンドを利用します。
OpenVASでスキャンするコマンド
- openvassd(旧ユーティリティ)
- openvas-scanner(新ユーティリティ)
OpenVASにルールセットは設定できるか
できない
ルールセットを用いたネットワークIDSとしてSnortがあります。
OpenVASでユーザを削除するコマンドはgvm-deluserとgvmd --delete-userのどちらか
gvmd --delete-user
なので作成はgvmd --create-userになります。
Cactiとは
ネットワークの可視化ツールでSNMPを使ってデータを収集する
「MRTGよりも高い柔軟性を持つことを目指して開発された」という趣旨は大切です。
Cactiでグラフ化に利用されているツールは何か
PRDtool
「Cactiは帯域監視ツールである」は正しいか
正しい。ntopも帯域監視ツール。
Snortで統計情報を生成するコマンド
snort-stat
snortの-dオプションを説明せよ
アプリケーション層のデータも取得
snortの-Dオプションを説明せよ
デーモンモードで起動
snortの-bオプションを説明せよ
tcpdump形式で取得
snortの-lオプションを説明せよ
ログの出力ディレクトリを指定
ディレクトリではなくファイルを指定するとエラーになるため注意です。
ntopは開放されているポートの状況を確認できるか
できるかもしれないが,nmapの方が題意に適している
nftコマンドでルールセットを表示する方法
nft list ruleset
nftはiptablesやebtablesなどを統合した新しいユーティリティです。
ipsetを利用するツールは何か
netfilter
iptablesでchainとruleの両方を削除する手続き
chainの中にruleが入っているという関係性であるから,以下のようになる。
- iptables -F {chain名}(ルールを削除)
- iptables -X {chain名}(チェインを削除)
iptablesの-pオプションを説明せよ
プロトコルの指定
ポート番号は--sportや--dportで指定する点に注意です。
conntrackdとは
ユーザスペースで動作する接続追跡ツールでステートフルなfirewallを実現する
ipsetのタイプを二つ挙げよ
- hash:ip
- hash:net
ipsetのオプションを二つ挙げよ
- family inet(デフォルト)
- family inet6
BLACKLISTというipv4ホストアドレスのipsetの作成方法を述べよ
ipset create BLACKLIST hash:ip family inet
iptables-restoreで現在のテーブルの内容を削除しないで復元するオプション
-n
noflushと覚えましょう。
firewallのパケットフィルタリング型とアプリケーションゲートウェイ型の特徴を述べよ
- パケットフィルタリング型:対象は〜L4でパフォーマンスが高い
- アプリケーションゲートウェイ型:対象は〜L7で高度なフィルタリングが可能
WireGuardで設定状況を表示するコマンド
- wg
- wg show
WireGuardで公開鍵を作成するコマンド
wg pubkey
wg genkeyではない点に注意してください。
WireGuardで秘密鍵を作成するコマンド
wg genkey
wg pubkeyではない点に注意してください。
openvpnをデーモンとして起動するオプション
openvpn --daemon
プロファイルと呼ばれるセキュリティポリシーを使用する代表的なツール
SELinux/AppArmor
AppArmorは拡張属性を利用するか
利用しない。SELinuxやSMACKは利用する。
FLASKとは
SELinuxの基盤となるセキュリティアーキテクチャ
脅威と脆弱性評価
Metasploit FrameworkをGUIで操作できるソフトウェア
Armitage
MetasploitモジュールのAuxiliaryとは
補助ツール。システムのスキャンやファジング(ノイズを与えてバグや脆弱性を検知すること)を行う。直接的に攻撃は行わないという理解をしておくとよい。
IPv6のネットワークスキャンを行うコマンド
nmap -6
nmapでターゲットをファイルから読み込むオプション
-iL
nmapでIPプロトコルスキャンを行うオプション
-sO
nmapでACKスキャンを行うオプション
-sAと-sW
両者ともほとんど同じですが,-sWはTCPウィンドウの情報を活用します。
引っかかったポイント
racoonとは
IPsecにおけるIKEのデーモン。authentication_methodでpre_shared_key・rsasig・gssapi_krbなどが指定可能。
charonとは
IPsecにおけるIKEのデーモン。比較的新しい方式。strongSwanというVPNのOSSの一部として利用されている。
AIDEファイルで監視対象と非監視対象を記述する方法の例
- 監視対象:/usr/local/ p+i+u+g
- 非監視対象:!/usr/local/.*
pはpermission,iはinode,uはuid,gはgidと覚えましょう。
ulimitで制限できるのはファイルの最大サイズか最大個数か
最大サイズ
ulimitで制限できるのはプロセスの最大生存期間か最大個数か
最大個数
これに関連して同時に開けるファイルディスクリプタの最大個数も制限できます。
Snortでパケットの解析や前処理を行うモジュール
preprocessor
auditdで監査ログの条件検索
ausearch
auditdの監査ルールの変更を行うコマンド
auditctl
auctlでは短すぎるからauditctl,と覚えてしまいましょう。
OpenVPNでサーバのホスト名を指定するクライアント側の設定
remote
「dnssec-signzoneはNSECに署名する」は正しいか
正しい。署名した結果生成されるのがNSECであり,ゾーンに新しいレコードが追加・削除された場合はNSECレコードが更新される。
nmapにはIdleスキャンと呼ばれるスキャン方法は存在するか
存在する(-sI)
新規のSPDエントリを作成するサブコマンド
setkey spdadd
sss_useraddと同様にaddが後にくると覚えましょう。
パスワードで辞書に含まれる単語が使用されているかどうかをチェックするPAMモジュール
pam_cracklib.so
PAMモジュールでユーザに制限をかける設定ファイル
/etc/security/limits.conf
新しいSELinuxで設定された役割に変更してシェルを実行するコマンド
newrole
ebtablesで使用できるテーブル3つ
filter・broute・nat
auth pam_rootok.soを使う際の制御フラグ
sufficient
requiredにすると一般ユーザがこのルールを通過した際に強制的にNGとなるためです。
apacheでOCSP Staplingを有効化するディレクティブ
SSLUseStapling
DNSSECによる検証を有効化するBINDのパラメータ
dnssec-validation
dnssec-verifyではない点に注意してください。
OpenVPNで接続先にネットワークの設定情報を通知するディレクティブ
push
password_pbkdf2コマンドとは
Password-Based Key Derivation Function 2の略称で,PAMのpam_unix.soモジュールで使用されるパスワードのハッシュ化アルゴリズム。GRUBのブート時のパスワードを生成するコマンド。
拡張ファイル属性の名前空間の4つを述べよ
- user
- system
- security
- trusted
groupはないことに注意してください。
setfaclコマンドで適用されるデフォルトのACLマスク
- ファイルの所有グループ
- 指定されたすべてのユーザとグループ
のアクセス権をすべて合わせたマスク
ファイルの所有ユーザではなく所有グループである点に注意してください。
X.509証明書におけるBasic Constraints: criticalとは
Basic Constraints拡張には証明書がCA(認証局)であるかどうかを示す情報が含まれており,criticalとマークされている場合は証明書を検証するソフトウェアは必ずこの拡張をチェックしなければならない。逆に言うと,この拡張機能を処理できないソフトウェアではこの証明書は処理することは許されない。
dm-cryptで暗号化されたディスクのマッピングを削除するコマンド
- cryptsetup close
- dmsetup remove
ntopで管理者パスワードを指定するオプション
--set-admin-password
マウントしているCIFSサーバ上のファイルのACLを確認するコマンド
getcifsacl
setfattrコマンドでkeyとvalueを設定する例
setfattr -n user.attr -v val
auditctlコマンドを使用した監査ルールのオプションでw/p/kの意味
- w:対象ファイル(watch)
- p:パーミッション(permission)
- k:関連づけるキー名(key)
例えばauditctl -w /etc/passwd -p wa -k passwd_changeなどです。
SELinuxのセキュリティコンテキストを変更するために使用するコマンド
- setfiles
- fixfiles
- restorecon
set/fixと字面で覚えてしまいましょう。updatefilesやchangefilesは字面的に違います。
ls -lで出力されるSは何を意味するか
SUIDが設定されているが実行権限がないこと
SELinuxの動作モードを動的に変更するコマンド
setenforce enforcing|permissive|disable
SELinuxのポリシーを管理するコマンド
semanage
SELinuxのコンテキストを変更するコマンド
chcon
lsでSELinuxの情報を得るためのオプション
-Z(--context)
systemdのdrop-inファイルとは
既存のsystemdユニット(.service・.socket・.timerなど) の設定を上書きするための設定ファイル。置き場所は/etc/systemd/system/ユニット名.d/となる。例えば/etc/systemd/system/nginx.service.d/override.confのようなファイルになる。
cgroupsの階層構造をツリー形式で表示するコマンド
systemd-cgls
cglはcgroup listの略称です。
USBGuardポリシーを生成するコマンド
usbguard generate-policy
仮想メモリ全体がランダム化するコマンド
sysctl -w kernel.randomize_va_space=2
ASLRはAddress Space Layout Randomizationの略称で,メモリ配置をランダム化することで攻撃者が特定のメモリ位置を予測して不正にアクセスするのを防ぐセキュリティ技術のことを指します。kernel.randomize_va_spaceの値が0の場合はASLRは無効,1の場合は一部がランダム化されます。
nmapでステルススキャンを行うオプション
-sS(TCPハーフスキャン)
dnssec-validationの設定値
- auto:DNSサーバが鍵(トラストアンカー)を管理してDNSSECの検証を行う
- yes:手動で鍵(トラストアンカー)を管理してDNSSECの検証を行う
- no:DNSSECの検証は行わない
X.509の拡張機能でエンドユーザー証明書に対しては何を設定するか
CA:FALSE
システムの起動時に暗号化デバイスをマッピングするための設定ファイル
/etc/crypttab
WireGuardとは
高速で軽いVPN
WireGuardの設定を表示するコマンド
wg show
IPv6対応のIPsetを作成する際に付けるオプション
family inet6
通信の暗号化に必要な証明書ファイルを作成するために実行するコマンド
openvas-manage-certs -a
SnortはIDSか?
IDSである。リアルタイム解析とリアルタイム防御が可能。
ACMEとは
CAからSSL/TLS証明書を自動取得して管理するプロトコル
Automated Certificate Management Environmentの略称です。
certbotとは
Let's EncryptのSSL/TLS証明書を自動で取得・更新するためのツール
ACMEを使っています。
CFSSLとは
Cloudflareが開発したSSL/TLS証明書管理ツール
CloudFlare SSLの略称で,ACMEは使いません。
apacheにおけるSNIの設定方法
- VirtualHostを使ってドメインごとに異なる証明書を設定
- a2enmod sslでmod_sslを有効化する
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/example
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
<VirtualHost *:443>
ServerName another-example.com
DocumentRoot /var/www/another-example
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/another-example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/another-example.com/privkey.pem
</VirtualHost>
apacheにおけるHSTSの設定方法
mod_sslに加えてmod_headersを利用してHeaderディレクティブを設定する
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/example
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
# HSTS の設定
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</VirtualHost>
Clevisとは
鍵管理と暗号化解除のマネジメントツールで,主にLUKSで暗号化されたディスクを解除する
Clevis TPM2 NBDE/Tangとは
- TPM2:ハードウェアベースのセキュリティモジュール。ブート時に利用される秘密鍵の保管など。
- NBDE:ディスク暗号化の解除プロセスをネットワークを使って行う仕組み
- Tang:ネットワーク経由でLUKS暗号化解除のための「解除鍵」を提供するサーバ
ということで,TPM 2.0を使ってシステムのセキュリティを強化し,Tangサーバー経由でネットワーク越しに自動的にLUKS暗号化ボリュームを解除するシステムのことを指す。
DNS over TLSのポート番号
853
DNS over HTTPSのポート番号
443
Multicast DNSとは
ローカルネットワーク内で名前解決を行うプロトコルで,中央集権的なDNSサーバーを必要とせず,マルチキャストを使ってデバイス間で情報を交換する
Polkitとは
Linuxシステムのアクセス制御を管理するフレームワーク
kismetとは
無線LANのパケットスニファリングツール
Wiresharlkの無線バージョンのイメージです。
aircrack-ngとは
無線LANのセキュリティテストおよび解析を行うためのツール
bettercapとは
ネットワーク攻撃とセキュリティ監視を行うツールで,中間者攻撃が可能
pulledpork.plとは
Snortというネットワーク監視ツールのルールセットを自動で更新するスクリプト
OpenVPNとstrongSWANの違いとは
- OpenVPN:SSL/TLSを使う。クライアント・サーバ間のリモートアクセスVPNを実現。
- strongSWAN:IPsecを使う。サイト間(ルータ間)VPNを実現。
Rainbow Tableとは
ハッシュ化されたパスワードを逆算するために使う事前計算されたデータベース
DERとは
Distinguished Encoding Rulesの略称で,X.509証明書をエンコードするためのバイナリ形式のこと
PKCSとは
Public Key Cryptography Standardsの略称で,公開鍵暗号の標準規格のこと
CSRとは
CAに送信する証明書署名要求のこと
apacheにおけるCipherの設定方法
SSLCipherSuite HIGH:!aNULL:!MD5:!3DES
SSLHonorCipherOrder on
apacheにおけるOCSPの設定方法
SSLUseStapling on
SSLStaplingCache shmcb:/tmp/ssl_stapling(512000)
opensslを使ったクライアント・サーバ間のテスト
- openssl s_server(-accept・-cert・-key・-CAfileなど)
- openssl s_client(-connectなど)
証明書を失効させるコマンド
openssl ca -revoke /path/to/certificate.crt
ブロックデバイスを暗号化するコマンド
dm-crypt
ファイルシステムを暗号化するコマンド
eCryptfs
CAAレコードとは
どのCAが自分のドメインの証明書を発行できるかを指定するレコード
DSレコードを生成するコマンド
dnssec-dsfromkey
署名されたレコードを検証するコマンド
delv
ゆえに「DNSSECを検証するコマンドは」の解答もdelvになります。
DEPとは
Data Execution Preventionの略称で,実行可能なコードをメモリ内で不正に実行するのを防ぐ技術
同様の技術にExec-Shieldがあります。
Linux Meltdownとは
特権命令と呼ばれる通常アクセスできないメモリ領域にアクセスできるという問題
投機的実行というプロセッサの機能を悪用します。
Spectreとは
Linux Meltdownと同様の脆弱性だが,ユーザー空間から他のプロセスの情報を盗むことができる
USBGuardデーモンの設定ファイル
/etc/usbguard/usbguard-daemon.conf
USBデバイスの許可・拒否ルールを定義するファイル
/etc/usbguard/rules.conf
rootkitを検出するツール
rkhunter(Rootkit Hunter)
インストールされたファイルの一貫性を検証するrpmコマンド
rpm -Va
インストールされたファイルの一貫性を検証するdpkgコマンド
dpkg --verify
システムのセキュリティ状態を評価するプロトコル
OpenSCAP(Security Content Automation Protocol)
Auditデーモンの設定ファイル
auditd.conf
Auditの監査ルールを定義するファイル
audit.conf
auditdのようにデーモンではない点に注意です。
ターミナルの操作を監査するために利用されるPAMモジュール
pam_tty_audit.so
maldetectの設定ファイル
/etc/maldetect/conf.maldet
NSEとは
Nmapに組み込まれているスクリプト機能
Kali Linuxとは
ペネトレーションテストやセキュリティ評価を行うために特化したLinuxディストリビューション
Armitageとは
Metasploit Frameworkを使いやすくするためのGUI
ネットワーク越しに他のコンピューターを操作・監視するコマンド
radmin(Remote Administrator)
RADIUS サーバーのログからユーザの最終ログイン情報を表示するコマンド
radlast
現在 RADIUSサーバーに認証されているユーザの情報を表示するコマンド
radwho
FreeRADIUSのメイン設定ファイル
radiusd.conf
FreeRADIUSの各種設定ファイルが格納されているディレクトリ
/etc/raddb/
Wireshark のコマンドライン版
tshark
Linuxカーネルに実装された強制アクセス制御(MAC)システム
SMACK(Simplified Mandatory Access Control Kernel)
SELinuxが有効かどうかを確認するコマンド
selinuxenabled
SELinuxのポリシー管理ツール
apol(Audit Policy and Object Labeller)
SELinuxの監査ログからアクセス拒否の原因を解析するツール
audit2why
SELinuxの監査ログから拒否されたアクセスを許可するルールを生成するツール
audit2allow
コメント