読者です 読者をやめる 読者になる 読者になる

NW屋的日常徒然日記

ネットワークを専門にする元社内SEの日常とITネタ諸々を綴って行きます。

【GW特別進行】Raspberry Pi 3でセキュリティ対策設定を行ってみる(1)

 こんばんは。GW真っ只中ですが、合間を見て普段出来ないことをゴソゴソやってみたりしてみたりしています。

 今回はRaspberry Pi関係です。Raspberry Piを使う場合は、あまりセキュリティについて意識することは少ないんじゃないでしょうか。とりあえずOSインストールして、apt-get updateやapt-get upgradeコマンドを打つぐらいでしょうか。

 rootユーザにパスワード設定

 まず、rootユーザにノンパスワードでなれるのは拙いですので、パスワードを要求する様に設定します。rootになるためのパスワードを設定します。

$ sudo passwd root

 piユーザの扱い

 他にpiユーザをどうするかという問題もあります。少なくともデフォルトのままではあまりにも危険です。最低でもパスワードは変更しておきましょう。

$ passwd pi

 可能であれば、piユーザも削除しておくと良いかもしれません。(設定などのバックアップを取っておくと良いです)

$ sudo userdel -r pi

 Apacheのインストールと設定

 そして、apache2をインストールし、apacheのバージョンとOSを表示させないように設定しました。

$ cd /etc/apache2/sites-available

$ sudo vi 000-default.conf

ServerSignature On

ServerSignature Off

 Nmapのインストールと設定

 不必要なポートが開いていて、余計なサービスが立ち上がってないことを確認するためにnmapをインストールしました。

$ sudo apt-get install nmap

 nmapを使って自機で立ち上がっているサービスをします。

$ nmap localhost

 これで開いてるポート番号が表示されます。

 sshに関する設定及びアクセス制限

 sshログイン時は公開鍵認証のみにしておきます。設定はこちら。

/etc/ssh/sshd_configを修正します。

# PasswordAuthentication yes

↓(パスワード認証を無効にするために"no"にしておきます)

PasswordAuthentication no

 デフォルトでは公開鍵認証が有効になっていませんので、configを修正します。

#AuthorizedKeysFile %h/.ssh/authorized_keys

↓(公開鍵認証を有効にしておきます)

AuthorizedKeysFile %h/.ssh/authorized_keys

 そして、sshdを再起動します。

 $ sudo /etc/init.d/ssh restart

 sshのアクセス制限をするために、LAN内からのみ許可するようにhosts.allowとhosts.denyの設定を行いました。ポート番号の変更も行っておくとよりいいかもしれません。ただ、ローカル限定なので、外側からは22/tcpが立ち上がってないように見えればOKだと考えています。

$ sudo vi /etc/hosts.allow

sshd: [利用したいIPアドレス]

複数ある場合は、スペースで区切っておきます。

$ sudo vi /etc/hosts.deny

sshd: ALL

 これで[利用したいIPアドレス]からのみsshでアクセス出来ます。

 hosts.allowとhosts.denyだけでは心許ないので、ufwをインストールして設定を行うことにしました。iptablesでもいいのですが、ufwの方が扱いやすいということのようでしたので、試しに使ってみることにしました。

(注:具体的設定内容は現在吟味中です。続編で言及します。<(_ _)>)

 通したいポート一覧(予定)

 必要な通信としては、以下の通信を想定しています。それ以外はufwや物理的ファイアウォールでフィルタリングします。

22/tcp(LAN内限定:inbound)

53/tcp(outbound)

53/udp(outbound)

80/tcp(outbound、LAN内限定:inbound)

123/udp(outbound)

443/tcp(outbound、inbound)

 SSLサーバ証明書については、動作試験用に自署証明書を発行してみます。これでSSLの動作確認を行います。Let's Encryptに関しても調べてみます。

 Raspberry Pi 3でセキュリティ対策設定を行ってみる(2)も後日お送りしますので、少々お待ち下さい。<(_ _)>