カテゴリー: サーバー管理

  • AWS Lightsailでサーバーを構築-サーバー構築編

    Lightsailでは指定の構成で一か月間(インスタンス合計750時間)無料で使用できる

    サーバー構成 いずれも最小構成(無料使用枠対象)

    Linux/Unix 3/50 USD/月

    • 512 MB メモリ 1 コアプロセッサ 20 GB SSD ディスク 1 TB 転送*

    Windows 8.00 USD/月

    • 512 MB メモリ 1 コアプロセッサ 30 GB SSD ディスク 1 TB 転送*

    料金に含まれているもの

    • 静的IP (アドレスアカウントごとに5つ、1インスタンスには1個のみ?) インスタンスにアタッチされていない場合は別料金
    • 直観的なマネジメントコンソール
    • DNS管理 (アカウントごとに 3 つのドメインゾーン)
    • 1-click SSH ターミナルアクセス (Linux/Unix)
    • 1-click RDP アクセス (Windows)
    • 強力な API
    • 可用性の高い SSD ストレージ サーバーのモニタリング

    〇作成したインスタンス

    • Lightsail リソース名:Windows_Server_2016-1 512 MB RAM、1 vCPU、30 GB のSSD Windows Server 2016 東京、ゾーン A (ap-northeast-1a) プライベート IP:xxx.xxx.xxx.xxx

    〇StaticIPをAttach

    追加コストなしで 5 つまで管理でくるらしい ただし、1インスタンスに1個しかアタッチできない

    〇ファイアウォール:

    • SSH TCP 22 任意の IP アドレス,Lightsail ブラウザ
    • SSH/RDP HTTP TCP 80 任意の IP アドレス Apache
    • HTTPS TCP 443 任意の IP アドレス Apache RDP
    • TCP 3389 任意の IP アドレス,Lightsail ブラウザ
    • SSH/RDP カスタム TCP 25 任意の IP アドレス MercuryMail smtp
    • カスタム TCP 110 任意の IP アドレス MercuryMail pop3
    • カスタム TCP 143 任意の IP アドレス MercuryMail imap4
    • カスタム TCP 587 任意の IP アドレス MercuryMail smtp
    • カスタム TCP 8080 client IP squid

    〇日本語化

    サーバーの言語を日本語に変更

    • Start-Settings-Time & language-Region & language-Add a language-日本語
    • Country to region から Japan を選択。
    • Languages の 日本語をクリック、Set as Defaultをクリック。
    • Languates の 日本語をクリック、Optionsをクリック。
    • しばらく待って、Download language pack の Download ボタンをクリック。
    • ダウンロードが終われば、←をクリック。
    • サインアウトしてサインオン。
    • スタート-設定-音声認識、地域、日付-地域 からタイムゾーンを (UTC+09:00) 大阪、札幌、東京 へ変更。

    日付と時刻の形式を変更

    • 時刻(短い形式):HH:mm
    • 時刻(長い形式):HH:mm:ss

    〇Windows Updateを実行

    3時間ぐらい待っていたが終わらないので一晩放置 翌日、イベントで確認したら、8時間余りかかっていたらしい

    〇フォルダーオプションの変更

    • ホーム-Windows Update、回復-開発者向け機能を使う
    • 署名されたすべてのアプリをインストールし、高度な開発機能を使用することができます。;クリック
    • 開発者モードをオンにしますか?:はい
    • より開発者フレンドリな…:適用
    • PowerShellスクリプトを実行するには…:適用
    • スタート-右クリック-コントロールパネル-エクスプローラーのオプション
    • 全般-エクスプローラーで開く:PC
    • 全般-クリック方法:ポイントを選択し、…
      • プライバシー:最近使ったファイル、よく使うフォルダー:チェックを外す
      • 適用ボタン
    • 表示-詳細設定
      • すべてのフォルダーを表示:on
      • 開いているフォルダーまで展開:on
      • フォルダーの結合の競合を非表示にする:off
      • ログオン時に以前のフォルダーウィンドウを表示する:on
      • 暗号化や圧縮されたNTFSファイルをカラーで表示する:on
      • 常にアイコン…:on
      • 常にメニュー…:on
      • 保護されたオペレーティングシステムファイルを表示しない(推奨):off

    〇インターネットオプションの変更

    • スタート-右クリック-コントロールパネル-インターネットオプション
    • 全般-スタートアップ:前回のセッション…
    • 全般-タブ 新しいタブの…:on
      • タスクバーにタブの…:off
      • 新しいタブを開いたとき:空白ページ
      • プライバシー-詳細設定 ファーストパーティ:ダイアログ、サードパーティ:ブロック

    〇タスクバーの設定

    • 通知領域 システムアイコンのオン/オフの切り替え
      • 常にすべてのアイコンを…:オン


    〇サーバーマネージャーの設定

    • IEセキュリティの強化を無効にする
      • サーバーマネージャー、ローカルサーバー

    〇UACを無効化

    • ビルトインのAdministrator以外を管理者権限で実行する。
    • Server OS ローカルセキュリティポリシーセキュリティの設定-ローカルポリシー-セキュリティオプション-ユーザーアカウント制御:管理者承認モードですべての管理者を実行する:無効
    • これを行うと、Service Control Managerでイベント IDが7000 のエラーが出るため、UAC File Virtualization サービスを無効化する
      • 場所 HKLM\System\CurrentControllSet\Services\luafv
      • 名前 Start
      • 種類 DWORD
      • 値 2 → 4 に変更

    〇ローカルユーザーの作成

    • 設定-アカウント-他のユーザー
      • ユーザー名:xxxx
      • パスワード:xxxx
      • グループ:Users,Administrators

    ○シャドウコピー

    • Cドライブのプロパティからシャドウ コピーを選び、設定ボタンを押し、最大サイズとスケジュールを設定する。

    〇ツールの追加

    • sakura
    • WinMerge

    〇DNSの登録

    • Lightsailのホームから、ネットワーキング-DNS ゾーンの作成 登録済みドメインの入力;xxxxx.yyy
    • ネームサーバー
    • ns-1147.awsdns-15.org
    • ns-1780.awsdns-30.co.uk
    • ns-309.awsdns-38.com
    • ns-879.awsdns-45.net
    • レコードの追加
    • A @.mydomain.com 解決先 Windows_Server_2016-1_StaticIp-1 CNAME *.mydomain.com マップ先 mydomain.com
    • MX @.mydomain.com 優先度10 マップ先 mail.mydomain.com
    • TXT @.mydomain.com 応答 v=spf1 +ip4:xxx.xxx.xxx.xxx -all #メール送信用
    • TXT _dmarc.mydomain.com 応答 v=DMARC1;P=none;rua=mailto:postmaster@mydomain.com;ruf=mailto:postmaster@mydomain.com #メール送信用

    ・DNSレコード解析ツール

    https://willdosomeday.com/tools/dns.php

    ・MXレコード解析ツール

    https://mxtoolbox.com/

    〇ファイアウォールの設定

    • コントロールパネル-Windowsファイアウォール
    • パブリックネットワーク
      • Windowsファイアウォールが新しい…:on

  • AWSにリバースプロキシーを構築

    「AWSにプロキシを構築」の続き

    ・セキュリティの設定
     AWSのセキュリティグループ
      インバウンドにルールを追加する
       TCP、80、0.0.0.0/0
     Windowsファイアウォールにてsquis.exeの入力規則にTCPプロトコルの80ポートを追加する

    ・squidの設定
     squid_reverse.confの作成(抜粋)

    #Privarte IPの80番ポートで待ち受ける
    #accelモード(リバプロ)で稼働するaccelモード(リバプロ)で稼働する
    #ブラウザのキャッシュコントロールを無効にする
    http_port 80 accel defaultsite=xxx.xxx.xxx.xxx ignore-cc
    
    visible_hostname www.chombo.work
    
    pid_filename /var/run/${service_name}.pid
    
    cache_peer domain.org parent 80 0 no-query originserver
    
    max_filedescriptors 3200
    
    #エラー画面の設定
    #/usr/share/squid/createdErrPage内に独自のエラーページ作成
    #Squidを隠蔽するため、全エラーを404で返す
    #デフォルトだとアクセス制御で拒否されたらSquidは403を返す
    #404.htmlは適当に作成し、error_directory内に格納する
    error_directory /usr/share/squid/createdErrPage
    deny_info 404:404.html dmz
    deny_info 404:404.html all
    #クライアントのIPアドレスをそのままWebサーバへ渡す
    forwarded_for on
    
    #Squidを使用していることを隠蔽するため各種htmlヘッダを削除
    #Webサーバが返すServerヘッダも削除される
    reply_header_access X-Squid-Error deny all
    reply_header_access X-Cache deny all
    reply_header_access Via deny all
    reply_header_access Server deny all
    
    #コンテンツキャッシュを行わない設定
    acl nocache src all
    cache deny nocache
    cache_store_log none
    
    #エラーページをキャッシュしない(保有時間を0秒に)
    negative_ttl 0 seconds
    
    #Only allow cachemgr access from localhost
    http_access allow all
    
    #Deny requests to certain unsafe ports
    http_access deny !Safe_ports
    
    #Deny CONNECT to other than secure SSL ports
    http_access deny CONNECT !SSL_ports
    
    #And finally deny all other access to this proxy
    http_access deny all
    
    logformat squidReverse %tl %6tr %>a %Ss/%03>Hs %
    
    #ログファイル名を指定
    access_log stdio:/var/log/squid/accessReverse.log squidReverse
    
    #Squidに関するエラー・デバックログを記録するファイル名を指定
    cache_log /var/log/squid/cacheReverse.log
    
    #ログを13世代保有する
    logfile_rotate 13

    ・squidの起動

    squid -f /etc/squid/squid_reverse.conf -n squidReverse -N

    をタスクマネージャに登録
     Diladele.Squid.Tray.exeのStop Squid Serviceでプロキシーを止めた場合、同時にリバースプロキシ―も止まるので注意

    ・DMSの登録
     Elastic IPをMyDNSに固定アドレスとして登録
      IPアドレスの通知は定期的に行う必要がある。通知するIPアドレスは無視される模様

    ・クライアントのIPアドレスが変わった場合
     セキュリティグループのインバウンドを変更(8080,3389)
     squid.conf,squid_reverse.confを変更
     MyDNS.comにAWSからログイン

    ・EC2のPrivate IPが変わった場合
     セキュリティグループのインバウンドを変更
     squid.conf,squid_reverse.confを変更

    ・ディスククリーンアップを追加
     PowerShellでAdd-WindowsFeature Desktop-Experience

  • AWSにプロキシーを構築

    ・AWSアカウントの作成
     電話の非通知着信拒否を一時解除

    ・リージョンの変更
     AWSコンソールにログインして右上のリージョンを東京に変更

    ・インスタンスの作成
     AMIからWordpress With MySql on Windows Server 2012 R2
     インスタンスタイプ:t2.micro
     ストレージ:30GiB,SSD
     セキュリティグループ:RDP=マイIP
     キーペア:新しいキーペアの作成
      保存先:C:\user{yourusername}.ssh\MyFirstKey.pem
     セキュリティグループ
      インバウンドにルールを追加する
       TCP、8080、xxx.xxx.xxx.xxx/20 固定
       TCP、8080、yyy.yyy.yyy.yyy/32 変更されるごとに更新

    ・ホストを公開
     Elastic IPの取得、割り当て
      EC2ダッシュボード、Elastic IP、新しいアドレスの割り当て、アクション―アドレスの関連付け
     Elastic IPは関連付けたインスタンスが実行中でないと課金される

    ・squid
     https://wiki.squid-cache.org/KnowledgeBase/Windows#Squid-3.5 からインストール

     squid.confの編集
      acl localnet src xxx.xxx.xxx.xxx/20 # EC2 Private IP
      acl localnet src yyy.yyy.yyy.yyy/32 # PPPoE グローバルIP
      http_port 8080
      logformat squid %tl %6tr %>a %Ss/%03>Hs %

     Windowsファイアウォールにてsquis.exeにTCPプロトコルの8080ポートを開けた入力規則を追加する