【WEBサーバ】Apache2ログ設定

  • Apache2のログ設定

    vi /etc/httpd/conf/httpd.conf
    
    # エラーログ出力先
    ErrorLog /var/log/httpd/error_log
    
    # 通常ログからwormのログを除外
    SetEnvIf Request_URI "^/_mem_bin/" nolog
    SetEnvIf Request_URI "^/_vti_bin/" nolog
    SetEnvIf Request_URI "^/c/" nolog
    SetEnvIf Request_URI "^/d/" nolog
    SetEnvIf Request_URI "^/msadc/" nolog
    SetEnvIf Request_URI "^/MSADC/" nolog
    SetEnvIf Request_URI "^/scripts/" nolog
    SetEnvIf Request_URI "^/default.ida" nolog
    
    # 通常ログから画像、CSS、JavaScript参照ログを除外
    SetEnvIf Request_URI "\.(jpg|png|gif|css|js)$" nolog
    
    # 通常ログから自身の接続ログを除外
    SetEnvIf Remote_Addr 192.168.XX. nolog
    SetEnvIf Remote_Addr 10.8.0. nolog
    
    # 通常ログからロボットログを除外
    SetEnvIf User-Agent "Mediapartners-Google" nolog
    SetEnvIf User-Agent "msnbot" nolog
    SetEnvIf User-Agent "Yahoo! Slurp" nolog
    SetEnvIf User-Agent "Googlebot" nolog
    SetEnvIf User-Agent "Ask Jeeves" nolog
    SetEnvIf User-Agent "Gigabot" nolog
    SetEnvIf User-Agent "BecomeBot" nolog
    SetEnvIf User-Agent "Baiduspider" nolog
    SetEnvIf User-Agent "TurnitinBot" nolog
    SetEnvIf User-Agent "BecomeJPBot" nolog
    SetEnvIf User-Agent "Yeti" nolog
    SetEnvIf User-Agent "IRLbot" nolog
    SetEnvIf User-Agent "ia_archiver" nolog
    
    # 除外していない参照ログを通常ログとしてcombinedレベル(詳細)で出力
    CustomLog /var/log/httpd/access_log combined env=!nolog
    
  • Apache2の動作確認

    echo '<h1>It works!</h1>' > /var/www/html/index.html
    /etc/rc.d/init.d/iptables stop
    /etc/rc.d/init.d/httpd start
    

    http://192.168.XXX.YYY/

    「It works!」が表示されれば正常です。

    /etc/rc.d/init.d/iptables start
    rm -f /var/www/html/index.html
    
  • Apache2起動設定

    chkconfig httpd on
    chkconfig --list httpd
    

    ランレベルが2~5でonを確認する。

【WEBサーバ】Apache2設定

  • Apache2のドキュメントルート設定
    基本的な設定は完了したので、次にドキュメントルートの設定を行います。
    Apache2の設定はRaspberry Pi(Debian系)と違って1ファイルにまとまってます。

    vi /etc/httpd/conf/httpd.conf
    
    下記の設定となるように変更(変更部分または重要部分のみ記載)
    # ドキュメントルート
    DocumentRoot "/var/www/html"
    
    # 最上位の制御
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    
    # ドキュメントルートの制御
    <Directory "/var/www/html">
        Options -Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    
    # アクセス制御ファイル名
    AccessFileName .htaccess
    
    # ファイル名を指定しない場合の検索優先順位(index.html)
    <Files ~ "^\.ht">
        Order allow,deny
        Deny from all
        Satisfy All
    </Files>
    
    # iconsルートの制御
    <Directory "/var/www/icons">
        Options -Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    
  • welcome.confの無効化

    mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.org
    
  • ドキュメントルートの権限変更

    chown -R ユーザ名 /var/www/html
    

