|
|
(同じ利用者による、間の66版が非表示) |
1行目: |
1行目: |
| インストールするOSは最低限の機能を含んだもの「Minimal」を選択する。必要なソフトは必要になったら適宜インストールする。サーバはCUIで利用するので、GUI環境はインストールしない。
| | インストールするOSは最低限の機能を含んだもの「Minimal」を選択する。必要なソフトは必要になったら適宜インストールする。必要なのはサーバ環境なのでGUI環境はインストールしない。 |
| | |
| ==1. インストールUSBの作成==
| |
| ===Mac で===
| |
| $ diskutil list
| |
| $ diskutil eraseDisk MS-DOS UNTITLED /dev/disk3
| |
| $ diskutil unmountDisk /dev/disk3
| |
| $ sudo dd if=./CentOS-6.5-x86_64.iso of=/dev/disk3 bs=4028
| |
| $ diskutil eject /dev/disk3
| |
| $ diskutil list
| |
| | |
| * 書き込みには少し時間がかかる
| |
| | |
| $ shasum -a 256 file.tar.iso
| |
| | |
| ==2. はじめの設定==
| |
| * 全てのパッケージを最新のものにアップデートしてシステムを最新の状態にする
| |
| * 次に不要なサービスは全て停止する。ランレベル3(CUIモード)で自動起動するサービスを確認して停止、自動起動をオフにする
| |
| # chkconfig --list | grep 3:on
| |
| # service auditd stop
| |
| # service netfs stop
| |
| auditd(コマンド監視), ip6tables(IP6利用), netfs(NFSクライアント), postfix(SMTPサーバ利用)
| |
| | |
| * SSHで root ログインを禁止する
| |
| /etc/ssh/sshd_config
| |
| #PermitRootLogin no
| |
| | |
| * SSHのポート番号を22番から変更しておく。開いているポートを確認
| |
| /etc/ssh/sshd_config
| |
| Port 20023
| |
| # systemctl sshd restart
| |
| $ netstat -atun
| |
| | |
| * ソフトウェアパッケージのアップデートを自動化する。そのためにも、ソフトは基本的にapt等パッケージ管理システムからインストールする
| |
| * メールサーバなど、ユーザアカウントは必要だけどシェルログインは不要なユーザは、ログインシェルを「/sbin/nologin」か「/bin/false」にする
| |
| #useradd -s /sbin/nologin march
| |
| #usermod -s /sbin/nologin march
| |
| | |
| * rootログインが可能な端末名を全て削除して、rootログインを全面的に禁止する
| |
| # echo > /etc/securetty
| |
| | |
| * ユーザがディスクの空き容量を使い切ってしまわないように、ユーザが利用するファイルシステムには独立したパーティションを割り当てる
| |
| * 変更されないデータを格納するファイルシステムは、リードオンリーでマウントすることによりファイルの改竄や破壊行為を抑えられる
| |
| * アドレススキャン(港探索)回避のためにブロードキャスト宛リクエストを無視する。下記の設定ファイルに追記
| |
| /etc/sysctl.conf
| |
| net.ipv4.icmp_echo_ignore_broadcast=1
| |
|
| |
|
| ===Ctrlキーを有効化(設定ファイル)=== | | ===Ctrlキーを有効化(設定ファイル)=== |
53行目: |
8行目: |
| # systemctl restart console-setup | | # systemctl restart console-setup |
|
| |
|
| ===Ctrlキーを有効化(コマンドライン)===
| | Ctrlキーを有効化(コマンドライン) |
| $ gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:swapcaps']" | | $ gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:swapcaps']" |
| $ gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']" | | $ gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']" |
|
| |
| ===一般ユーザの追加===
| |
| # useradd hoge -m -s /bin/bash -G sudo
| |
| # passwd hoge
| |
| # less /etc/passwd
| |
| # less /etc/sudoers
| |
| # grep sudo /etc/group
| |
|
| |
| * Debian系は初めから root は使えない
| |
|
| |
| ===Kali の場合===
| |
| ブルートゥースを稼働させる。
| |
|
| |
| # systemctl enable bluetooth
| |
| # systemctl start bluetooth
| |
|
| |
| ===Raspberry Pi の場合===
| |
| 以下のコマンドでキーボードレイアウトやタイムゾーン、Wi-Fi の設定などができる。
| |
| $ sudo raspi-config
| |
|
| |
| ==3. マシンのアップデートなど==
| |
| ===Debian系===
| |
| # apt update
| |
| # apt upgrade
| |
| # apt full-upgrade
| |
| # apt install cron-apt ← vi /etc/cron-apt/config
| |
| # timedatectl status
| |
| # timedatectl set-timezone Asia/Tokyo
| |
| # date
| |
|
| |
| ===RH系===
| |
| # yum update
| |
| # yum install yum-cron
| |
| # timedatectl status
| |
| # timedatectl set-timezone Asia/Tokyo
| |
| # date
| |
|
| |
| ===エイリアスの追加===
| |
| $ vi .bash_aliases
| |
| alias ls='ls -lh --color=auto'
| |
| alias less='less -N'
| |
| alias ..='cd ..'
| |
|
| |
|
| ===必要パッケージの追加=== | | ===必要パッケージの追加=== |
103行目: |
16行目: |
| $ dpkg -i /tmp/moz0/google-chrome-stable.deb | | $ dpkg -i /tmp/moz0/google-chrome-stable.deb |
|
| |
|
| ==4. ファイアウォールとセキュリティ== | | ==ファイアウォール== |
| ===Debian系=== | | ===Debian系=== |
| # systemctl status ufw | | # systemctl status ufw |
123行目: |
36行目: |
| # vi /etc/selinux/config | | # vi /etc/selinux/config |
|
| |
|
| ==5. 起動サービスの確認と停止== | | ==その他の設定== |
| セキュリティを考慮して使わないサービスは停止。自動起動も無効にする。
| |
|
| |
|
| # systemctl -t service | grep running
| | ===Kali の場合=== |
| # systemctl stop [service] | | ブルートゥースを稼働させる。 |
| # systemctl disable [service] | | # systemctl enable bluetooth |
| | # systemctl start bluetooth |
|
| |
|
| * デフォルトで [[稼働しているサービス(Debian系)]]
| | ===Raspberry Pi の場合=== |
| * デフォルトで [[稼働しているサービス(RH系)]]
| | 以下のコマンドでキーボードレイアウトやタイムゾーン、Wi-Fi の設定などができる。 |
| | $ sudo raspi-config |
|
| |
|
| ==6. ポートの確認== | | ===RH系=== |
| # ss -tan
| | # yum update |
| # lsof -i:20031 ← To find out name of services
| | # yum install yum-cron |
| | | # timedatectl status |
| ==7. ネットワークの構築==
| | # timedatectl set-timezone Asia/Tokyo |
| ===ローカルエリア内の場合===
| | # date |
| # L2スイッチ、又は L3スイッチ(≒ルータ)に LANケーブルが接続されていることを確認
| |
| # DHCP を使う場合はマシンの MACアドレスで IPアドレスを予約
| |
| # DHCP を使わない場合は各マシンに自分で IPアドレスを割り当てる
| |
| # ping を飛ばして疎通確認
| |
| | |
| # ifconfig # ip addr show | |
| # nmcli device # nmcli d | |
| # nmcli connection
| |
| # nmtui #「自動的に接続」にチェック
| |
| # ping 192.168.0.2
| |
| | |
| ===ルータを超える場合===
| |
| # route
| |
| | |
| ===SSH接続でリモートログイン===
| |
| [リモート]
| |
| # systemctl status sshd
| |
| # vi /etc/ssh/sshd_config ← ポート変更、パスワード認証一時許可
| |
| # ufw status verbose
| |
| # ufw limit 23098/tcp comment 'SSH port'
| |
| # ufw allow from 10.0.1.2 to any port 23098
| |
| # firewall-cmd --list-services
| |
| # firewall-cmd --list-all
| |
| # firewall-cmd --add-port=92838/tcp --permanent
| |
| # semanage port -a -t ssh_port_t -p tcp 92838 ← yum provides */semanage
| |
| # semanage port -l | grep ssh ← SELinux もチェック
| |
| # dpkg-reconfigure openssh-server ← ホストキーは既知なので再生成 | |
| # ls /etc/ssh ← 新しいホストキーのリスト | |
| # ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
| |
| # vi /etc/ssh/sshd_config ← パスワード認証禁止 | |
| # systemctl restart sshd
| |
| # ls -l .ssh/authorized_keys
| |
|
| |
|
| [ローカル]
| | ===ソフト (機能) の追加=== |
| # systemctl status sshd
| |
| # ssh-keygen -t rsa
| |
| # vi ~/.ssh/config
| |
| # ssh-copy-id ubu1go
| |
| # ssh-add
| |
| # ssh-add -l
| |
| # ssh ubu1go
| |
|
| |
|
| * ssh-copy-id など、入っていないコマンドがあったら apt や yum でインストール
| | * [[Webサーバ機能の追加]] |
| | * [[DNSサーバ機能の追加]] |
|
| |
|
| ==7. その他== | | ==デスクトップ環境== |
| ===conky=== | | ===conky=== |
| # apt install -y conky | | # apt install -y conky |
インストールするOSは最低限の機能を含んだもの「Minimal」を選択する。必要なソフトは必要になったら適宜インストールする。必要なのはサーバ環境なのでGUI環境はインストールしない。
Ctrlキーを有効化(設定ファイル)
# vi /etc/default/keyboard
XKBOPTIONS="ctrl:swapcaps"
XKBOPTIONS="ctrl:nocaps"
# systemctl restart console-setup
Ctrlキーを有効化(コマンドライン)
$ gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:swapcaps']"
$ gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"
必要パッケージの追加
$ apt install terminator
$ dpkg -i /tmp/moz0/google-chrome-stable.deb
ファイアウォール
Debian系
# systemctl status ufw
# ufw enable
# ufw status verbose
# ufw status numbered
# ufw allow http
# ufw limit 23098/tcp comment 'SSH port' ← ポートを許可(マニュアル)
# ufw allow from 192.168.0.2/24 to any port 23098
# ufw status numbered
# ufw delete 2 ← specify a port number
RH系
# firewall-cmd --get-default
# firewall-cmd --list-services
# firewall-cmd --list-all
# getenforce
# setenforce 1
# vi /etc/selinux/config
その他の設定
Kali の場合
ブルートゥースを稼働させる。
# systemctl enable bluetooth
# systemctl start bluetooth
Raspberry Pi の場合
以下のコマンドでキーボードレイアウトやタイムゾーン、Wi-Fi の設定などができる。
$ sudo raspi-config
RH系
# yum update
# yum install yum-cron
# timedatectl status
# timedatectl set-timezone Asia/Tokyo
# date
ソフト (機能) の追加
デスクトップ環境
conky
# apt install -y conky
# vi ~/.conkyrc ← 既存のものを参照
# cat <<EOF > ~/.config/autostart/conky.desktop
[Desktop Entry]
Type=Application
Exec=/usr/bin/conky
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=conky
Comment=
EOF