0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【LinuC202試験対策】登場人物まとめ

Last updated at Posted at 2025-03-14

この記事は何の記事 ?

LinuC202 は登場人物があまりにも多く,
「君は何をされている方なの ?」となる事が多々ありました
ということで登場人物を簡単にまとめました

ネットワーククライアントの管理

DHCP

クライアントの IP アドレスを自動的に割り当てるプロトコル

dhcpd

DHCP サーバーのデーモン

dhcpd.conf

dhcpd の設定ファイル
/etc/dhcpd.conf/etc/dhcp/dhcpd.conf に置かれる
雰囲気は以下

subnet xxx.xxx.xxx.xxx netmask 255.255.0.0 {
    option routers xxx.xxx.xxx.1;
    option subnet-mask 255.255.0.0;

    default-lease-time 21600;
}

dhcpd.leases

dhcpd が現在貸し出している IP アドレスが記録されている

DHCP クライアント

DHCP クライアント

  • dhclient
  • pump
  • dhcpcd

dhclient コマンドで,
以下のように DHCP サーバーから IP アドレス等を取得する

dhclient -d enp0s4

dhcrelay

自分のネットワークに DHCP サーバーがいない時は,
隣町の DHCP サーバーまで行かないといけません
このように異なるネットワークで DHCP サーバーを利用する時は,
DHCP リクエストを中継する必要があります
それを行うのが DHCP リレーエージェントです
また,そのデーモンが dhcrelay です

radvd

IPv6 では DHCP なしで IP アドレスを自動設定できます
クライアントがルーターにルーター要請(RS)を送り,
ルーターがルーター通知(RA)を返します
radvd パッケージを導入すると,ルーター通知を返せるようになります

クライアントは RA を元に,
IP アドレスの生成やデフォルトゲートウェイの設定を行います

PAM

認証方法が色々あって管理できない...
そこで一元管理して差し上げようというのが PAM です

取り外しできる 認証 モジュールの集まり
Pluggable Authentication modules

といった感じです

pam.d

PAM の設定ファイルが置かれているディレクトリです
etc/pam.dsupasswd といったファイルが置かれています
それぞれの認証の設定ファイルが置かれています

PAMの設定ファイルの書式

雰囲気は以下の通りです

モジュールタイプ コントロール モジュールのパス 引数
auth requisite pam_deny.so

SSSD

認証サービスから認証情報を取得し,
認証の集中管理や,オフラインで認証できるようにしてくれる子

sssd.conf

SSSD の設定ファイル
etc/sssd/sssd.conf ファイル
雰囲気は以下

[sssd]
domains = ldap_domain
services = nss, pam
config_file_version = 2

[domain/ldap_domain]
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
access_provider = ldap
cache_credentials = True
ldap_uri = ldap://ldap.example.com
ldap_search_base = dc=example,dc=com
ldap_id_mapping = True
default_shell = /bin/bash
fallback_homedir = /home/%u

LDAP

ディレクトリ情報の情報をやりとりするプロトコル

ディレクトリ情報ツリー

国,組織,部門,個人のように階層構造に情報が格納されているツリー
このツリーの情報を組み合わせて個人を識別できるようにするのが識別名

「日本」の「いろは組織」の「ほへと部門」にいる「ちりぬるを」さんの
識別名は以下のようになる(雰囲気)

uid=ちりぬるを, ou=ほへと部門, dc=いろは組織, dc=日本

LDIF

LDAP Data Interchange Format の略
LDAP ディレクトリのデータを LDIF 形式でエクスポートとし,
他の LDAP サーバーにデータを移行する際などに利用する形式
雰囲気は以下

dn: uid=john.doe,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
uid: john.doe
cn: John Doe
sn: Doe
givenName: John
mail: [メールアドレスを削除しました]
telephoneNumber: +1 555-123-4567

スキーマ

LDAP でデータを格納するための,
オブジェクトクラスや属性の定義のこと

etc/openldap/schema ディレクトリ以下にある
主なスキーマは core.schemanis.schema など

オブジェクト識別子

LDAPディレクトリ内の
オブジェクトクラスや属性などを一意に識別するための識別子
inetOrgPerson といったオブジェクトクラスなどに「2.16....(省略)」
といたように識別子が振られている

OID は重複しないように IANA によって管理されている

OpenLDAP

LDAP を利用するのによく使われる