【WEBサーバ】Apache2導入

  • Apache2導入

    yum -y install httpd
    yum list installed | grep httpd
    
    インストールした内容
    httpd.x86_64            2.2.15-39.el6.centos
    httpd-tools.x86_64      2.2.15-39.el6.centos
    
    cp -pi /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
    vi /etc/httpd/conf/httpd.conf
    
    下記内容を変更
    # サーバ情報表示内容
    ServerTokens OS
    ↓
    ServerTokens ProductOnly
    
    # サーバ署名表示内容
    ServerSignature On
    ↓
    ServerSignature Off
    
    # サーバー名
    #ServerName www.example.com:80
    ↓
    ServerName z-area.net:80
    

【CentOS】セキュリティ向上その2

  • TCP WrapperによるSSH接続アクセス制御

    SSH接続のセキュリティを高めるため、指定したクライアントのみから
    サーバーにSSH 接続できるようにします。

    vi /etc/hosts.deny
    
    下記内容を追加
    ALL: ALL
    
    vi /etc/hosts.allow
    
    下記内容を追加
    sshd: ALL
    

    書式は「サービス名: IP」です。
    denyは拒否するサービスとIPを指定。
    allowは許可するサービスとIPを指定し、denyより優先。
    ALLは「全て」を表します。

    ただしALLとはいってもLinuxの全てのサービスを拒否するわけではなく、
    サービスのデーモンがTCP Wrapperのライブラリであるlibwrapを
    含んでいるかどうかで決まるそうです。

  • SSH接続設定

    vi /etc/ssh/sshd_config
    
    下記内容のコメントを削除
    # rootでのログイン禁止
    #PermitRootLogin yes
    ↓
    PermitRootLogin yes
    
    # 空パスワード禁止
    #PermitEmptyPasswords no
    ↓
    PermitEmptyPasswords no
    
    下記内容を追加
    # hogeユーザのみログイン許可
    AllowUsers hoge
    
    /etc/rc.d/init.d/sshd restart
    
  • SELinux無効化

    vi /etc/sysconfig/selinux
    
    下記内容を変更
    SELINUX=enforcing
    ↓
    SELINUX=disabled
    
  • バッファオーバーフロー対策

    vi /etc/sysctl.conf
    
    # 下記内容を最終行に追加
    # exec-shield
    kernel.exec-shield = 2
    
  • TeraTermの公開鍵設定
    Raspberry Piと同様なので省略。
    TeraTermで生成した鍵を保存する際は任意の名前に変更できます。
    サーバーの数が複数ある場合、秘密鍵の名前は変えておいた方が管理が楽。

【CentOS】セキュリティ向上その1

  • 作業ユーザ追加

    useradd hoge
    passwd hoge
    
    パスワードを2回入力
    ユーザー hoge のパスワードを変更。
    新しいパスワード:
    新しいパスワードを再入力してください:
    passwd: 全ての認証トークンが正しく更新できました。
    
  • rootになれるユーザへ追加

    usermod -G wheel hoge
    
  • rootになれるユーザの制限

    vi /etc/pam.d/su
    
    下記内容のコメントを解除
    #auth           required        pam_wheel.so use_uid
    ↓
    auth           required        pam_wheel.so use_uid
    

    コメント解除するのはsufficientの方ではなく、requiredの方です。

    vi /etc/login.defs
    
    下記内容を追加
    SU_WHEEL_ONLY yes
    

    visudoコマンドも制御します。

    visudo
    
    下記内容を変更
    # %wheel        ALL=(ALL)       ALL
    ↓
    %wheel        ALL=(ALL)       ALL
    

【VPNサーバ】OpenVPN導入その4

Windowsを利用してOpenVPNの動作確認ができたので、
元々やりたかったiPhoneで外からRaspberry Piに繋げます。

