編集の要約なし
 
(同じ利用者による、間の3版が非表示)
1行目: 1行目:
インストールするOSは最低限の機能を含んだもの「Minimal」を選択する。必要なソフトは必要になったら適宜インストールする。サーバはCUIで利用するので、GUI環境はインストールしない。
インストールするOSは最低限の機能を含んだもの「Minimal」を選択する。必要なソフトは必要になったら適宜インストールする。必要なのはサーバ環境なのでGUI環境はインストールしない。
 
==OSインストール==
===一般ユーザの追加===
# useradd hoge -m -s /bin/bash -G sudo
# passwd hoge
# grep sudo /etc/group
# less /etc/passwd
# less /etc/sudoers
 
* Debian系は初めから root は使えない
 
===エイリアスの追加===
$ vi .bash_aliases
alias ls='ls -lh --color=auto'
alias less='less -N'
alias ..='cd ..'
$ . ~/.bash_aliases
 
===SSH接続でリモートログイン===
[港]
# systemctl status sshd
# ss -tan
# netstat -at [-antup]
# vi /etc/ssh/sshd_config
  Port 55555
# systemctl sshd restart
# ss -tan
# lsof -i:55555
# ls /etc/ssh
# ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
# vi /etc/ssh/sshd_config    ← パスワード認証禁止
# ls -l .ssh/authorized_keys
 
[領内]
# ssh-keygen -t ed25519
# vi ~/.ssh/config
  HOST hoge
  HostName moge.vs.sakura.ne.jp
  Port 55555
# ssh-copy-id ubu1go
# ssh-add
# ssh-add -l
# ssh ubu1go
 
* ssh-copy-id など、入っていないコマンドがあったら apt や yum でインストール


===Ctrlキーを有効化(設定ファイル)===
===Ctrlキーを有効化(設定ファイル)===
60行目: 15行目:
  $ apt install terminator
  $ apt install terminator
  $ dpkg -i /tmp/moz0/google-chrome-stable.deb
  $ dpkg -i /tmp/moz0/google-chrome-stable.deb
== セキュアなサーバ設定 ==
* 全てのパッケージを最新のものにアップデートしてシステムを最新の状態にする
# apt update
# apt upgrade
# apt full-upgrade
* ソフトウェアパッケージのアップデートを自動化する。そのためにも、ソフトは基本的にapt等パッケージ管理システムからインストールする
# apt install cron-apt    ← vi /etc/cron-apt/config(アプデ自動化)
# timedatectl status
# timedatectl set-timezone Asia/Tokyo
# date
* 起動サービスの確認と停止。セキュリティを考慮して使わないサービスは停止、自動起動も無効にする。
# systemctl -t service | grep running
# systemctl stop [service]
# systemctl disable [service]
* デフォルトで [[稼働しているサービス(Debian系)]]
* デフォルトで [[稼働しているサービス(RH系)]]
* 不要なサービスは脆弱性の元なので全て停止する。ランレベル3(CUIモード)で自動起動するサービスを確認して停止、自動起動をオフにする
# chkconfig --list | grep 3:on
# service auditd stop
# service netfs stop
auditd(コマンド監視), ip6tables(IP6利用), netfs(NFSクライアント), postfix(SMTPサーバ利用)
* メールサーバなど、ユーザアカウントは必要だけどシェルログインは不要なユーザは、ログインシェルを「/sbin/nologin」か「/bin/false」にする
#useradd -s /sbin/nologin march
#usermod -s /sbin/nologin march
* SSHで root ログインを禁止する
* rootログインが可能な端末名を全て削除して、rootログインを全面的に禁止する
/etc/ssh/sshd_config
#PermitRootLogin no
# echo > /etc/securetty
* ユーザがディスクの空き容量を使い切ってしまわないように、ユーザが利用するファイルシステムには独立したパーティションを割り当てる
* 変更されないデータを格納するファイルシステムは、リードオンリーでマウントすることによりファイルの改竄や破壊行為を抑えられる
* アドレススキャン(港探索)回避のためにブロードキャスト宛リクエストを無視する。下記の設定ファイルに追記
/etc/sysctl.conf
net.ipv4.icmp_echo_ignore_broadcast=1


==ファイアウォール==
==ファイアウォール==

2023年3月29日 (水) 13:07時点における最新版

インストールする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