Kの雑記

最近忘れやすいので、備忘録がわり

Apacheの認証

Apacheでの認証

basic認証

基本は、.htaccessファイルを作成し、アクセス制限をかけたいディレクトリにおくのと、.htpasswordファイルを作成するだけ。

digest認証をやる

何点か考慮しないと、結構ハマるかも・・・

  • digest認証でID/PWD認証が成功すると、ブラウザを閉じるまで有効になる。なので、Apacheの設定を変更しサービス再起動してアクセスしても、以前の認証が有効になっているため期待する動作にならない可能性がある。

そのときは、おとなしくブラウザの再起動をする。

  • ブラウザの再起動をしないでキャッシュクリアをしても、digest認証は有効なままなので期待する動作にならない可能性がある。
  • 設定変更する度にブラウザを再起動するのは手間なので、curlコマンドで確認したほうが手っ取り早い。

digest認証の設定

  • ID/PWDファイルはすでに作成済みの前提
[root@web01 conf.d]# cat /etc/httpd/conf.d/digest.conf 
<Directory "/var/www/html/api">
  # /apiへのアクセスはdigest認証が必要
  # digest auth
  AuthType Digest
  AuthName "Digest Auth"
  AuthUserFile /etc/httpd/conf/htdigest
  Require valid-user
</Directory>

特定のIPからのアクセスは認証なしで通す場合

RequireAnyディレクティブを設定すると、Requireでどれかにマッチした場合にOKとなるので、この場合、IPアドレスが10.10.10.XのIPからのアクセスはパスワードなしでアクセスが許容される。

cat /etc/httpd/conf.d/digest.conf 
<Directory "/var/www/html/api">
  # 特定のIPのみ認証なしでのapiアクセスを許容する
  # digest auth
  <RequireAny>
    AuthType Digest
    AuthName "Digest Auth"
    AuthUserFile /etc/httpd/conf/htdigest
    Require valid-user
    Require ip 10.10.10.
  </RequireAny>
</Directory>

特定のIPからのアクセスはdigest認証で許可し、それ以外のIPからのアクセスは禁止する場合

cat /etc/httpd/conf.d/digest.conf 
<Directory "/var/www/html/api">
  # /特定のIPはDigest認証で許可、それ以外のIPはアクセス拒否
  # digest auth
  <RequireAll>
    AuthType Digest
    AuthName "Digest Auth"
    AuthUserFile /etc/httpd/conf/htdigest
    Require valid-user
    Require ip 10.10.10.0
  </RequireAll>
</Directory>

認証なしでIP制限

digest認証が不要で、特定のIPからのアクセスのみを許可したい場合はこれでいい。

[root@web01 conf.d]# cat allow.conf 
<Directory "/var/www/html/api">
  # IP10.10.10.xからのアクセスのみ許可
  # RequireAnyがデフォルトなので、これはなくてもいい
  <RequireAny>
    Require all denied
    Require ip 10.10.10.
  </RequireAny>
</Directory>

証明書のTips

証明書の話はここに分かり易くまとまっている。

DER、PEM

  • der, pemはエンコーディング方式、証明書の場合もあるし、鍵の場合もある
  • derはバイナリ、pemはテキストで--BEGINで始まるやつ
  • opensslコマンドではデフォルトではpemを扱う

.CRT .CER .KEY .CSR

ファイルの中身を表している

crt

  • crtは証明書
  • エンコーディングはderだったりpemだったりする
  • 誰の公開鍵かを証明するので、crtの中には公開鍵も含まれている
  • なので、証明書=名前付き公開鍵ともいえる

cer

key

csr

  • 証明書要求ファイル

NetworkManagerのTips

deviceとconnection

  • deviceが物理デバイスNICWifiインターフェースを示す。実際のNWインターフェースと同じ数だけある。
  • connectionは論理的なNW設定、複数設定可能。
  • deviceとconnectionを紐付けて利用可能となる。

routingの設定

どっかのIFにスタティックルーティングを追加する場合

nmcli c mod ensXXX +ipv4.routes "XXX.XXX.XXX.XXX/XX XXX.XXX.XXX.XXX" 
nmcli c down ensXXX; nmcli c up ensXXX

MariaDBの使い方

ログイン

mysql -h [host] -u [ユーザ] -p
mysql -u [user] [db_name]

DB一覧

show databases;

DBアクセス

use [db_name];

テーブル一覧

show tables;

ユーザ一覧

SELECT Host, User, Password FROM mysql.user;

ユーザの追加

create user `testuser`@`localhost` IDENTIFIED BY 'password';

ユーザに権限付与

grant all privileges on test_db.* to testuser@localhost IDENTIFIED BY 'password';