OpenVPNクライアントを追加するため、まずはサーバー側で証明書、鍵を作成します。

  • OpenVPN設定(クライアント用の証明書と鍵作成(追加))
    1度Windows用に証明書と鍵作成を行っているため、手順が短くて済みます。

    cd /etc/openvpn/easy-rsa
    source ./vars
    ./build-key クライアント名(追加)
    

    varsファイルを読み込むと「you run ./clean-all」が表示されますが、
    これは以前に1度実行しているため、実行不要です。
    実行すると「/etc/openvpn/easy-rsa/keys」内が初期化され、
    再度、認証局から作り直しとなります。(やりました)

    iPhoneでOpenVPNを利用する場合もWindowsと同様で、
    「OpenVPN導入その1」で作成した証明書や鍵のうち、
    クライアントで利用するものをWindowsにUSB等で持ってきて、設定を行います。

  • クライアント設定ファイル(iPhone用)
    iPhone用のクライアント設定ファイルとして「クライアント名(追加).ovpn」ファイルを作成します。

    下記内容を追加
    # tunデバイス、udpプロトコル、OpenVPNサーバの1194番ポートをクライアントとして利用
    dev tun
    proto udp
    remote z-area.net 1194
    client
    
    # 名前解決試みのリトライ数(無限)
    resolv-retry infinite
    
    # ローカルポートをバインドしない
    nobind
    
    # 再接続時に鍵読み込み、tunデバイスオープン
    persist-key
    persist-tun
    
    # OpenVPNのログ設定
    verb 3
    
    # LZO圧縮を利用
    comp-lzo
    
    # 認証局証明書、クライアント(追加)証明書、クライアント(追加)秘密鍵の内容貼り付け
    <ca>
    -----BEGIN CERTIFICATE-----
    ca.crtの内容を貼り付け
    -----END CERTIFICATE-----
    </ca>
    <cert>
    -----BEGIN CERTIFICATE-----
    クライアント名(追加).crtの内容を貼り付け
    -----END CERTIFICATE-----
    </cert>
    <key>
    -----BEGIN PRIVATE KEY-----
    クライアント名(追加).keyの内容を貼り付け
    -----END PRIVATE KEY-----
    </key>
    
  • iPhoneへ証明書と鍵の移動
    Apple StoreからVPNクライアントのアプリとして「OpenVPN」をダウンロードします。
    次にiTunesからダウンロードした「OpenVPN」を選択して、
    「クライアント名(追加).ovpn」を移動します。

    次にiPhoneの操作に戻ると、「+」マークが出ているので、
    設定ファイルを読み込み、OpenVPNに接続します。
    「Connected」になれば成功です。
    左上に「4G VPN」と表示されるはずです。

    はまりやすい注意点は自宅で作業をしている場合、
    ルーターのWifiには接続しないように4G回線や別回線でやること。

  • iPhoneから自宅のLinuxへ接続
    OpenVPNアプリで「4G VPN」接続状態になったら
    SSH接続アプリで自宅のLinuxに接続確認を行います。

    私は「vSSH Lite」を利用しました。
    有名なのは「Prompt」ですが、無印は公開中止になり、
    「Prompt2」のみになってしまったようなので、「vSSH Lite」を利用してみました。

    接続するLinuxはSSHで接続する際、秘密鍵が必要になるので、
    iTunesから「vSSH Lite」を選択して秘密鍵を移動します。

    2つのLinuxに外から接続確認してみました。
    【Raspberry Pi】
    IPは10.8.0.1でOpenVPNサーバーの仮想IPを指定してみました。

    【VMWare上のCentOS】
    IPは192.168.XXX.XXXで自宅LAN内のIPを指定してみました。

    どちらも無事接続成功です。

【VPNサーバ】OpenVPN導入その3

OpenVPNクライアントをWindowsにインストールしてみました。

利用したファイルは「openvpn-install-2.3.4-I605-x86_64.exe」で、
インストール時に右クリックし「管理者として実行」で、画面に従いインストールしました。

