kaliLinuxベアメタルを使うに当たって今のPCの状態がどうなっているのかを把握するために記載。
IaC使えば良いんだろうけど、手軽さが無くなるためやめた。
インストール時
3種のデスクトップマネージャのインストール
言語設定英語
地域設定日本
インストール後
aptでのサクッとインストール
apt update
apt full-upgrade # ディストリビューション自体のアップグレード 不要だが、いちおう確認
apt upgrade -y
apt install -y aptitude
apt install -y cu # screenはもとから入ってたけど一応
apt install -y neofetch
apt install -y ibus-mozc --> rebbot
chromeのインストール --> reboot フォント設定を好みに変更 そのままだと明朝体がメインになってた
apt install -y boxes
apt install -y virtualbox
apt install -y docker.io
apt install -y docker-compose
apt install -y pandoc
apt install -y remmina
apt install -y sl
Python関連
Jypyter-Notebook
pip install notebook
export PATH="/home/<usernameを入れる>/.local/bin:$PATH"
pyenv関連
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo '' >> ~/.zshrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
source ~/.zshrc
pyenv -v
sudo apt install -y libbz2-dev
sudo apt install -y libreadline-dev
sudo apt install -y libssl-dev
pyenv install 3.12.0
pyenv global 3.12.0
適当にすべてを最新バージョンに()
pip list -o | awk '{print $1}' >pythonversion.txt && cat ./pythonversion.txt | awk 'NR>=3' | xargs pip install -U && rm pythonversion.txt
IPAフォント よくわからんがとりあえず
sudo apt install -y fonts-ipafont
fc-cache -fv
fc-list | grep -i ipa
音
スピーカ 起動後スピーカから音が出ない、dummyinputしか出力がない場合のみ
pulseaudioが入っていない場合はapt install -y pulseaudio
systemctl --user enable pulseaudio
Bluetooth(特に意味なかった もともと高音質)
sudo apt install -y pulseaudio-module-bluetooth
sudo apt install -y libldacbt-enc2
プリンタ
設定のプリンタの項目で表示がトラブってる感じだったら実行
sudo apt install -y cups-daemon
iptables
iptablesの後継で高速化されたnftablesが入ってる。nftコマンドが利用可能であるが、iptablesコマンドでもできることは同じらしいということで。
# 初期化
sudo iptables --flush
# 全通信の拒否
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT DROP
sudo iptables -P FORWARD DROP
# ループバックインタフェースでのすべての送受信の許可
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
# 送信に対する受信を許可
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# DNS通信の送信許可(TCP,UDP port53)
sudo iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
# NTP通信の送信許可
sudo iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
# HTTP HTTPS通信の送信許可
sudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
# SSH通信の送信許可
sudo iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
# ICMP通信の送受信許可
sudo iptables -A INPUT -p icmp -j ACCEPT
sudo iptables -A OUTPUT -p icmp -j ACCEPT
# cloudflare-warpの通信許可
# https://qiita.com/KeioCF/items/5699bb95104d10d18d19
sudo iptables -A OUTPUT -p udp --dport 2408 -j ACCEPT
WARP
$(lsb_release -cs)をbookwormに書き換えて実行。kali用のパッケージが無いため、debian用のパッケージを拝借。kaliはdebian派生だからいけるかと。
sudo curl https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
sudo apt-get update && sudo apt-get install cloudflare-warp
warp-cli register
warp-cli connect
下記コマンドで"warp=on"があれば接続OK
curl https://www.cloudflare.com/cdn-cgi/trace/
"warp=off"であれば、ログを確認し原因を突き止めよ。iptablesの穴開けを忘れていないかな?
cat /var/log/cloudflare-warp/cfwarp_service_log.txt
デスクトップに秒を表示
gsettings set org.gnome.desktop.interface clock-show-seconds true
ClamAV
ここは要検討 不要論あるし。
sudo apt install clamav-daemon clamav-base clamav-freshclam
sudo systemctl start clamav-daemon.service
sudo clamscan -r /
rootユーザのPW設定
ユーザのログイン可能状況の確認
/etc/passwdでrootと現在のユーザ以外のデフォルトシェルが、ログインできないシェルになっているかを確認
各行の末尾がnologinやfalseであれば、いけてる
LaTeX
sudo apt install texlive-full -y
snapでのインストール
sudo apt install -y snapd
sudo systemctl enable --now snapd.apparmor
sudo snap find spectacle
sudo snap install onlyoffice-ds
sudo snap install onlyoffice-desktopeditors
検討事項
- aptリポジトリの場所選び。
- 現状はデフォルト
- 日本国内のところにする
- https://launchpad.net/ubuntu/+archivemirrors
- Ubuntuのリポジトリとか、他のディストリビューションのリポジトリを参照してしまってよいのか
- sudoersでパスワードレスでsudoコマンドを使用できるようにするか
- 実施するメリット
- sudoの度にPWを聞かれないため楽である。
- PWの覗き見によるPW漏洩の機会削減
- 実施するデメリット
- 離席時に他人にPC触られたら全てが終わる
- WinLocの徹底
- サスペンドまでの時間の短縮
- 離席時に他人にPC触られたら全てが終わる
- 代案 パスワードレスにするコマンドのホワイトリスト化
- 実施するメリット
- ICMPのINPUTは果たして開ける必要があるのか
- pingdeath攻撃対策とか()
- 【保留】gconf2パッケージが入らないが、どうするか
- mattermost,onlyoffice
- 【終了】UDP INPUT traceroute
- tracerouteはLinuxではUDPである。パケットを見てもクライアントへの正当な応答であるかが判別できない。
- 対処
- 【採用】tracerouteにIオプションTオプションをつけ、ICMP、TCPでtracerouteする。
- 不要な穴あけ不要。
- 【不採用】traceroute用にポートを決めておき、そのポートに限りUDPのINPUTを許可
- tracerouteのために穴開けるのは馬鹿らしい
- 【採用】tracerouteにIオプションTオプションをつけ、ICMP、TCPでtracerouteする。
保留
- gconf2のパッケージが必要であることによる問題
- OnlyOfficeのインストール --> gconf2のインストールが必要で、これは非推奨になり、今後使われなくなる可能性が高いパッケージであるため。
- Mattermostのインストール --> gconf2のインストールが必要で、これは非推奨になり、今後使われなくなる可能性が高いパッケージであるため。