Quantcast
Channel: インフラ技術共有サイト
Viewing all 32 articles
Browse latest View live

小規模企業共済について

$
0
0

概要

小規模企業の個人事業主や会社等の役員が毎月積み立てを実施し、退職した場合などに退職金として受け取れる共済制度です。

http://www.smrj.go.jp/skyosai/index.html

メリット

http://www.smrj.go.jp/skyosai/051298.html

↑にメリットがいくつか書いてあります。

・資産運用の観点で考えると、長期運用 30年で120%。

・確定申告時に、積み立て分を100%控除できます。
これがかなりいいです。

毎月\50,000を積み立てている場合、\600,000を控除できます。
http://www.smrj.go.jp/skyosai/qa/tax/050608.html
↑シミュレーションがあります。
結構控除されますので、その分が、利回りにプラスできます。

デメリット

・積み立てている間、資金がロックされます。
※積み立て資金の何%かを低金利で借りることができます。

・資金の引き出しに3週間ほど必要です。
引き出し時は廃業か退職、解約のどれかになります。
解約時は積み立て資金の80%しかもどりません。

・円での運用となります。
円安になっても同様のパーセンテージとなります。

利用可能者

http://www.smrj.go.jp/skyosai/051296.html

細かい決まりはありますが、ざっくりと小規模な企業の役員もしくは、個人事業主が対象です。

個人的な意見

どのように利用するかはプラン次第です。
“フリーランスや役員として、労働をベースにして、退職金を目的に運用をする。”
“控除が厚い不動産などすべてやりつくして、他にないからこれを使う”
であれば、問題ないと思います。

私の場合、売上が少ない時期に積み立てを実施して、使える資金がロックされ、少し辛かったですね^^;

以上


radiusdとopenldap(slave)の連携について

$
0
0

少しはまったので、メモ。

構成

oepldap(master) <-> openldap(slave) <-> radiusd

openldap: 2.4.40-13.el7
freeradius: 3.0.4-7.el7_3

※構成の経緯
oepldap(master)のconfigパスワードがわからず、openldap(slave)を作成し、無理やり連携させた。
oepldap(master)とradiusdを連携させればよかったが、ネットワーク的な距離が遠いため、このような構成とした。

問題

上記構成の時に、radiusd とopenldap(slave)の連携ができない。
openldapのレプリケーションを解けば正常に連携できる。

解決方法

openldap(slave)は書き込みができない。
radiusdがopenldapと連携する際に、descriptionに認証をしたタイムスタンプを書いていることが分かった。
そのため、下記ファイルの description := の記述をすべてコメントアウトし、radiusを再起動した。
/etc/raddb/mods-available/ldap
/etc/raddb/mods-enabled/ldap

なお、デバッグ時には下記のようなログがでていた。

(0) ERROR: ldap : Failed modifying object: Server was unwilling to perform
(0) ERROR: ldap : (null)

fortigate geo block

test

globalIP の国確認について

$
0
0

仕事でGDPRの対策を2年前にしました。
当時geoデータベースをどうしようか悩みました。maxmindと ARIN、RIPE NCC、APNIC、LACNIC、AfriNICなどから抽出する2択がありました。

システム管理者としては、maxmindを使いたかったですが、稟議が通らず、下記サイトを参考にARIN、RIPE NCC、APNIC、LACNIC、AfriNICから自前構築しました。
http://nami.jp/ipv4bycc/

ただ、最近問題がでたのは、ARIN、RIPE NCC、APNIC、LACNIC、AfriNICの更新が遅いことです。
AWStokyoリージョンで利用しているIPが別の国になっています。

また、https://www.cman.jp/network/support/ip.html でも同じ現象がありました。

AWSのIPを強引にホワイトリストに入れましたが、googleや他ベンダどうしよう問題があります。

maxmindは有償版と無償版があるようなので、移行を検討していきます。

※当サイト復帰していきます。仕事で忙しくしており、書き溜めたものがたくさんあるため、楽しみにしていてください。

maxmind DB+nginx

$
0
0

ことの経緯

 にて記載した続き。
ARIN、RIPE NCC、APNIC、LACNIC、AfriNICなどの情報をもとにグローバルIPを識別していたが、どうやら情報が古いたため、別IPデータベースを利用することに。

利用DB
  • ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest
  • ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-extended-latest
  • ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-extended-latest
  • ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-extended-latest
  • ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-extended-latest

DB選定

探したら、GeoIPを提供している会社を数社発見。
組織名URLコメント
maxmindhttps://www.maxmind.com/en/home情報量多い。GeoIPがここの商標。無料版は精度が落ちるっぽい。$24/月ならありかな。
ipgeolocationhttps://ipgeolocation.io/db-pricing.htmlサーバごとの料金だから割高そう
ipiphttps://en.ipip.net/product/ip.html料金がわからない。情報量がすくない。
mdigitalelementhttps://www.digitalelement.com/geolocation/情報量がすくない。価格表示なし。日本語ページ崩れてる。日本との取引がないのかな。
nginx もmaxmindを採用しているから、ここがよさそう。
http://nginx.org/en/docs/http/ngx_http_geoip_module.html