「OpenVPN導入その1」で作成した証明書や鍵のうち、
クライアントで利用するものをWindowsにUSB等で持ってきて、
「OpenVPNインストールフォルダ/OpenVPN/config」に配置します。

  • クライアント設定ファイル
    OpenVPNクライアント側の設定を行います。

    先ほど配置したconfigフォルダに「クライアント名.ovpn」を作成します。

    下記内容を追加
    # tunデバイス、udpプロトコル、OpenVPNサーバの1194番ポートをクライアントとして利用
    dev tun
    proto udp
    remote z-area.net 1194
    client
    
    # 認証局証明書、クライアント証明書、クライアント秘密鍵のパス設定
    ca ca.crt
    cert クライアント名.crt
    key クライアント名.key
    
    # 名前解決試みのリトライ数(無限)
    resolv-retry infinite
    
    # ローカルポートをバインドしない
    nobind
    
    # 再接続時に鍵読み込み、tunデバイスオープン
    persist-key
    persist-tun
    
    # OpenVPNのログ設定
    verb 3
    
    # LZO圧縮を利用
    comp-lzo
    
    # 共有鍵の利用
    #tls-auth ta.key 1
    

「OpenVPN GUI」を起動し、接続が成功すれば
サーバーの設定、クライアントの設定とも完了です。
接続完了後、コマンドプロンプトから「ipconfig /all」を打つと
「ローカルエリア接続2」という接続情報が増えており、
「10.8.0.X」とIPが振られていることが確認できます。

【VPNサーバ】OpenVPN導入その2

鍵の作成が終わったので、次に設定ファイルを作成、修正していきます。

  • パケット転送設定
    下記2ファイルを修正します。

    vi /etc/sysctl.conf
    
    下記コメントアウトを外す。
    #net.ipv4.ip_forward=1
    ↓
    net.ipv4.ip_forward=1
    

    viじゃなぜか編集できなかったので、リダイレクトで設定変更。

    echo 1 > /proc/sys/net/ipv4/ip_forward
    
  • サーバー設定ファイル

    vi /etc/openvpn/server.conf
    
    下記内容を追加
    # tunデバイス、udpプロトコル、1194番ポートを利用
    dev tun
    proto udp
    port 1194
    
    # 認証局証明書、サーバー証明書、サーバー秘密鍵、鍵交換用のパス設定
    ca /etc/openvpn/ca.crt
    cert /etc/openvpn/サーバー名.crt
    key /etc/openvpn/サーバー名.key
    dh /etc/openvpn/dh1024.pem
    
    # OpenVPNの実行権限(OpenVPNインストール時に作成されるユーザとグループ)
    user nobody
    group nogroup
    
    # OpenVPNの仮想ネットワークと仮想サブネットマスク
    server 10.8.0.0 255.255.255.0
    
    # 起動時に鍵読み込み、tunデバイスオープン
    persist-key
    persist-tun
    
    # OpenVPNのログ設定
    status /var/log/openvpn-status.log
    log-append /var/log/openvpn
    verb 3
    
    # OpenVPNクライアント間の接続許可
    client-to-client
    
    # OpenVPNクライアント側の全てのトラフィックをOpenVPNサーバー経由(デフォルトゲートウェイ:10.8.0.2)
    # 「route -n」で確認可能
    push "redirect-gateway def1"
    
    # DHCP設定(DHCP利用しないため、詳細不明)
    push "dhcp-option DNS 8.8.8.8"
    push "dhcp-option DNS 8.8.4.4"
    
    # LZO圧縮を利用
    comp-lzo
    
    # OpenVPNクライアントのIP固定設定を利用
    client-config-dir ccd
    
    # 共有鍵の利用
    #tls-auth ta.key 0
    

    下記サイトを参考にしました。
    英語サイトですが、コマンドは一緒なので雰囲気で。
    http://raspberrypihelp.net/tutorials/1-openvpn-server-tutorial

  • サーバー設定ファイル(注意点1)
    pushを「”」で括っていますが、色々な参考サイトを見ていると、
    「”」(全角のダブルクォーテーション)になっているサイトがありますが、
    正しくは「”」(半角のダブルクォーテーション)です。

    クライアントはWindowsとiPhoneでそれぞれ試したところ、
    WindowsはどちらでもOpenVPNに接続成功しますが、
    iPhoneでは「”」(半角のダブルクォーテーション)でないとエラーになりました。

    全く同事象でエラーとなっていた人がいました。
    https://forums.openvpn.net/topic12789.html

  • サーバー設定ファイル(注意点2)
    「tls-auth ta.key 0」はコメントアウトしています。
    前回も記載していますが、有効になっているとiPhoneからの接続が出来なかったためです。
  • クライアントの仮想IP固定設定
    VPNクライアントの仮想IPは固定が推奨らしいので、設定を行います。

    mkdir /etc/openvpn/ccd
    vi /etc/openvpn/ccd/クライアント名
    
    下記内容を追加
    ifconfig-push 10.8.0.X 10.8.0.X+1
    

    Xは決まった数値がありますが、他のサイトを参考にしてください。

  • OpenVPN起動

    /etc/init.d/openvpn start
    

    エラーが発生する場合、下記のログを確認します。

    view /var/log/openvpn
    

    私のRaspberry Piでは下記の内容が出力されていました。

    Note: Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)
    

    下記サイトを確認するとrebootが有効とのことで、
    再起動後にコマンドを実行してみたところ、無事起動しました。

    http://blog.paulregan.co.uk/2013/02/raspberry-pi-openvpn.html

  • ファイアウォール設定
    ファイルウォールの設定を行います。
    私のRaspberry Piはiptablesのラッパー的な役割をするufwを導入しているため、
    iptablesだけではなく、ufwの設定も行います。

    • iptablesの設定

      iptables -t filter -A INPUT -i eth0 -p udp -m udp --dport 1194 -j ACCEPT
      iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to 192.168.XXX.XXX
      

      「–to」にはRaspberry Piの通常のIPを指定します。
      再起動すると設定が消えるため、自動設定できるようにするのが良いです。
      (ここでは記載省略)

    • ufwの設定

      ufw allow 1194
      vi /etc/ufw/before.rules
      
      下記内容を「# End required lines」と「# allow all on loopback」の間に追加
      # OpenVPN Configuration
      -A ufw-before-input -i tun+ -j ACCEPT
      -A ufw-before-output -i tun+ -j ACCEPT
      -A ufw-before-forward -s 10.8.0.0/24 -j ACCEPT
      -A ufw-before-forward -d 10.8.0.0/24 -j ACCEPT
      
      ufw disable
      ufw enable
      

