ラベル セキュリティ の投稿を表示しています。 すべての投稿を表示
ラベル セキュリティ の投稿を表示しています。 すべての投稿を表示

2021年3月15日月曜日

KMS & S3

まずは、KMSにて、キーの作成を行ってみます。


1)KMSのマネージメント画面に移動(以下の画面)

2)キー作成を選択する











3)対称を選択

4)詳細オプションから”KMS”を選択

5)次へ










6)エイリアス名を記載

7)次へ














8)“キーの管理者がこのキーを削除できるようにします”  のチェックを外す

9)次へ


















10)対象のユーザー及びRoleを選択する。

11)次へ



12)以下のようにキーポリシーが表示されるので、特に編集が不要であれば

13)完了を押す。














14)完了すると、以下のようにマネージメントコンソール上で確認ができる








■S3(バケット側)


1)対象のバケットを選択する。

2)プロパティタブを選択する。

3)デフォルトの暗号化の箇所の編集を選ぶ。
























4)サーバー側の暗号化

  ->有効にする

5)暗号化キータイプ

  ->SSE-KMSを選択

6)AWS KMSキー

   ->KMSマスターキーからの選択する

7)KMSマスターキー

   ->上記で作成したKMSマスターキーを選択する。


8)変更を保存を押す。




















アプロードしたファイルを一般公開を行なった後に

ブラウザからアクセスを行うと以下のようにアップロードしたファイルの表示されず

KMSによる暗号化に関する記述がされてます。


ちなみに、別のバケットでKMSでの暗号化を行うわないで、アップロードしたファイルにアクセスすると、

普通にアップロードしたファイルが観覧可能でした。














2019年5月6日月曜日

セキュリティ関連メモ

1)apparmor 

以下だそうだ。
①AppArmor とは、プログラム単位でMAC(Mandatory Access Control - 強制アクセス制御) を行うためのセキュリティ機構
②MACとは、従来のファイルのパーミッションの設定等とは関係なく、 強制的にアクセス制限を設けることができる機構

2)seccomp特定のコマンド禁止など。

2019年4月17日水曜日

secretファイルを作成について

mysqlなどで使用するパスワードを記述する方法について、以下の方法で行うことにする。


◻️secretファイルを作成する。

vi secret.yaml
============================
apiVersion: v1
kind: Secret
metadata:
  name: mysql-pass
type: Opaque
data:
  password: パスワードを記載
============================


◻️以下、secretsファイルが作成されていることが確認できる。

kubectl get secrets
==========================================================================
NAME                  TYPE                                  DATA      AGE
default-token-vvmdl   kubernetes.io/service-account-token   3         4d
mysql-pass            Opaque                                1         11m
==========================================================================

◻️mysql用のファイルにsecretの記述する。

vi mysql-deployment.yaml 
=============================================================
apiVersion: v1
kind: Service
metadata:
  name: wordpress-mysql
  labels:
    app: wordpress
spec:
  ports:
    - port: 3306
  selector:
    app: wordpress
    tier: mysql
  clusterIP: None
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pv-claim
  labels:
    app: wordpress
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi
---
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: wordpress-mysql
  labels:
    app: wordpress
spec:
  selector:
    matchLabels:
      app: wordpress
      tier: mysql
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: wordpress
        tier: mysql
    spec:
      containers:
      - image: hypriot/rpi-mysql
        name: mysql
        env:
        - name: MYSQL_ROOT_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mysql-pass
              key: "password"
        ports:
        - containerPort: 3306
          name: mysql
        volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-pv-claim
=====================================================================


◻️wordpress用のファイルにsecretの記述する。

vi wordpress-deployment.yaml
============================================================
apiVersion: v1
kind: Service
metadata:
  name: wordpress
  labels:
    app: wordpress
spec:
  ports:
    - port: 80
  selector:
    app: wordpress
    tier: frontend
  type: LoadBalancer
  ports:
    - name: "http-port"
      protocol: "TCP"
      port: 8080
      targetPort: 80
      nodePort: 30088
#  ports:
#    - port: 31002
#spec:
#  ports:
#  - port: 31002
#    nodePort: 31002
#    targetPort: http-port
#    protocol: TCP
#  selector:
#    app: wordpress
#    tier: frontend
#  type: NodePort
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: wp-pv-claim
  labels:
    app: wordpress
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi
---
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: wordpress
  labels:
    app: wordpress
