<< はかるだけダイエット | main |

スポンサーサイト

  • 2015.01.07 Wednesday
  • -
  • -
  • -
  • by スポンサードリンク

一定期間更新がないため広告を表示しています

ssh iphone -l root

 もしもiPhoneをJailbreakしてOpenSSHも導入した場合、デフォルトでsshサービスが有効になってる上に、0.0.0.0:22でssh接続を待ち受ける太っ腹なのだ。
携帯電話のネットワークでグローバルIPアドレスをもらっちゃったりした日には、インターネットのどこからでも例のパスワードで管理者権限でログインできちゃうのだ。ヒャッハー。

そういうわけで、もちろん使わないときはsshdを切っておくのは当然として、うっかりsshdを切り忘れたときに備えて「まあとりあえずこれだけやっといてその他の対策はおいおい考えることにするか、、」のTo Do。

その1. 例のパスワードは変える
その2. rootログインとかsu -をできなくしておく
その3. sshdが0.0.0.0:22でListenするのを変える

◆◆◆

1. 例のパスワードを変更

  ・mobileのパスワードを変更する
   
$ passwd

または

# passwd mobile

  ※変更後のパスワードでmobileユーザーでログインできることを確認しておく。

2. rootログインとかsu -をできなくする

  ・その前にmobileユーザーがsudoを使えるようにしとく
    ・cydiaからsudoを導入
    ・sudoers編集
# visudo

以下追加

%mobile     ALL=(ALL) ALL
  ※お馬鹿さんなsudoers設定ですいません。設定後はmobileユーザーがsudoできるようになったことをきっちり確認しておく。rootログインとsu -を不可にした後で設定ミスに気づいたときは、とりあえず寝る。明日は直ってるかもしれないし。(iPhoneExplorerとか使えば直せそう)

  ・rootのパスワードはmaster.passwd上で*にする
# vipw

   → rootアカウントでパスワードログインできなくなる
   → 一般ユーザーから su - でrootになれなくなる
   ※ついでに、mobileとrootのログインシェルをshからbashにするとか。

  ・sshd_config編集
# vi /etc/ssh/sshd_config 
以下追加
PermitRootLogin no
3. sshdが0.0.0.0:22でListenするのを変える
  ※ここでは、LANでiPhoneに固定IP: 192.168.1.200を振り、そのアドレスでListenするように設定する手順。

  ・iPhoneに家庭内LANで固定IPアドレスを振るように設定
    → ルーターやらご家庭内DHCPサーバー側で適切な設定を。万歳。
    → もしくはiPhoneのWifi設定で静的IP設定すればいいんだった。

  ・sshdはその固定IPでしかListenしないように設定変更
    ※どんなに頑張ってsshd_configに設定書いても無駄なところが落とし穴なのだ。

# vi /Library/LaunchDaemons/com.openssh.sshd.plist
下記・赤字のところを追加

<dict>
    <key>SockServiceName</key>
    <string>ssh</string>
    <key>SockNodeName</key>
    <string>192.168.1.200</string>
</dict>

設定の反映

# launchctl unload -w /Library/LaunchDaemons/com.openssh.sshd.plist
# launchctl load -w /Library/LaunchDaemons/com.openssh.sshd.plist

以上。

tcp 22(sshd)のLISTENが192.168.1.200になっていればOK。
iPhone:~ mobile$ netstat -anp tcp
Active Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp4       0      0  192.168.1.200.22       *.*                    LISTEN
(以下略)


ところでiPhone側のsshdのLISTENを127.0.0.1:22にして、iPhoneTunnel経由でssh接続するようにすれば、Dockコネクタと母艦のUSB接続経由だけでしかsshで接続できなくなるので安心度がさらにアップ。ただiOS5になってからiTunesとのwifi同期が実現したお陰で母艦とUSB接続すること自体が面倒に感じるようになったので、iPhoneTunnel経由のUSB接続時のみssh接続できるつう運用はやめてしまいました。

---
このエントリーを公開する前に、iPhoneTunnelを再確認していたら、iPhoneのOpenSSHを安全に使う設定(iPhone.goodegg.jp)ってサイト/エントリーを見つけました、、。鍵認証とか、AllowUsersとか、うん、向こうのがいいよ

スポンサーサイト

  • 2015.01.07 Wednesday
  • -
  • 00:35
  • -
  • -
  • by スポンサードリンク
コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
     12
3456789
10111213141516
17181920212223
24252627282930
<< September 2017 >>
since 01/20/2006
  
d400xのTwitter
selected entries
categories
archives
recent comment
recent trackback
profile
search this site.
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM
sponsored links