【VPNサーバ】OpenVPN導入その1

外から自宅サーバをいじってみたくなったので、OpenVPNを導入します。
Raspberry Piで動いてるサービスをNUCに移行したら
Raspberry PiはOpenVPNサーバ専用かもしれません。

  • OpenVPN導入
    まずはパッケージを最新化します。
    しばらくやってなかったので、結構長かったです。

    aptitude update
    aptitude upgrade
    

    OpenVPNをインストールします。
    相変わらずインストールはコマンドで一瞬。

    aptitude install openvpn openssl
    

    opensslは以前にApache2にSSLを導入した際に
    最初から入ってたような気がしたのですが、入れちゃいました。

  • OpenVPN設定(準備)
    Apache2のSSLではサーバー側で公開鍵、秘密鍵を利用していましたが、
    OepnVPNを利用するにはサーバー側、クライアント側の両方で公開鍵、秘密鍵を利用します。

    Apache2の時と同様に鍵の正当性を証明するために、OpenVPN用のオレオレ認証局を作成します。
    OpenVPNをインストールするとOpenSSLを簡単に利用できるツール「easy-rsa」が
    同時にインストールされるのでそれを利用します。
    OpenVPNのディレクトリにツール「easy-rsa」をコピーしておきます。

    現在では「easy-rsa」は3.0まで公開されていて、
    それを利用すると以降に記述した2.0の手順よりさらに短く簡単に設定できるようです。
    今回は2.0の手順になります。

    cd /etc/openvpn
    cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa
    

    認証局作成、サーバー用の証明書と鍵作成、クライアント用の証明書と鍵作成で
    参照する変数用のファイル作成もしておきます。
    作成しておくと入力の手間が省けます。

    vi /etc/openvpn/easy-rsa/vars
    
    下記内容を変更
    export EASY_RSA="`pwd`"
    ↓
    export EASY_RSA="/etc/openvpn/easy-rsa"
    
    export KEY_COUNTRY="US"
    ↓
    export KEY_COUNTRY="JP"
    
    export KEY_PROVINCE="CA"
    ↓
    export KEY_PROVINCE="TOKYO"
    
    export KEY_CITY="SanFrancisco"
    ↓
    export KEY_CITY="Akihabara"
    
    export KEY_ORG="Fort-Funston"
    ↓
    export KEY_ORG="OreOreCA"
    
    export KEY_EMAIL="me@myhost.mydomain"
    ↓
    export KEY_EMAIL=""
    
    export KEY_CN=changemeからexport PKCS11_PIN=1234はコメントアウト
    
  • OpenVPN設定(認証局作成)
    認証局を作成する際に「openssl.cnf」を参照するため、
    サンプルファイルの「openssl-1.0.0.cnf」を「openssl.cnf」としてコピーしておきます。

    cd /etc/openvpn/easy-rsa
    cp -pi openssl-1.0.0.cnf openssl.cnf
    

    さらに先ほど事前作成しておいたvarファイルを環境変数として有効化しておきます。

    source ./vars
    
    NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys
    

    初期化してから実行しろということなので、初期化後にオレオレ認証局を作成します。

    ./clean-all
    ./build-ca オレオレ認証局名(適当)
    
    Generating a 1024 bit RSA private key
    ...............++++++
    ....++++++
    writing new private key to 'ca.key'
    -----
    略
    

    括弧内にvarsファイルで予め設定しておいた設定内容が表示されるので、
    問題なければそのままEnter押下して作業を進めます。

  • OpenVPN設定(DHパラメータ作成)
    DHパラメータはサーバーとクライアントで鍵を交換するために利用するそうです。

    ./build-dh
    
  • OpenVPN設定(サーバー用の証明書と鍵作成)

    ./build-key-server サーバー名
    

    途中でチャレンジパスワード、会社名付属、署名にサインされるか聞かれますが、
    チャレンジパスワード、会社名付属はブランクでEnter、署名はyで入力します。
    最後のコミットもyで入力します。

  • OpenVPN設定(クライアント用の証明書と鍵作成)

    ./build-key クライアント名
    

    実行するファイル名がサーバーと似ていますが微妙に違うので注意。

  • OpenVPN設定(共有鍵作成)
    セキュリティ強化の一環として、共有鍵をさらに作成可能です。
    この鍵はツール「easy-rsa」ではなく、openvpnコマンドを利用して作成します。

    openvpn --genkey --secret /etc/openvpn/easy-rsa/keys/ta.key
    

    私の環境では、iphoneから利用する場合、ta.keyがあると
    OpenVPNに接続できなかったので、利用しませんでした。

