CentOS

CentOS 7のvsftpdでセキュアなFTPSが利用できるFTPサーバーを構築する

2018年4月23日

cent-ftps-setup-top

前回の記事でウェブサーバー環境が完成しました。

Open Source
centos-httpd-inst-top3
CentOS 7へApacheをインストールして最短でウェブサーバーを構築

以前のCentOS環境構築に関する記事でCentOSのインストールと基本的な設定までが完了しました。折角、作成した環境。利用しない手はありません。本記事では、以前の記事で構築したCentOSの環境を利 ...

続いてウェブサーバーへコンテンツをアップロードするためにFTPサーバーのセットアップ手順を紹介します。SSHが利用できる環境ならSFTP(FTPと付いてますが、SSH通信上でファイル転送を行うための機能になります。)を利用することも可能ですが、現状ではコンテンツのアップロードにFTPを利用することが多いかと思います。
FTPはファイルの転送に利用する通信です。そのままだとスニッファ(盗聴)などでファイルの内容が見えてしまう可能性もありますので、本記事ではセキュアなFTPS(SSLで暗号化されたFTP通信)を利用するように設定を行います。

スポンサーリンク

1. FTPサーバーを導入する環境

FTPサーバーを導入する環境は、以前の記事

Open Source
centos-httpd-inst-top3
CentOS 7へApacheをインストールして最短でウェブサーバーを構築

以前のCentOS環境構築に関する記事でCentOSのインストールと基本的な設定までが完了しました。折角、作成した環境。利用しない手はありません。本記事では、以前の記事で構築したCentOSの環境を利 ...

で作成したウェブサーバーになります。
以前の記事に詳細な環境は記載していますが、基本的な環境は以下の通りです。

  • OSのバージョンはCentOSで最新のバージョン7.4を利用しています。
  • CentOS 7系であれば、どのバージョンでも同じ手順で構築が可能です。
  • サーバーはグローバルIPアドレスが一つ、割り当てられています。
  • ウェブサーバーとしてhttpdがインストールされています。
  • ファイアウォールとしてfirewalld、iptablesを設定しています。

この環境を前提に先へ進めて行きます。

2. ftpパッケージの確認

CentOSの標準レポジトリに含まれるftpパッケージを確認します。CentOSでは標準でvsftpdというftpサーバが用意されています。インストール前にパッケージの情報を表示して、想定しているものと合致していることを確認します。

2-1. パッケージ確認

CentOSに含まれるvsftpdと名前の付くパッケージのリストを確認します。パッケージリストの確認は、yumコマンドにオプションのsearchを付けて実行します。

$ yum search vsftpd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.yz.yamagata-u.ac.jp
* extras: ftp.yz.yamagata-u.ac.jp
* updates: ftp.yz.yamagata-u.ac.jp
================== N/S matched: vsftpd ======================
vsftpd-sysvinit.x86_64 : SysV initscript for vsftpd daemon
vsftpd.x86_64 : Very Secure Ftp Daemon

Name and summary matches only, use "search all" for everything.

この中でftpサービスに該当するパッケージはvsftpdになりますので、これをインストールします。
インストール前に間違いないか、念のためにvsftpdのパッケージ詳細を確認します。

$ yum info vsftpd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.yz.yamagata-u.ac.jp
* extras: ftp.yz.yamagata-u.ac.jp
* updates: ftp.yz.yamagata-u.ac.jp
利用可能なパッケージ
名前 : vsftpd
アーキテクチャー : x86_64
バージョン : 3.0.2
リリース : 22.el7
容量 : 169 k
リポジトリー : base/7/x86_64
要約 : Very Secure Ftp Daemon
URL : https://security.appspot.com/vsftpd.html
ライセンス : GPLv2 with exceptions
説明 : vsftpd is a Very Secure FTP daemon. It was written completely from
: scratch.

vsftpdサービスのパッケージであることが確認できましたので、このパッケージをインストールします。

