2-1-2. 公開のためのセキュリティ設定

1. ユーザIDを Pi から xxxxx に変更
以下の作業は、root 権限で行うべし。
① ユーザの追加 adduser xxxxx パスワードも設定 yyyyy
② sudoグループを追加 gpasswd -a xxxxx sudo
③ Piユーザの削除 userdel -r pi
又は、piユーザをsudoグループから外す gpasswd -d pi sudo
/etc/sudoersを編集 nano /etc/sudoers
piユーザはパスワードなしのsudo権限があるので、
下記の行をコメントアウトしてsudoersから除外する
pi ALL=(ALL) NOPASSWD: ALL → #pi ALL=(ALL) NOPASSWD: ALL
追加したユーザをこの設定にすれば、パスワードの入力が不要になる
xxxxx ALL=(ALL) NOPASSWD: ALL
④ ログアウト exit
2. sshポートの変更
① ssh設定ファイルのバックアップ
cd /etc/ssh/ → sudo cp sshd_config sshd_config.org
② sshのポート変更 sudo leafpad sshd_config
Port 22 を → nnnnn に変更 自由に利用できるポート番号は49152–65535番らしい
※変更するファイルは、sshd_configの方。(ssh_configではない)
③ sshサーバを再起動 sudo /etc/init.d/sshd reload または sudo service ssh restart
ポート番号と役割=サービス名は下記のようになっている。
3. ファイヤウォールの設定
ufw というソフトを導入した。
ufw とは Ubuntu FireWall の略で、iptables を簡単に設定するツール。
iptables とは、Linuxに実装されているファイヤウォールで、
ネットワークの入出力を監視し、
設定されたルールに沿って遮断したり、開放したり、
ログを取ったりを指定するテーブル。
Raspbian でも既にインストールされており自動で起動している。
※詳細はWebを参照。
① ファイヤーウォールの導入 sudo apt-get install ufw ② ステータスの確認 sudo ufw status → inactive ③ アクセス制限の設定 sudo ufw limit nnnnn ここでの nnnnn はsshのポート番号。limit にすると、 30秒間に6回アクセスした接続が拒否される。 ④ ポート 80 を許可する sudo ufw allow 80/tcp ⑤ ファイヤウォールを有効にする sudo ufw enable ⑥ ステータスの確認 sudo ufw status → active
4. SSH 接続のアクセス制限
SSH接続は外部から破られるとコンピュータを乗っ取られるので、
ローカルLANまたは指定IPからの接続のみを許可するように、アクセス制限を行う。
① /etc/hosts.denyファイルを修正する。
# アクセス制限を追加(すべてのアクセスを拒否)
sshd: ALL
② /etc/hosts.allowファイルを修正する。
# アクセス制限を追加
# ローカルLANからのアクセスのみを許可
# 必要なら外部の指定IPも書いておく。
sshd: 192.168.11.0/24 127.0.0.0/8
5. SSH の公開鍵化
設定要領は、Webに掲載されているので、そちらを参考にする。
※ FileZilla に関する注意点のみ記載。
① 秘密鍵を登録すべく設定画面でOkボタンを押すとフリーズする。
但し、変換された秘密鍵の .ppk は作成されているので、無視してよい。
② 鍵を保存するフォルダーに、2バイト文字(日本語)が入っていると
動作しないので注意。
6. SSHの root でのログインを無効にする
sudo nano /etc/ssh/sshd_config で、
#PermitRootLogin yes を
PermitRootLogin no に変更
7. セキュリティ設定の確認
Windows PC から、192.168.xx.yyy の,ユーザー名= xxxxx パスワード= yyyyy ポート= nnnnn で、確認 。
① Tera Term での確認
② FileZilla での確認
関連ページ
- ● Webサーバーの
セットアップ要領 - ● 公開のための
セキュリティ設定 - ● 公開要領
- ▶ CRONでMyDNSに
IP アドレスを自動通知 - ▶ Webサーバーの
RAMディスク化 - ▶ nginx + WordPress
ブログサーバーの構築 - ● nginx 起動時のエラー
- ▶ nginx での
Basic認証設定方法 - ▶ nginx を HTTPS化
SSL通信にする - ------------------------------
- ● 2-1. nginxでの
Webサーバーへ - ● 2-2. ライブカメラへ
- ● 2-3. 監視カメラへ
- ● 電子工作Topページへ
- ------------------------------