作業完了すると「/etc/openvpn/easy-rsa/keys」に下記ファイルが作成されています。
他にも作業ファイルが作成されていますが、記載していません。

ファイル名概要権限備考
ca.crtオレオレ認証局の証明書644サーバー、クライアントで利用
ca.keyオレオレ認証局の秘密鍵--
サーバー名.crtサーバーの証明書644サーバーで利用
サーバー名.csrサーバーの公開鍵--
サーバー.keyサーバーの秘密鍵600サーバーで利用
クライアント名.crtクライアントの証明書-クライアントで利用
クライアント名.csrクライアントの公開鍵--
クライアント.keyクライアントの秘密鍵-クライアントで利用
dh1024.pem鍵交換用644サーバーで利用
ta.key共有鍵--

サーバーで利用する4ファイルはディレクトリ移動しておきます。
実行権限も表の通りではない場合は修正しておきます。

cd /etc/openvpn
cp -pi /etc/openvpn/easy-rsa/keys/ca.crt .
cp -pi /etc/openvpn/easy-rsa/keys/サーバー名.crt .
cp -pi /etc/openvpn/easy-rsa/keys/サーバー.key .
cp -pi /etc/openvpn/easy-rsa/keys/dh1024.pem .

クライアントで利用する3ファイルはUSBメモリ等でクライアントに移動しておきます。
keysディレクトリ内のファイルは削除しても問題ないようですが、
クライアントを追加したい場合、ca.crtやca.keyを参照したりするので、一旦削除しないでおきます。