実装

自分が利用している環境は、amazonlinux2 arm版とnginxを利用していて、これとmaxmind DBを連携する必要がある。 どうやら、参考サイトを見ていくと、実現方法がありそう。「nginx-module-geoip2」moduleをいれればつかえそうだ。

rpmを探す。

既存rpmで入れれたら幸せとおもい、探すがない。自分が利用しているOSがaarch64ベースだからよけいになかった。。 nginxのサイトにnginxと「nginx-module-geoip-(version).amzn2.ngx.aarch64.rpm 」があったが、これは、古いmoduleだった。 getpagespeed 社がrpmを提供してくれているが、こちらは x86_64だった。

rpmを自前で作成するしかなかった。

# wget http://nginx.org/packages/mainline/amzn2/2/SRPMS/nginx-1.21.3-1.amzn2.ngx.src.rpm

# rpm -ivh nginx-1.21.3-1.amzn2.ngx.src.rpm 

# wget https://github.com/leev/ngx_http_geoip2_module/archive/3.3.tar.gz

# tar zxvf 3.3.tar.gz -C ~/rpmbuild/SOURCES

必要なライブラリを入れます。
# yum install gcc libmaxminddb libmaxminddb-devel pcre-devel zlib-devel

# cd ~/rpmbuild/SPECS/

# cp -p nginx.spec nginx.spec.org
# vi nginx.spec
diff -Naru nginx.spec.org nginx.spec
--- nginx.spec.org  2021-09-08 00:48:26.000000000 +0900
+++ nginx.spec  2021-09-14 09:50:28.118949343 +0900
@@ -64,7 +64,7 @@
 %define WITH_CC_OPT $(echo %{optflags} $(pcre-config --cflags)) -fPIC
 %define WITH_LD_OPT -Wl,-z,relro -Wl,-z,now -pie
 
-%define BASE_CONFIGURE_ARGS $(echo "--prefix=%{_sysconfdir}/nginx --sbin-path=%{_sbindir}/nginx --modules-path=%{_libdir}/nginx/modules --conf-path=%{_sysconfdir}/nginx/nginx.conf --error-log-path=%{_localstatedir}/log/nginx/error.log --http-log-path=%{_localstatedir}/log/nginx/access.log --pid-path=%{_localstatedir}/run/nginx.pid --lock-path=%{_localstatedir}/run/nginx.lock --http-client-body-temp-path=%{_localstatedir}/cache/nginx/client_temp --http-proxy-temp-path=%{_localstatedir}/cache/nginx/proxy_temp --http-fastcgi-temp-path=%{_localstatedir}/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=%{_localstatedir}/cache/nginx/uwsgi_temp --http-scgi-temp-path=%{_localstatedir}/cache/nginx/scgi_temp --user=%{nginx_user} --group=%{nginx_group} --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module")
+%define BASE_CONFIGURE_ARGS $(echo "--prefix=%{_sysconfdir}/nginx --sbin-path=%{_sbindir}/nginx --modules-path=%{_libdir}/nginx/modules --conf-path=%{_sysconfdir}/nginx/nginx.conf --error-log-path=%{_localstatedir}/log/nginx/error.log --http-log-path=%{_localstatedir}/log/nginx/access.log --pid-path=%{_localstatedir}/run/nginx.pid --lock-path=%{_localstatedir}/run/nginx.lock --http-client-body-temp-path=%{_localstatedir}/cache/nginx/client_temp --http-proxy-temp-path=%{_localstatedir}/cache/nginx/proxy_temp --http-fastcgi-temp-path=%{_localstatedir}/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=%{_localstatedir}/cache/nginx/uwsgi_temp --http-scgi-temp-path=%{_localstatedir}/cache/nginx/scgi_temp --user=%{nginx_user} --group=%{nginx_group} --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --add-dynamic-module=${RPM_SOURCE_DIR}/ngx_http_geoip2_module-3.3 --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module")
 
 Summary: High performance web server
 Name: nginx
@@ -84,6 +84,7 @@
 Source7: nginx-debug.service
 Source8: nginx.copyright
 Source9: nginx.check-reload.sh
+Source10: ngx_http_geoip2_module-3.3

 
@@ -217,6 +218,7 @@
 
 %attr(0755,root,root) %dir %{_libdir}/nginx
 %attr(0755,root,root) %dir %{_libdir}/nginx/modules
