WEBサーバーを立ててみた

Linux

kali on raspberry piが2つになったので、片方を攻撃監査する目的でWEBサーバーに仕立てました。

今回はその記録です。

左がラズパイ5、右がラズパイ4B。今回は右の4BをWEBサーバーに仕立てます。

raspberry pi 5 & 4B

将来的に左の5から右の4Bに攻撃監査を行うので、その準備です。

設定

下記の設定とします。

ラズパイ4Bにサーバーを立て、それをラズパイ5のブラウザからhttp接続を目指します。

ローカル(クライアント)ラズパイ5192.168.11.15
リモート(サーバー)ラズパイ4B192.168.11.21

まずは普通に5のWEBブラウザ(FireFox)で、4BのIPアドレスを開いてみます。

当たり前ですが開けません。

web browser warning

事前調査

まずは5側から、4Bの空いているポートの調査をします。

以下はクライアント側(ラズパイ5側)からの操作です。

nmapでポートスキャンした結果。

ポートスキャンは自分の管理下のサーバーに対して行いましょう。迷惑行為になるので。

22番ポート(ssh接続用)のみが開いています。

nmap1

少し詳しいスキャン。OSの情報(Linuxのカーネル 4.Xもしくは5.X)もあります。

開いているポートはやはり1つ(22番のみ)です。

nmap2

WEBサーバーの稼働

それではWEBサーバーを稼働させてみます。

以下はサーバー側(ラズパイ4B側)の操作です。

まずはWEBサーバーのサービスである ” apache2 ” の存在を調べます。

” /usr/abin/apache2 ” に存在しているのが分かります。次に、

これでWEBサーバーサービスの ” apache2 ” が稼働します。

apache2 start

検証

それではWEBブラウザでラズパイ5からラズパイ4Bに接続してみます。

クライアント側からの検証

以下はクライアント側(ラズパイ5側)の操作です。

ブラウザのURLにIPアドレスを入れると、FireFoxではこのようになり接続できません。

web browser warning

しかしURL欄をよく見ると、” https:// ” とオートコンプリートされています。

これを手動で ” http:// ” に修正すると、このようにWEBページが表示されました。

apache2 page

ブラウザを使用せずにコマンドラインからhtmlを読み込む ” curl ” コマンドを使用しての検証もできます。

” curl ” は、サイト内容を文字で読み込んで来るコマンドです。

curl

ブラウザと違ってキャッシュを使用しないので、本当に稼働しているかどうかがより正確に分かります。

ブラウザでは「本当はサーバーが止まっていても、キャッシュが表示されて(以前のページがキャッシュから表示されて)稼働しているように見える場合」もありました。

ポートの状態

ポートスキャンでは80番ポートも追加で開いてい流のが分かります。

nmap3

サーバー側からの検証

以下はサーバー側(ラズパイ4B側)の操作です。

まずは ” apache2 ” が稼働しているかどうかの検証。

5行目に ” active ” となっています。

systemctl status

自分自身のサイトを ” curl ” コマンドを用いてテキスト表示させることも可能です。

ドキュメントルートの位置

ドキュメントルートとはWEBサイトのルート(=ドメイン直下)のディレクトリです。

” /var/www/html/ ” に存在します。

” index.html ” を開くと、ブラウザが立ち上がり、WEB越しにクライアントのブラウザから見るページと同じページが立ち上がります。

ポートの確認

ssコマンドで見ると元々の22番に加えて、80番ポートも開いています。

ss

起動時からサーバー稼働させる設定

さて、サーバーを一度止めてしまうとWEBサーバーサービスもそこまでで落ちます。

再起動直後のapache2の状態を調べます。

apache2はもはや起動していません。

systemctl status2

この時80番ポートも閉じています。

起動時設定の変更

そこで起動時から ” apache2 ” を稼働させるためのコマンドが、下記の通り。

systemctl enable

追補)systemctlコマンドまとめ

sudo systemctl start サービス名サービス開始(起動時は設定しない)
sudo systemctl stop サービス名サービス停止
sudo systemctl restart サービス名サービス再起動
sudo systemctl enable サービス名起動時にサービス開始(今はしない)
sudo systemctl disable サービス名起動時にサービス開始しない
systemctl status サービス名サービスの現状表示

まとめ

色々とゴチャゴチャ書いてしまいましたが、結論としては、

でWEBサーバーが稼働しますし、

で起動時に自動稼働します。

普通はkali上にわざわざWEBサーバー立てたりしませんけどね。普通じゃなくてすみません。

コメント

タイトルとURLをコピーしました