OpenLDAP サーバー

サーバー側のデーモンは slapd

以下のコマンドで設定管理

コマンド 説明
slapadd LDAP データベースにエントリを追加
slapcat LDAP データベースを LDIF で確認
slapindex LDAP データベースのインデックスを振りなおす
slappasswd 暗号化されたパスワードを作成
slaptest サーバーの設定を確認

OpenLDAP クライアント

以下のコマンドを利用する

コマンド 説明
ldapadd エントリ追加
ldapsearch エントリ検索
ldapdelete エントリ削除
ldapmodify エントリ変更
ldappasswd パスワード変更

アクセス制御

エントリや属性に対してアクセス制御を行う
誰が,何に対して,どのような操作を制御するのか記述する
雰囲気は以下

olcAccess: to attrs=userPassword
        by self write
        by anonymous auth
        by * none

ドメインネームサーバー

BIND

代表的なDNSサーバーソフトウェア

rndc

BINDを操作するコマンド

/etc/named.conf

BINDのメイン設定ファイル
雰囲気は以下

options {
        directory "/var/cache/bind";
        recursion yes;
        allow-query { any; };
        forwarders {
                8.8.8.8;
                8.8.4.4;
        };
        dnssec-validation auto;
        listen-on-v6 { any; };
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "example.com" IN {
        type master;
        file "db.example.com";
        allow-update { none; };
};

zone "192.168.1.in-addr.arpa" IN {
        type master;
        file "db.192.168.1";
        allow-update { none; };
};

dnssec-keygen

BINDでTSIGやDENSECを使ってゾーンデータを認証するための鍵を作成するコマンド

HTTPサーバーとプロキシサーバー

Apache

httpd.conf

メインの設定ファイル
設定項目をディレクティブという
雰囲気は以下

# 全体設定
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin admin@example.com
ServerName example.com:80

# ディレクトリ設定
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

# ログ設定
ErrorLog "logs/error_log"
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog "logs/access_log" common

# VirtualHost設定
Include conf.d/*.conf

外部設定ファイル

だいたいは .htaccess がそのファイル
AllowOverride ディレクティブで外部設定ファイルの許可が必要

AccessFileName .htaccess
<Directory "/var/www/html/example">
    AllowOverride All
</Directory>

Apache サーバー起動

CentOS

# systemctl start http.service

Ubuntu

# systemctl start apache2.service

Apache サーバー制御

apachectl コマンドで制御

Apache で利用するモジュール

mod_authz_basic など mod_xxx のようなモジュールを
ロードすることで機能を拡張できる

Nginx

高速な web サーバー
リバースプロキシサーバーやメールサーバーとしての機能もある

/etc/nginx/nginx.conf

メイン設定ファイル
雰囲気は以下

user nginx; # 実行ユーザー
worker_processes auto; # ワーカプロセス数 (auto は CPU コア数に合わせる)

events {
    worker_connections 1024; # ワーカプロセスあたりの接続数
}

http {
    include mime.types; # MIMEタイプの設定
    default_type application/octet-stream; # デフォルトのMIMEタイプ

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"'; # ログフォーマット

    access_log /var/log/nginx/access.log main; # アクセスログ
    error_log /var/log/nginx/error.log warn; # エラーログ

    sendfile on; # sendfile システムコールを有効化
    keepalive_timeout 65; # keepalive タイムアウト

    server {
        listen 80; # 待ち受けポート
        server_name example.com; # サーバー名

        location / {
            root /usr/share/nginx/html; # ドキュメントルート
            index index.html index.htm; # インデックスファイル
        }
    }
}

Squid

Linuxでよく使われるプロキシサーバー

/etc/squid/squid.conf

アクセスコントロールリストを上に書いて
それらに対する制御を下に書く

acl Safe_ports port 80 21 443 1025-65535

http_access deny !Safe_ports

電子メールサービス

MUA, MTA, MDA

M はメールまたはメッセージの M です
A はエージェントの A です
ざっくりまとめるとこうです

m 説明
MUA 配達でいうポストに荷物を届けたり荷物を送ってくれる A
MTA 配達でいう拠点間で荷物を配達してくれる A
MDA 配達でいう最寄りの拠点で届け先の所定の位置に荷物を置く A

smtpとpop, imap

ざっくりまとめるとこうです

プロトコル 説明
smtp メール送信プロトコル
pop メール受信プロトコルで,サーバーからメールを削除する
imap メール受信プロトコルで,サーバーからメールを削除しない

mbox形式とmaildir形式

形式 説明
mbox 全てのメールが 1 つのファイルに書かれる
maildir メール 1 つに 1 ファイル

postfix

MTA
smtpd など複数のプログラムが協調して動く

/etc/postfix/main.cf

このディレクトリに以下の設定ファイル
MTAとしての基本設定ファイル

#️ドメイン名
mydomain = example.com
#️ メールアドレスで@以降のドメイン名
myorigin = $mydomain

master.cf

Postfixを構成する各種デーモンの設定ファイル

postconfコマンド

postfixの設定値を表示
設定ファイルに基づく

postfixコマンド

postfixの制御を行う

postfix stop
systemctl stop postfix.service

SMTP認証

SMTPに認証機能が無いので、
その機能を追加する

SAMLというライブラリが提供する機能によって実現

Dovecot

MDA
オープンソースのIMAPおよびPOP3サーバー

/etc/dovecot/

Dovecot の設定ファイルが以下にある
/etc/dovecot/dovecot.conf/etc/dovecot/conf.d

以下のように {数字}-{英字}.conf のように関連ファイルが存在

  • 10-mail.conf: メールボックスに関する設定
  • 10-master.conf: Dovecotのプロセスに関する設定

ファイル共有サービス

Samba

ファイルやプリンタなどのリソースを共有するためのソフトウェア
Linux と Windows 間で使える
Linux をファイルサーバーとして Windows からアクセスしたり,
逆もできる

3 つのサーバープロセス

プロセス 機能
smbd ファイル共有,認証等
nmbd ブラウジング機能,NetBIOS名前解決,WINSサーバー等
winbindd Winbind機能

smb.conf

Samba サーバーの設定ファイル
etc/samba/smb.conf
雰囲気は以下

[global]
        workgroup = WORKGROUP
        server string = Samba Server
        netbios name = SAMBA
        security = user
        map to guest = bad user
        name resolve order = bcast host lmhosts wins

[homes]
        comment = Home Directories
        browseable = no
        writable = yes
        valid users = %S
        create mask = 0700
        directory mask = 0700

[public]
        comment = Public Share
        path = /srv/samba/public
        public = yes
        writable = yes
        printable = no
        create mask = 0777
        directory mask = 0777

Samba ユーザー管理

pdbeditsmbpasswd コマンドで管理できる
smbpasswd はパスワード変更できる

Samba 管理コマンド

smbcontrol

smbd, nmbd, winbidd に対してメッセージを送り制御する

smbstatus

Samba サーバーに接続されているクライアントなどを表示する

nmlookup

NetBIOS 名から IP アドレスを検索するなどで利用する

Samba クライアント

smbclient [option] 接続先
Samba サーバーや Windows 側で提供されている共有リソースを利用するときに使用

ACL

Samba では従来のパーミッションより細かい設定ができる
取得と設定変更は以下のコマンド

# getfacl ファイル名
# setfacl [option] ACL エントリ対象
# getfacl filename
# setfacl -m user:testuser:rw filename

システムのセキュリティ

パケットフィルタリング

パケットのフィルタリングをする
以下のコマンドを利用

  • iptables
  • ip6tables

ファイヤーウォールを容易に設定できるツール

パケットフィルタリングによるファイアウォールを
簡単に設定できるのが以下のツール

  • CentOS: firewalld, firewall-cmd コマンド
  • Ubuntu: ufw コマンド

OpenSSH

SSHサーバーの機能は sshd が提供
sshd の設定ファイルは /etc/ssh/sshd_config

セキュリティ業務

Snort

パケットスニファリングツール
ネットワークのパケットを監視し、
攻撃や侵入を捕らえる

Tripwire

ファイルの改ざんを検知する

OpenVAS

セキュリティスキャナ
ネットワーク経由で脆弱性のチェックが可能

OpenSACP

Security Content Automation Protocol
→ セキュリティ対策を標準化・自動化する規格
これに基づいてセキュリティをチェックしてくれるツール

Fail2ban

ログファイルを監視して攻撃を検知
攻撃元のIPアドレスをお断りするソフトウェア

この子短期間に何回もログイン失敗してるから、
iptablesにこの子からの接続を拒否するルール追加したろみたいなことをする

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?