+%{_libdir}/nginx/modules/*
 %dir %{_datadir}/nginx
 %dir %{_datadir}/nginx/html
 %{_datadir}/nginx/html/*

# cd ~/
# rpmbuild -bb rpmbuild/SPECS/nginx.spec
パッケージに含まれないファイルの検査中: /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/nginx-1.21.3-1.amzn2.ngx.aarch64
書き込み完了: /root/rpmbuild/RPMS/aarch64/nginx-1.21.3-1.amzn2.ngx.aarch64.rpm
書き込み完了: /root/rpmbuild/RPMS/aarch64/nginx-debuginfo-1.21.3-1.amzn2.ngx.aarch64.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.X0e7YT
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd nginx-1.21.3
+ /usr/bin/rm -rf /root/rpmbuild/BUILDROOT/nginx-1.21.3-1.amzn2.ngx.aarch64
+ exit 0
こう出ればOK! nginxにはこのように定義した。
# nginx.confのeventより上に追加
load_module "modules/ngx_http_geoip2_module.so";←GeoIP2を追加

# nginx.conf httpディレクティブ内に追加(GeoLite2-Country.mmdbファイルパスは設置した場所)
geoip2 /etc/nginx/GeoLite2-Country.mmdb {
        auto_reload 5m; 
        $geoip2_metadata_country_build metadata build_epoch;
        $geoip2_data_country_code default=US source=$remote_addr country iso_code;
        $geoip2_data_country_name country names en;
    }
    
    map $geoip2_data_country_code $allowed_country {
        default yes;
        BE no;
        BG no;
        CZ no;
        DK no;
        DE no;
        EE no;
        IE no;
        GR no;
        ES no;
        FR no;
        HR no;
        IT no;
        CY no;
        LV no;
        LT no;
        LU no;
        HU no;
        MT no;
        NL no;
        AT no;
        PL no;
        PT no;
        RO no;
        SI no;
        SK no;
        FI no;
        SE no;
        GB no;
    }

# serverディレクティブに追加 これを追加するとアクセスブロックになります。
if ( $allowed_country = "no" ) {
      return 403;
    }
$geoip2_data_country_code $allowed_countryをaccesslogに出力すれば、状況が終えるようになります。 完了!

参考サイト

参考になりました!ありがとうございました! https://takeshiyako.blogspot.com/2016/10/nginx-ngx-http-geoip-module.html
https://kaede.jp/2019/02/18001437/
https://techexpert.tips/ja/nginx-ja/nginx-%e5%9b%bd%e3%81%8b%e3%82%89%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%82%92%e3%83%96%e3%83%ad%e3%83%83%e3%82%af%e3%81%99%e3%82%8b/
https://docs.nginx.com/nginx/admin-guide/dynamic-modules/geoip2/ ホワイトリストを適応するには下記でよさそう
https://serverfault.com/questions/585204/nginx-geoipblocking-allowing-lan-ips

maxmind GeoIPデータの自動更新

$
0
0

自動更新処理の追加

昨日、記載したmaxmindとnginxの連携において、GeoIPの更新処理を忘れていたので実施。

geoipupdateツールがあったので、こちらを利用。armプロセッサ版があって助かります!
https://github.com/maxmind/geoipupdate/releases/tag/v4.8.0

僕は下記手順でできました。
このあたりのansible-playbookを公開すると助かる人いるのかな。そのうちやります。

## ダウンロード
# cd /usr/local/src/
# wget https://github.com/maxmind/geoipupdate/releases/download/v4.8.0/geoipupdate_4.8.0_linux_arm64.tar.gz
# tar zxvf geoipupdate_4.8.0_linux_arm64.tar.gz

## 各ファイルをコピー
# cd geoipupdate_4.8.0_linux_arm64
# cp -p geoipupdate /usr/local/bin/
# cp -p GeoIP.conf /usr/local/etc/
# mkdir /usr/local/share/GeoIP/

## 発行したAccountID, LicenseKeyの記入
# vi /usr/local/etc/GeoIP.conf
AccountID ******
LicenseKey *****
EditionIDs GeoLite2-ASN GeoLite2-City GeoLite2-Country

## 初期実行 するとDBができます。nginxからはこちらを見るように変更しました。
# /usr/local/bin/geoipupdate -f /usr/local/etc/GeoIP.conf -d /usr/local/share/GeoIP/
#  ls -l /usr/local/share/GeoIP/
合計 85808
-rw-r--r-- 1 root root  7461180  9月 15 16:41 GeoLite2-ASN.mmdb
-rw-r--r-- 1 root root 74070087  9月 15 16:41 GeoLite2-City.mmdb
-rw-r--r-- 1 root root  6330880  9月 15 16:41 GeoLite2-Country.mmdb

## cron設定 月曜の11:00から実行するようにしています。頻度は検討中。 
# crontab -l
0 11 * * 1 /usr/local/bin/geoipupdate -f /usr/local/etc/GeoIP.conf -d /usr/local/share/GeoIP/
以上

iLO4のTCPポート変更方法


てすと いんたーすてぃしゃる

iLO4のTCPポート変更方法

いんたーすてぃしゃるとは

iLO4のTCPポート変更方法

Viewing all 32 articles
Browse latest View live