2015年5月6日水曜日

NFS Bootできるようにしたraspberry pi 活用 その前に。

NFS Bootする様に設定したrasberry piに必要最小限のセキュリティ設定をします。
(5年前に書いて放置していたが一応公開・・・ 2021/07/03)


1.まずはとりあえず、rootのパスワード設定

  sudo passwd root

  2回同じパスワードを入力します。

2.新規ユーザ作成
  piユーザの代わりにする新しいユーザを作成します。
  
  sudo adduser username
  (usernameには自分で付けたい名前を必ず設定しましょう。)
  新しいユーザのパスワードを

3.piユーザに付与されていたgroupを新規作成したユーザに付与します。

  現在piユーザに設定されているgroupの確認
  groups pi

  色々付与されているが、気にせず全部付与します。

sudo rpi-update

  
$ sudo usermod -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,netdev,input,spi,gpio username
sudo usermod -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,netdev,input,spi,gpio username

reboot

cp -r /home/pi/* /home/username

deluser -r pi

sudo apt-get install vim

cp /etc/vim/vimrc ~/.vimrc

vi .vimrc

su -
cd /home/yoneyone
cp .bashrc .vimrc .bash_aliases /home/root
source .bashrc
exit

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org

元の設定ファイルをバックアップ
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
SSHの設定ファイルを開きます。
sudo vi /etc/ssh/sshd_config
【sshd_configの編集内容】
①ポート番号の変更
SSHのポート番号22は広く知られており、外部からアクセスできるようにした場合攻撃の対象になります。
なのでポート番号を予測しにくい任意の番号に変えておきましょう。
ポートスキャンされればわかってしまうので気休めですが。
ちなみに自由に使えるポート番号は49152~65535です。
5行目ぐらいの以下行の数字22を書き換えます。
Port 22

Port 50022 (例えばの例です上記範囲なら好きに設定していいです)
②rootユーザーのSSHログインを禁止
セキュリティ向上のためrootユーザーでのログインを禁止します。
root権限が必要な場合は今まで同様に一般ユーザーでログインし、rootにスイッチするかsudoで対応します。
27行目付近のPermitRootLoginをyesからnoに変更します。
PermitRootLogin yes

PermitRootLogin no


pi@raspberrypi ~ $

pi@raspberrypi ~ $ cat id_rsa.pub >> .ssh/authorized_keys

pi@raspberrypi ~ $ chmod 700 .ssh

chmod 600 .ssh/authorized_keys

rm id_rsa.pub

sudo vi /etc/ssh/sshd_config

#Port 22
Port 28987
以降の作業も元の記述を残しておきたい場合、同様に作業してください。
続いて、rootログインを禁止します。”PermitRootLogin”という設定項目があるので、以下のように変更します。すでにこのようになっている場合は変更の必要はありません。
PermitRootLogin no
次に、公開鍵ファイル認証を有効にします。しばらく下の方に行くと設定がありますので、以下のように変更してください。
RSAAuthentication    yes
PubkeyAuthentication yes
AuthorizedKeysFile   %h/.ssh/authorized_keys
最後に、パスワード認証を無効にします。さらに下の方にいくと、”PasswordAuthentication yes”という記述がありますので、以下のようにyesをnoに変更します。
PasswordAuthentication no


/etc/inittab
(中略)
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty --noclear 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
(中略)

http://wings2fly.jp/yaneura/raspberry-pi-first-security-setting/

2015年4月30日木曜日

RaspBerry pi NFS 起動への道

いろいろな情報を参考にしてはいるのだが、どうもNFSからのBootがうまくいかない。

最終的に原因不明ながら成功したのでメモを残しておく。


1.前提条件
     NFS Client(今回 NFSから起動させたいraspberry pi)
  OS:Raspbian 2015-02-16
     Client name:greg
  IP:192.168.100.162

  NFS Server
  OS:Raspbian 2015-02-16
  Server name:base
  IP:192.168.100.161
  HDDからBootする様に設定済み
  (参考ページ http://wings2fly.jp/yaneura/raspberry-pi-on-hdd-no1/
  
   Gateway:192.168.100.1

2.Server設定
  
  NFS関連インストール  
sudo apt-get install -y nfs-common nfs-kernel-server
  
  
  /etc/exportsの編集  
sudo vi /etc/exports
  

  下記の設定を追加
/var/raspi_image/greg 192.168.100.0/24(rw,sync,no_root_squash,no_subtree_check)
  

  ディレクトリ作成
mkdir /var/raspi_image

mkdir /var/raspi_image/greg
  

  NFSサービスリロード
sudo /etc/init.d/nfs-kernel-server reload

これでNFSサーバ側の設定は一旦完了。


3.client設定
  
  NFSのインストールおよび設定
sudo apt-get install  rpcbind nfs-common
sudo update-rc.d rpcbind enable
sudo update-rc.d nfs-common enable
  
  NFSサーバにコピーするためにコピー先のディレクトリをマウント
sudo mount 192.168.100.161:/var/raspi_image/greg  /wrk
  
  
  /boot以外のファイルをコピーするためにmmcblk0p2を別途マウント
sudo mount /dev/mmcblk0p2 /media
  

  全てのファイルをコピー
sudo cp -rav /media/* /wrk/ 

  起動設定のバックアップ
sudo cp /boot/cmdline.txt /boot/cmdline.back
  

  起動設定の編集
sudo vi /boot/cmdline.txt 
以下の様に編集(1行で書くこと)
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/nfs nfsroot=192.168.100.161:/var/raspi_image/greg,udp,vers=3 ip=192.168.100.162:192.168.100.161:192.168.100.1:255.255.255.0:rpi:eth0:off rootfstype=nfs smsc95xx.turbo_mode=N
  
  NFS上にコピーしたfstabファイルの変更
sudo vi /wrk/etc/fstab
以下の様に3行目をコメントアウト
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
#/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1 ←ここをコメントアウト
# a swapfile is not a swap partition, so no using swapon|off from here on, use  dphys-swapfile swap[on|off]  for that


  ここでいったん、Clientをリブート (これでNSFから起動するはず。)
sudo reboot

  起動に成功したら今度はSWAPファイルの整理(以下は特に気にしなければ必要ないです。)
sudo apt-get remove --purge dphys-swapfile
sudo rm /var/swap
sudo update-rc.d dphys-swapfile remove
sudo dd if=/dev/zero of=/var/swapfile bs=1M count=1024
sudo losetup /dev/loop0 /var/swapfile
sudo mkswap /dev/loop0
sudo swapon /dev/loop0


  起動時にSwapを設定するように/etc/rc.localを編集
sudo vi /etc/rc.local
  以下の様に編集
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

#ここから追加

echo "Setting up loopy/var/swapfile.." 
sleep 2
losetup /dev/loop0 /var/swapfile
mkswap /dev/loop0
swapon /dev/loop0

#ここまで

exit 0

  
  その他のチューニング
sudo vi /etc/default/rcS
以下の様に編集
#
# /etc/default/rcS
#
# Default settings for the scripts in /etc/rcS.d/
#
# For information about these variables see the rcS(5) manual page.
#
# This file belongs to the "initscripts" package.
# delete files in /tmp during boot older than x days.
# '0' means always, -1 or 'infinite' disables the feature
#TMPTIME=0
# spawn sulogin during boot, continue normal boot if not used in 30 seconds
#SULOGIN=no
# do not allow users to log in until the boot has completed
#DELAYLOGIN=no
# be more verbose during the boot process
#VERBOSE=no
# automatically repair filesystems with inconsistencies during boot
FSCKFIX=yes
ASYNCMOUNTNFS=no #←追加

下記参考ページ
http://youresuchageek.blogspot.jp/2013/01/raspberrypi-root-over-nfs-share.html
  
  

2010年11月26日金曜日

久しぶりというか10か月ぶりかよw

ちょっと、依頼で調べてたのだが・・・
こういう製品入れてくれれば、けっこうセキュアな環境作ってあげられるのだが。
これで、社内のアクセスできる範囲を絞ってあげられれば、sheeva plugとか使ってVPN構築して
社内の情報を隠ぺいできそうだな。

コンテンツ管理にも使えるから、場合によってはけっこうよい選択かも。
iPhoneとか、Androidだとブラウザが普通に使えちゃうのがある意味最大のセキュリティリスクだからな・・・。
たしか、iPhoneは標準ブラウザ使わせないという設定ができたはず。
これで、ホワイトリストを作れば特に業務では事足りるよな・・・。
ただ問題は、価格かな?
開発者のライセンスでいくらなのか聞いてみるか?

2010年1月19日火曜日

Sheeva Plug が届いたおw


やっと、Sheeva Plugが届いた。
とりあえず、箱から出して「UBUNTUシール」だけ貼った状態。
予想よりも一回り小さかった。
ちなみに大きさはこんな感じ。



さて、とりあえずの予定というか役割として以下の物を考えてます。
File Server(Samba)
DLNA Server(Media Tomb これなんかいまいちなんだよな・・・)
BackupServer(AMANDA)
FaxServer(未定)

おまけとして
X Server(XとGnomeとFreeNX Server 重くて使い物にならなかったら削除予定) 
管理ツール(Webmin)
を入れてみようw
あと、大本命で一つ機能的には追加したい物があるんだけど・・・
実現できたら公開しよう。

2010年1月10日日曜日

ドロップシッピングってどんなもん?

ということで、作ってみた。
http://kimagurepcshop.gamagaeru.jp/

うーん、微妙に扱っている商品が少ないな。
まーいいか。

2009年10月20日火曜日

PSP go 欲しいというか、予約してしまった。

PSP goが11月1日に発売ということで・・・・
悩んだ挙句に予約してしまった。

いや、PSP持ってるしw
イラネーだろw と思う部分もあるが、
下記の様な想像図が俺の頭の中に出来上がってしまったので・・・



これで、音楽聴きながらゲームしつつ喫茶店で電話待ちしてても大丈夫!!

いや、そういう機会って無い気もするが・・・。
まーいいか。
だって、欲しいんだもん。

Bluetooth機器は、今までたくさん買ってきたのだがペアリングが2つっていう製品が多くて困ってたんだけど、PSP-N270は8つまでペアリングできるらしい。
とりあえず、PSP go買ってみるのだ!!

2009年10月18日日曜日

軽量ノートPC Windows 7 モデル

メモに残してる基準
 ・RAM:2GB以上が搭載可能なこと。
 ・普通に構成した場合15万円を超えないこと
 ・重量1kg以下 ・各メーカ2種まで軽い順から
 ・法人モデルでもOK(個人事業主として実態がなくても登録すれば買えるから。)
 ・Windows 7 モデルであること

・SONY VAIO Type P オーナーメイド Windows7 モデル
 重量:0.76kg
 CPU:ATOM Z530~550
 RAM:2GB
 ディスプレイ解像度:1600x768
 光学ドライブ外付(付属しない)
 価格:100,000円前後(SSD64GB、ATOM Z550選択時)

・SONY VAIO Type X オーナーメイド Windows7モデル
 重量:0.65kg
 CPU:ATOM Z530~550
 RAM:2GB
 ディスプレイ解像度:1366x768
 光学ドライブ外付
 価格:100,000円前後(SSD64GB、ATOM Z550選択時)