spec:
  selector:
    matchLabels:
      app: wordpress
      tier: frontend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: wordpress
        tier: frontend
    spec:
      containers:
      - image: wordpress:4.8-apache
        name: wordpress
        env:
        - name: WORDPRESS_DB_HOST
          value: wordpress-mysql
        - name: WORDPRESS_DB_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mysql-pass
              key: "password"
        ports:
        - containerPort: 80
          name: wordpress
        volumeMounts:
        - name: wordpress-persistent-storage
          mountPath: /var/www/html
      volumes:
      - name: wordpress-persistent-storage
        persistentVolumeClaim:
          claimName: wp-pv-claim

=========================================================

2018年12月23日日曜日

Apache(SSL設定方法)


1)mod_sslをインストールする。
yum install mod_ssl


2)ssl.confの編集を行う。

=======/etc/httpd/conf.d/ssl.conf============
#
# When we also provide SSL we have to listen to the
# the HTTPS port in addition.
#
#Listen 443 https  <--無効化にする。
          .
          .
          .   

#   SSL Protocol support:
# List the enable protocol levels with which clients will be able to
# connect.  Disable SSLv2 access by default:
#SSLProtocol all -SSLv2 -SSLv3
SSLProtocol -all +TLSv1.2   <--追加する
          .
          .
          .
## 行の末端に新規追加 ##

<VirtualHost *:443>
  ErrorLog logs/ssl_error_log
  LogLevel warn
  SSLEngine on
  SSLProtocol all -SSLv3
  SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
  SSLCertificateFile /etc/httpd/conf/server.crt    <--作成したserver.crtを指定すること
  SSLCertificateKeyFile /etc/httpd/conf/server.key <--作成したserver.keyを指定すること
  <Files ~ "\.(cgi|shtml|phtml|php3?)$">
        SSLOptions +StdEnvVars
    </Files>
    BrowserMatch "MSIE [2-5]" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0
    CustomLog logs/ssl_access_log ltsv_ssl
</VirtualHost>

========================================



3)httpd.confの編集を行う。

=======/etc/httpd/conf/httpd.conf===========
#Listen 12.34.56.78:80
#Listen 80
Listen 192.168.1.111:443  <----サーバのIP:443を追記する。


##### 末端に以下を追記 ######
Include /etc/httpd/conf.d/ssl.conf

<IfModule ssl_module>
 SSLRandomSeed startup builtin
 SSLRandomSeed connect builtin
</IfModule>

===========================================



4)httpdのサービスを再起動を行う
systemctl restart httpd


TLSv1.2のみに制限する方法について

1)httpd.confの末端に以下を追記する。(TLSx1.2以外使用禁止する)
SSLProtocol -all +TLSv1.2

2)サービスの再起動を行う。

systemctl restrat httpd


3)以下のコマンドでTLS1.2の適応状況が確認できる。
openssl s_client -connect サーバーのIP:443 -tls1_2


2017年10月29日日曜日

SSL証明書の導入手順

■あくまでもダミー版のSSL証明書の導入方法になる。


1)以下のコマンドを実施
# openssl genrsa -des3 -out server.key 2048

2)以下の設定画面が表示されるので、入力を行っていく
------------SSL設定画面-----------
①以下、適当なパスフレーズ入れる
Enter pass phrase for server.key:Pass@4126

②再度フレーズを入力
Verifying - Enter pass phrase for server.key:Pass@4126

③作成を行う
# openssl req -new -key server.key -out server.csr


④先ほど設定したパスフレーズ入れる
Enter pass phrase for server.key:Pass@4126

⑤情報を適当に入力を行う
---------------------------------------------------------------------------
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
----------------------------------------------------------------------------


server keybackupを行う。
# cp server.key server.key.org

⑦パスフレーズを解除する
# openssl rsa -in server.key.org -out server.key

⑧先ほど設定したパスフレーズ入れる
Enter pass phrase for server.key.org:Pass@4126

⑨以下コマンド(作成)を入力する

# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

ローカルLLMでコーディングさせるポイント

 簡単な指示で、依頼するとコンテキストオーバーで記憶喪失になって コードの内容が一致しないことが起こるので、work.mdみたいな作業メモを取らせたるのがよい 途中から、別スレッドに再実施する場合でも、work.mdが引き継ぎとして 参照して実施してくれるのがポイント