スポンサーリンク

3. vsftpdパッケージのインストール

項目2. で確認したvsftpdパッケージをyumコマンドでインストールする手順を記載していきます。

3-1. yumコマンドによるvsftpのインストール

vsftpdパッケージはyumコマンドに”install”オプションを付けることでインストールすることができます。

# yum -y install vsftpd

上記ではyumコマンドに-yオプションを付けることでインストール時の確認応答を省いています。コマンドを実行すると、以下のようにインストールが開始されます。

読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.yz.yamagata-u.ac.jp
* extras: ftp.yz.yamagata-u.ac.jp
* updates: ftp.yz.yamagata-u.ac.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ vsftpd.x86_64 0:3.0.2-22.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

インストール中:
vsftpd x86_64 3.0.2-22.el7 base 169 k

トランザクションの要約
インストール 1 パッケージ

総ダウンロード容量: 169 k
インストール容量: 348 k
Downloading packages:
vsftpd-3.0.2-22.el7.x86_64.rpm | 169 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : vsftpd-3.0.2-22.el7.x86_64 [
検証中 : vsftpd-3.0.2-22.el7.x86_64 1/1

インストール:
vsftpd.x86_64 0:3.0.2-22.el7

完了しました!

エラーの出力がなく、「完了しました!」と表示されれば、vsftpdのインストールは正常に完了しています。

3-2. vsftpdインストール後の確認

vsftpdがインストールされたことを確認します。インストールされているパッケージはyumコマンドで確認できます。以下のようにyumを実行することで、vsftpdパッケージがインストールされていることを確認します。

$ yum list installed | grep vsftpd

出力結果として、以vsftpdパッケージが表示されることを確認します。

vsftpd.x86_64 3.0.2-22.el7 @base

続いてvsftpdがインストールされた場所を確認します。インストールされた場所(パス)を確認するためにはwhichコマンドを利用します。以下のように実行することでインストールパスを確認できます。

$ which vsftpd

実行結果は以下のようになります。

/usr/sbin/vsftpd

この結果から、vsftpdが/usr/sbin以下にインストールされたことが確認できます。
これでvsftpdのインストールが正常に終了したことが確認できました。

3-3. vsftpdの起動と確認

ここまででvsftpdのインストールと確認が完了しましたので、続いてインストールしたvsftpdが起動することを確認します。CentOSでは7系からsystemctlコマンドでサービスの起動・停止を行います。vsftpdは以下のように実行することで起動できます。

# systemctl start vsftpd

エラーが出力されなければ、vsftpdは正常に起動しています。
systemctlコマンドにstatusオプションを付けて実行することで、起動したサービスの状態について、詳細な情報を取得することができます。以下が実行例です。

$ systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
Active: active (running) since 火 2018-04-03 11:25:53 JST; 9s ago
Process: 1871 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
Main PID: 1872 (vsftpd)
CGroup: /system.slice/vsftpd.service
mq1872 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

4月 03 11:25:53 www systemd[1]: Starting Vsftpd ftp daemon...
4月 03 11:25:53 www systemd[1]: Started Vsftpd ftp daemon.

上記では分かり難いかもしれませんが、黒丸(●)の部分が正常な起動状態の場合、緑色で表示されます。
また、Activeの項目にrunningと表示されていることから、vsftpdが起動していることが確認できます。
稼働しているプロセスを表示するpsコマンドでもvsftpdが起動していることを確認できます。
以下のように実行します。

$ ps -aux | grep vsftpd
root 1872 0.0 0.0 53212 576 ? Ss 11:25 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root 1903 0.0 0.0 112676 980 pts/0 R+ 11:27 0:00 grep --color=auto vsftpd

以上の結果から、vsftpdが正常に起動することが確認できました。

3-4. vsftpdのスタートアップ設定(自動起動設定)

サーバーの再起動や停止の復旧時に、vsftpdが自動的に起動するように設定します。サービスの自動起動を設定するにもsystemctlコマンドを利用します。自動起動は以下のようにsystemctlコマンドを実行します。

# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

エラーが出力されなければ、自動起動は設定が完了しています。

続いて自動起動が設定されたことを確認します。こちらもsystemctlコマンドから確認できます。

$ systemctl list-unit-files | grep vsftpd
vsftpd.service enabled

実行結果として "enabled"と表示されればvsftpdの自動起動設定は完了です。

4. vsftpdの設定ファイル変更

項目3. の手順までで、vsftpdパッケージの導入までが完了しました。vsftpdの場合は設定の変更を行わないとFTP接続できない場合(firewallによって拒否されたり、パッシブ接続が有効になっていないなど)があります。本記事ではvsftpdを運用するにあたって最低限、必要になる設定を行います。設定の前提は以下の通りです。

  • FTPユーザーは、自身のホームディレクトリ以上に移動できない (chroot設定)
  • アノニマス(不特定なユーザー)FTPは利用しない
  • FTPはSSL通信で行う(FTPS設定)
  • .(ドット)の付いた隠しファイルを表示する
  • インターネット経由での接続を考え、パッシブFTPの設定を行う(接続ポートは60001から60010に固定)
  • その他、基本的に行ったほうが良い設定の変更

この条件に合わせて設定を行っていきます。

4-1. vsftpd.confの変更

vsftpdの設定は/etc/vsftpd以下にあるvsftpd.confで行います。
vsftpd.confの編集前に、既存のファイルをバックアップしておきます。具体的には以下の手順でコピーを行います。

# cd /etc/vsftpd/
# cp -p vsftpd.conf vsftpd.conf.org

バックアップ(コピー)の完了後、エディタで設定ファイルを開いて変更を行います。本環境ではOSの標準的なエディタである、viエディタを利用しています。

# vi vsftpd.conf

4-1-1. アノニマスFTPの無効化

vsftpdではデフォルトで匿名FTPサーバ(ユーザー情報を持っていない第三者がログインできるFTPサーバ)が可能な状態に設定されています。この機能はセキュリティホールになりますので、無効化しておきます。設定は以下のパラメーターを変更します。

anonymous_enable=YES

anonymous_enable=NO

に変更します。

4-1-2. asciiアップロード、ダウンロードの有効化

デフォルトの設定ではasciiのアップロードとダウンロードが無効化されています。特定のプログラム言語(例えばPerlなど)を記載したCGI用ファイルなどはasciiでないとアップロードした際に動作しなくなる可能性がありますので、asciiでのアップロードとダウンロードを有効化します。以下のパラメーターを変更します。

#ascii_upload_enable=YES
#ascii_download_enable=YES

パラメーターのコメント部分”#”を外します。

ascii_upload_enable=YES
ascii_download_enable=YES

4-1-3. chroot設定

ユーザーを自身のホームディレクトリ以上に移動できないようにchroot設定を行います。ファイルの修正と、空ファイルの作成の二つの変更をおこないます。まず設定ファイルの修正です。

#chroot_local_user=YES
#chroot_list_enable=YES

パラメーターのコメント部分”#”を外します。

chroot_local_user=YES
chroot_list_enable=YES

に変更します。
併せてchrootを許可するリストを記載したファイル指定します。このファイルは後ほど(項目.4-2)作成しますので、変更時点では無くとも大丈夫です。

#chroot_list_file=/etc/vsftpd/chroot_list

パラメーターのコメント部分”#”を外します。

chroot_list_file=/etc/vsftpd/chroot_list

に変更します。

4-1-4. ls有効化設定

ls -R を有効にする設定を行います。本設定はディレクトリごと一括での転送機能を有効化します。

#ls_recurse_enable=YES

からコメントを外して

ls_recurse_enable=YES

に変更します。

4-1-5. SSL通信有効化の設定

SSLでFTP接続ができるように設定を行います。この項目は設定ファイルにはありませんので項目を追記してください。以下を追加します。

# ssl settings
ssl_enable=YES
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem

SSL機能を有効化するための項目と、SSL通信で利用するサーバー証明書ファイルのパスを設定します。

4-1-6. パッシブポートの設定

パッシブFTPが利用できるように、データコネクション用のポートを固定します。パッシブモードではデータコネクションはポート番号20ではなく、ランダムなポート番号が割り当てられ、その情報がFTPクライアントにその情報が伝えられます。
firewallが設定されていない場合はパッシブモードは不要ですが、本環境ではfirewallが設定されているため、必要な設定になります。全てのポートをオープンすることはセキュリティ上、好ましくないため、今回は60001 ~ 60010ポートにFTPデータコネクション用ポートを割り当てます。以下のように設定ファイルに追記します。

# other settings
pasv_min_port=60001
pasv_max_port=60010

4-1-7. その他の設定

その他、vsftpdの運用に設定しておいたほうが良い点について、項目を追加します。この設定は、パッシブポートの設定の下に記載する形にしています。以下を設定ファイルの最下行に追記します。

use_localtime=YES
allow_writeable_chroot=YES
force_dot_files=YES

各設定パラメーターの内容は以下の通りです。
usr_localtime設定は、FTPで接続した場合の時間を設定するパラメーターです。本設定を有効にすると、FTP接続時にファイルの更新時間が、日本時間になります。本設定がない場合、FTPで接続した際にファイルの更新時刻がGMTで表示されます。
allow_writeable_chrootを設定しない場合、chrootした先に書き込み権限があるとエラーとなるようです。書き込み権限は必要になりますので、設定を行います。
force_dot_filesは隠しファイルである.ファイル(例えば.bashrcや.htaccessなど)を表示する設定です。任意ですが、ここでは全てのファイルを表示させたいため、設定をしています。

ここまでの7点で設定ファイルの変更は完了です。変更したファイルを保存してください。

4-2. chroot用ファイルの作成

続いてchrootを行うための空ファイルを作成します。実際にはホームディレクトリ以上に移動できるユーザーを記載するファイルですが、全てのユーザーはホームディレクトリ以上に移動できない設定のため、空のファイルを作成するだけで問題ありません。
空のファイルはtouchコマンドで作成します。作成するファイル名は”chroot_list”になります。
以下のようにコマンドを実行します。

# touch chroot_list

作成後、ファイルを確認します。

# ls
chroot_list ftpusers user_list vsftpd.conf vsftpd.conf.org vsftpd_conf_migrate.sh

作成した chroot_listファイルがlsコマンドで表示されれば、作成は完了です。

スポンサーリンク

5. firewallの許可設定

本記事は、FTPサーバーの導入環境として、記事
「CentOS7の基本設定 Linuxのインストール後に設定する9つのポイント」
の項目6. で記載したfirewall設定を行っていることを前提としています。
このfirewall設定の場合、FTPのパッシブ接続ポートである60001~60010番をオープンしていないため、インターネット側からFTPでアクセスしても接続できません。(ローカル環境の場合はパッシブFTPを利用しないため、接続できます。)
その為、firewall-cmdコマンドを利用してルールを追加し、パッシブFTP接続できるようします。
※iptablesを利用している場合は、項目5-2. を参照して設定を行って下さい。

5-1. firewall-cmdコマンドによるパッシブFTP接続ポートのオープン

記事
「CentOS 7 インストール Linuxを始めるにはインストールからがお勧め」
で作成した”manage”というzoneにパッシブ接続用ポートの設定を追加します。

5-1-1. 現状の設定確認

先ずは現状の確認を行います。

# firewall-cmd --list-all --zone=manage
manage (active)
target: ACCEPT
icmp-block-inversion: no
interfaces:
sources: 111.8.21.167/32
services: ssh ftp
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

上記のように 111.8.21.167のIPアドレスからのみ、sshとftpを許可するように設定されていることを確認します。

5-1-2. パッシブ接続用ポートの許可

firewall-cmdコマンドでウェブサーバーの待ち受けポートである80番に外部から接続できるように設定を追加します。コマンドは以下のように実行します。

# firewall-cmd --add-port=60001-60010/tcp --zone=manage --permanent
success

上記はmanageゾーンに対して、60001-60010のtcpポートを接続用ポートとして追加するというコマンドです。
基本的にはfirewall-cmdは実行結果として”success”と応答があれば、設定は正常に完了しています。(以下も同様です。)

5-1-3. 設定の反映

設定した内容を反映するためにreloadを実行します。

# firewall-cmd --reload
success

5-1-4. 設定の確認

設定の確認は以下のコマンドで行います

# firewall-cmd --list-all --zone=manage
manage (active)
target: ACCEPT
icmp-block-inversion: no
interfaces:
sources: 111.8.21.167/32
services: ssh ftp
ports: 60001-60010/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

表示された結果の”ports”項目に”60001-60010/tcp”が追加されていれば、設定の確認は完了です。

5-2. iptablesコマンドによるパッシブFTP接続用ポートのオープン

iptablesコマンドでパッシブFTP接続用ポートある60001-60010番に外部から接続できるように設定を追加します。コマンドは以下のように実行します。

# iptables -A INPUT -s 111.8.21.167 -p tcp -m tcp --dport 60001:60010 -j ACCEPT

エラーが表示されなければ設定は完了しています。
iptablesコマンドを実行後に設定が追加されていることを確認します。確認は以下のように実行します。

# iptables L -n --line-number

以下が実行結果の例になります。

Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
4 ACCEPT tcp -- 111.8.21.167 0.0.0.0/0 tcp dpt:20
5 ACCEPT tcp -- 111.8.21.167 0.0.0.0/0 tcp dpt:21
6 ACCEPT tcp -- 111.8.21.167 0.0.0.0/0 tcp dpt:22
7 ACCEPT tcp -- 111.8.21.167 0.0.0.0/0 tcp dpt:80
8 ACCEPT tcp -- 111.8.21.167 0.0.0.0/0 tcp dpts:60001:60010

Chain FORWARD (policy DROP)
num target prot opt source destination

Chain OUTPUT (policy ACCEPT)
num target prot opt source destination

Chain INPUTの8行目に設定を行った60001-60010番ポートが追加されていることが確認できます。設定を確認後、保存を行います。保存は

# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

で行います。上記のように[OK]が表示されれば正常に設定は保存されています。これでiptablesによるfirewallの設定は完了です。

6. FTPS(FTP通信を暗号化する)設定

続いてFTPの通信を暗号化するためにSSLの設定を行います。SSLを利用するためには、SSL証明書ファイルの作成が必要になります。この手順について記載していきます。

6-1. サーバー証明書の作成

SSL通信を行うために証明書ファイルを作成します。ここで作成したファイルはvsftpd.confの”rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem”で指定しています。証明書ファイルを作成するディレクトリに移動します。

# cd /etc/pki/tls/certs/

6-1-1. 証明書ファイル作成コマンドの実行

makeコマンドで証明書ファイルを作成します。以下が実行例になります。

# make vsftpd.pem
umask 77 ; \
PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
/usr/bin/openssl req -utf8 -newkey rsa:2048 -keyout $PEM1 -nodes -x509 -days 365 -out $PEM2 ; \
cat $PEM1 > vsftpd.pem ; \
echo "" >> vsftpd.pem ; \
cat $PEM2 >> vsftpd.pem ; \
rm -f $PEM1 $PEM2
Generating a 2048 bit RSA private key
.......+++
..................................+++
writing new private key to '/tmp/openssl.loJgEq'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----

6-1-2. 証明書ファイル用の情報を入力

証明書ファイルを作成するための情報を入力します。入力例は以下のようになります。
※実際にはご利用の環境に合わせて下さい。

Country Name (2 letter code) [XX]:JP <=国を指定
State or Province Name (full name) []:Shizuoka <=都道府県を指定
Locality Name (eg, city) [Default City]:Kosai <=市を指定
Organization Name (eg, company) [Default Company Ltd]:rem-system <=組織名を指定
Organizational Unit Name (eg, section) []:system <=部署を指定
Common Name (eg, your name or your server's hostname) []:rem-system.co.jp <=サーバ名を指定
Email Address []:info@rem-system.co.jp <=管理用メールアドレスを指定

上記の情報を入力すると、証明書ファイル(vsftpd.pem)が作成されます。

6-1-3. 証明書ファイルの確認

証明書ファイルが作成されていることを確認します。

# ls
Makefile ca-bundle.trust.crt make-dummy-cert vsftpd.pem
ca-bundle.crt localhost.crt renew-dummy-cert

vsftpd.pemが作成されていることが確認できます。

6-2. vsftpdの再起動

証明書ファイルの作成が完了しました。これで設定は全て終わりましたので、vsftpdを再起動して、設定を反映します。

# systemctl restart vsftpd

エラーが出力されなければ、vsftpdは正常に再起動しています。続いてvsftpdの状態を確認します。

# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
Active: active (running) since 水 2018-04-18 12:58:06 JST; 7s ago
Process: 15392 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
Main PID: 15393 (vsftpd)
CGroup: /system.slice/vsftpd.service
mq15393 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

4月 18 12:58:06 www.rem-system.co.jp systemd[1]: Starting Vsftpd ftp daemon...
4月 18 12:58:06 www.rem-system.co.jp systemd[1]: Started Vsftpd ftp daemon.

Active項目にrunningが表示されていますので、正常にvsftpdが起動していることが確認できました。
これでSSLを利用したFTP、FTPSの導入が完了しました。

スポンサーリンク

7. FTPの接続確認

項目6. まででFTPの導入と設定、FTPSの設定まで完了しました。ここでは実際にFTPクライアントを利用して、FTP接続をテストしてみます。FTPクライアントはWindowsで良く利用される”FFFTP”を使っています。

7-1. ffftpでの接続

ffftpのでユーザー名とパスワード、ホストのIPアドレスを入力して接続をクリックします。

centos-ftpd-inst-7-1

証明書の確認が表示されます。これは項目6. で作成した証明書を信頼するかの確認になります。[OK]をクリックして、先へ進めます。

centos-ftpd-inst-7-1-2

暗号化の状態を保存するかの確認があります。[はい]をクリックして先へ進めます。

centos-ftpd-inst-7-1-3

FTPSで接続しています。画面の上部に、「暗号化されています」と表示されていることが確認できます。

centos-ftpd-inst-7-1-4

これで接続のテストは完了です。

ここまででFTPサーバーの導入は完了です。SFTPの場合、chrootの設定がやや面倒な部分もあり、まだまだFTPSを利用する環境は多いと思います。是非、暗号化された通信でセキュアなFTPSを設定してみて下さい。

エンジニアへのご相談

システムの新規導入や入れ替えに

記事をお読みいただいてシステムの新規導入や入れ替えを相談したい、また記事中のインストールや設定がうまくいかない場合のお問い合わせはフォームからご連絡下さい。レムシステムではオープンソースを含むシステムを導入した実績が豊富にあります。課題解決から導入、サポートまでレムシステムにお任せ下さい。

お問い合わせをいただいた先への営業活動などは行なっておりませんので、疑問点や不安な部分については、お気軽にお問い合わせください。

エンジニアへのご相談

  • この記事を書いた人
  • 最新記事

小村定

SIerでIT系インフラの設計と構築を経験したのちに独立、「レムシステム株式会社」を設立する。インフラ系エンジニア歴20年の経験を活かしてITに関わる課題解決や効率化に取り組む日々を送っている。

Copyright© レムシステム エンジニアブログ , 2019 All Rights Reserved.