種類:Lubuntu 18.04
目的:暗号化されたファイルをクラウドストレージと同期
主なアプリ:
種類:Lubuntu 18.04
目的:主にメール処理及び文書作業
主なアプリ:
種類:Cyborg Hark
目的:特殊業務専用
UFW を利用して、すべてコネクションを全て Deny に設定する。
sudo ufw default deny incoming
sudo ufw default deny outgoing
外部のネームサーバに対するアクセスを許可
sudo ufw allow out on [NAT_interface] from any port 53 proto udp
外部のWebサーバに対するアクセスを許可 $ sudo ufw allow out on [NAT_interface] from any port 80 proto tcp
sudo ufw allow out on [NAT_interface] from any port 443 proto tcp
ホストOSのストレージへのアクセスを許可
sudo ufw allow out out on [Host-only_interface] from [Host-only_ip] to [HOST-OS_ip] port 445 proto tcp
他のゲストOSのNetShare間のアクセスを許可
sudo ufw allow in on [Host-only_interface] from any to any port 40818 proto tcp
sudo ufw allow in on [Host-only_interface] from any to any port 40816 proto udp
sudo ufw allow out on [Host-only_interface] from any to any port 40818 proto tcp
sudo ufw allow out on [Host-only_interface] from any to any port 40816 proto udp
CIFS (Common Internet File System)を選択した理由:
EncFsを選択した理由:
初期設定のパーミッションが 755 となっているため、ホームディレクトリに対する他のユーザの権限が「読み込み」及び「実行」となっているため、これを回避する必要がある。
sudo chmod 0750 /home/$USER
sudo sed -i "s/DIR_MODE=0755/DIR_MODE=0750/g" /etc/adduser.conf
SSHに関する脆弱性が相次いでいることから、利用する必要性の少ないSSHサーバを削除する。
sudo apt-get remove --purge openssh-server
もし、SSHサーバを利用する場合は、次を設定する必要がある。
sudo addgroup admin
sudo usermod -a -G admin $USER
sudo dpkg-statoverride --update --add root admin 4750 /bin/su
/etc/ssh/sshd_config
PermitRootLogin no
/etc/ssh/sshd_config
PasswordAuthentication no
/etc/ssh/sshd_config
UsePAM no
/etc/ssh/sshd_config
DebianBanner yes
/etc/ssh/sshd_config
Port 2222
UFW(Uncomplicated Firewall;難しくないファイアウォール)をインストールし、許可されたポート以外全て閉鎖して有効にする。
sudo apt-get install ufw
sudo ufw default deny
sudo ufw enable
設定状況を確認すると、次のようになる。
sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
/etc/sysctl.conf ファイルに、セキュリティを向上させる設定をする。
IP偽装から保護する。
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
ICMPブロードキャストリクエストを無視する。
net.ipv4.icmp_echo_ignore_broadcasts = 1
ソースパケットルーティングを禁止する。
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0
リダイレクト送信を無視する。
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
SYN攻撃をブロックする。
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
Martiansのログを取る。
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
ICMPリダイレクトを無視する。
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
直接のpingを無視する。
net.ipv4.icmp_echo_ignore_all = 1
上記の設定を sysctl へリロードする。
sudo sysctl -p
/etc/host.conf に、IPなりまし防止の設定をする。
/etc/host.conf
order bind,hosts
nospoof on
Tiger(セキュリティ監視とシステム侵入検出ができるツール)をインストールする。
sudo apt-get install tiger
このツールを動作させる。
sudo tiger
Logwatch(カスタマイズ可能なログ分析システム)をインストールする。
sudo apt-get install logwatch libdate-manip-perl
このツールを動作させて、出力データを確認する。
sudo logwatch | less
RKHunterとCHKRootkitをインストールする。
sudo apt-get install rkhunter chkrootkit
RKHunterを実行する。
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check
chkrootkitを実行する。
sudo chkrootkit
iptablesの補助アプリケーションであるipsetをインストールする。
sudo apt-get install ipset
I-BlockList の Bluetack LEVEL 1 のリストを導入をするため、(そのリストがネットワークアドレスであることから)TYPE名を hash:netとして 、SET名を LEVEL1を作成する。
sudo ipset create LEVEL1 hash:net maxelem 262144
このリストは、p2pフォーマットであるため、次のようなスクリプトでipsetにストアする。
curl -L "http://list.iblocklist.com/?list=ydxerpxkpcfqjaybcssw&fileformat=p2p&archiveformat=gz" |
gunzip |
cut -d: -f2 |
grep -E "^[-0-9.]+$" |
gawk '{print "add LEVEL1 "$1}' |
sudo ipset restore -exist
作成したLEVEL1 のセットをiptablesに追加
iptables -I INPUT -m set --match-set LEVEL1 src -j DROP
iptables -I OUTPUT -m set --match-set LEVEL1 dst -j DROP
RKHunterの実行
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check
CHKRootKitの実行
sudo chkrootkit
TCP及びSYN接続スキャン
nmap -v -sT localhost
sudo nmap -v -sS localhost
過去7日分のLogwatchレポートの出力
sudo logwatch --output file --filename ./$(date +%Y%m%d)-logwatch --range 'between -7 days and today'
Tigerの実行
sudo tiger
curl -L "http://list.iblocklist.com/?list=ydxerpxkpcfqjaybcssw&fileformat=p2p&archiveformat=gz" |
gunzip |
cut -d: -f2 |
grep -E "^[-0-9.]+$" |
gawk '{print "add LEVEL1 "$1}' |
sudo ipset restore -exist
ゲストOSとして新規 Lubuntu 18.04 を導入したところ、次のコマンドで vboxadd.service の動作状況を確認したところ、動作していなかった。
sudo systemctl status vboxadd-service
FAQ等を調べたところ、build-essential と module-assistant のパッケージが必要であることがわかったので、これらをインストール及び m-a で prepare してた上で、Geusst Addition CD image にある VBoxLinuxAdditions.run を走らせたところ、正常に動作した。
次のサイトが参考になった。
How to Configure a Firewall with UFW
https://linode.com/docs/security/firewalls/configure-firewall-with-ufw/
公開鍵のエクスポート
gpg -a --export [public.uid] > public.asc
秘密鍵のエクスポート
gpg -a --export-secret-key [secret.uid] > secret.asc
公開鍵の信用情報エクスポート
gpg --export-ownertrust > public_trust
↓
公開鍵のインポート
gpg --import public.asc
秘密鍵のインポート
gpg --import --allow-secret-key-import secret.asc
公開鍵の信用情報インポート
gpg --import-ownertrust public_trust
GPG2.1以降の場合:
Master key 本体の所在確認
ls ~/.gnupg/pricate-keys-v1.d/<KEYGRIP>.key
Master key の <KEYGRIP> を確認及び削除して、sec#(使用不可)となることを確認
gpg -K --with-keygrip
history の長さの変更
HISTSIZE=10
HISTFILESIZE=20
transfer.sh へのファイル転送
transfer() { if [ $# -eq 0 ]; then echo -e "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"; return 1; fi
tmpfile=$( mktemp -t transferXXX ); if tty -s; then basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g'); curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile; else curl --progress-bar --upload-file "-" "https://transfer.sh/$1" >> $tmpfile ; fi; cat $tmpfile; rm -f $tmpfile; }
pbcopy と pbpaste のエイリアス
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" >> /etc/apt/sources.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
sudo apt-get update
sudo apt-get install oracle-java8-installer
一般業務のためのシステムの概略は、次の図のとおり。