【CentOS】無線LNA設定

  • 「wpa_supplicant」の設定

    無線LAN設定には「wpa_supplicant」というサービスが必要らしいので、
    インストール有無を確認します。

    rpm -qa | grep -i wpa_supplicant
    

    何も画面に出ない場合はインストールされていません。
    案の定、画面に出てこなかったので、インストールします。

    yum install wpa_supplicant
    

    「wpa_supplicant」の設定ファイルを編集します。

    cp /etc/wpa_supplicant/wpa_supplicant.conf  /etc/wpa_supplicant/wpa_supplicant.conf.org
    wpa_passphrase "SSID" "パスワード" >> /etc/wpa_supplicant/wpa_supplicant.conf
    

    SSIDはルーターの固有のIDを設定します。
    パスワードはルーターの側面とかに貼ってあるKEYを設定します。
    設定内容を確認します。

    cat /etc/wpa_supplicant/wpa_supplicant.conf
    
    ctrl_interface=/var/run/wpa_supplicant
    ctrl_interface_group=wheel
    
    network={
            ssid="SSID"
            #psk="パスワード"
            psk=パスワードが暗号化された文字列
    }
    

    上記内容を変更していきます。

    vi /etc/wpa_supplicant/wpa_supplicant.conf
    
    ctrl_interface=/var/run/wpa_supplicant
    ctrl_interface_group=wheel
    
    network={
            ssid="SSID"
            key_mgmt=WPA-PSK
            proto=WPA WPA2
            pairwise=CCMP TKIP
            group=CCMP TKIP
            psk=パスワードが暗号化された文字列
    }
    

    暗号化される前のパスワードは削除しておきます。
    暗号に関する設定値は2つ設定すると前者が先に有効になり、
    前者が適用できない場合、後者の設定を参照します。

    暗号の組み合わせは5通りかな。
    WEP、WPA-TKIP、WPA-CCMP(AES)、WPA2-TKIP、WPA2-CCMP(AES)
    WEPは暗号強度が弱いので選択肢から除外しました。

    もう1ファイル設定します。

    vi /etc/sysconfig/wpa_supplicant
    
    下記内容を変更
    INTERFACES=""
    ↓
    INTERFACES="-iwlan0"
    
    DRIVERS=""
    ↓
    DRIVERS="-Dwext"
    
  • NIC(wlan0)の設定

    「wpa_supplicant」の設定が完了したので、NICの設定を行います。
    有線LNAで設定したeth0は無効化しておきます。

    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    
    下記内容を変更
    ONBOOT=yes
    ↓
    ONBOOT=no
    

    wlan0に無線LANの設定を行います。

    vi /etc/sysconfig/network-scripts/ifcfg-wlan0
    
    下記内容に変更
    DEVICE=wlan0
    HWADDR=初期設定
    TYPE=Wireless
    UUID=初期設定
    ONBOOT=yes
    NM_CONTROLLED=yes
    BOOTPROTO=static
    NETWORK=192.168.XXX.0
    NETMASK=255.255.255.0
    GATEWAY=192.168.XXX.1
    IPADDR=192.168.XXX.AAA
    BROADCAST=192.168.XXX.255
    DNS1=192.168.XXX.1
    ESSID=SSID
    

    有線LANと違うところは「DEVICE」「TYPE」「ONBOOT」「ESSID」の4つ。

  • 「wpa_supplicant」の起動設定

    サーバーが再起動しても自動起動できるようにしておきます。

    vi /etc/rc.d/rc.local
    
    下記内容を最終行に追加
    sevice wpa_supplicant start
    ifup wlan0
    

    自動起動といえば「chkconfig」かと思い、設定してみましたが、
    上手くいかなったので、上記設定でやっています。

    これで無線LAN繋げましたが、重すぎます。
    別端末からTeraTermで接続すると重すぎて入力が遅れて返ってきます。
    有線LANに戻すかしばらく様子見です。