You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
201 lines
5.1 KiB
201 lines
5.1 KiB
4 years ago
|
#!/bin/bash
|
||
|
set -x
|
||
|
exit
|
||
|
|
||
|
passwd # root
|
||
|
# copy over ssh key
|
||
|
|
||
|
chmod og-rwx ~debian
|
||
|
mkdir -p ~debian/.ssh
|
||
|
cp -p ~root/authorized_keys ~debian/.ssh/
|
||
|
chmod -R og-rwx ~debian/.ssh
|
||
|
chown -R debian:debian ~debian/.ssh
|
||
|
|
||
|
|
||
|
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
|
||
|
locale-gen
|
||
|
update-locale
|
||
|
ln -sf /usr/share/zoneinfo/UTC /etc/localtime
|
||
|
|
||
|
rm -f /etc/apt/sources.list.d/*.list
|
||
|
|
||
|
cat > /etc/apt/sources.list <<EOF
|
||
|
deb http://deb.debian.org/debian/ buster-backports main
|
||
|
deb http://deb.debian.org/debian/ buster main
|
||
|
deb http://deb.debian.org/debian/ buster-updates main
|
||
|
deb http://security.debian.org/ buster/updates main
|
||
|
EOF
|
||
|
|
||
|
echo "RESUME=none" > /etc/initramfs-tools/conf.d/resume
|
||
|
|
||
|
echo 'Acquire::ForceIPv4 "true";' | tee /etc/apt/apt.conf.d/99force-ipv4
|
||
|
|
||
|
# XXX nameservers
|
||
|
echo "nameserver 208.67.222.222" > /etc/resolv.conf
|
||
|
echo "nameserver 208.67.220.220" >> /etc/resolv.conf
|
||
|
|
||
|
apt-get update
|
||
|
|
||
|
iptables -L -n || DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" install iptables
|
||
|
|
||
|
cat > /etc/network/if-pre-up.d/iptables <<EOF
|
||
|
#!/bin/bash
|
||
|
# iptables
|
||
|
/sbin/iptables-restore < /etc/iptables.up.rules
|
||
|
EOF
|
||
|
|
||
|
cat > /etc/iptables.test.rules <<EOF
|
||
|
# iptables.test.rules
|
||
|
*filter
|
||
|
|
||
|
# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
|
||
|
-A INPUT -i lo -j ACCEPT
|
||
|
|
||
|
# Accepts all established inbound connections
|
||
|
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||
|
|
||
|
# Allows all outbound traffic
|
||
|
# You could modify this to only allow certain traffic
|
||
|
-A OUTPUT -j ACCEPT
|
||
|
|
||
|
# SSH Access Port
|
||
|
-A INPUT -p tcp --dport 42661 -j ACCEPT
|
||
|
|
||
|
# Ethereum
|
||
|
-A INPUT -p tcp --dport 30303 -j ACCEPT
|
||
|
-A INPUT -p udp --dport 30303 -j ACCEPT
|
||
|
|
||
|
# Allow ping
|
||
|
#-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
|
||
|
# log iptables denied calls (access via 'dmesg' command)
|
||
|
|
||
|
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
|
||
|
|
||
|
# Reject all other inbound - default deny unless explicitly allowed policy:
|
||
|
-A INPUT -j REJECT
|
||
|
-A FORWARD -j REJECT
|
||
|
COMMIT
|
||
|
EOF
|
||
|
|
||
|
touch /etc/iptables.up.rules
|
||
|
chmod 600 /etc/iptables.up.rules
|
||
|
chmod 755 /etc/network/if-pre-up.d/iptables
|
||
|
chmod 600 /etc/iptables.test.rules
|
||
|
|
||
|
iptables-restore < /etc/iptables.test.rules
|
||
|
iptables -L -n
|
||
|
iptables-save > /etc/iptables.up.rules
|
||
|
|
||
|
cat > /root/iptables-reload <<EOF
|
||
|
iptables-restore < /etc/iptables.test.rules
|
||
|
iptables-save > /etc/iptables.up.rules
|
||
|
EOF
|
||
|
chmod 700 /root/iptables-reload
|
||
|
|
||
|
apt-get update
|
||
|
apt-get -y autoremove --purge
|
||
|
apt-get -y purge --autoremove \
|
||
|
apache2 \
|
||
|
chrony \
|
||
|
exim4-base \
|
||
|
exim4-config \
|
||
|
man-db \
|
||
|
manpages \
|
||
|
postfix \
|
||
|
reportbug \
|
||
|
rpcbind \
|
||
|
snmpd \
|
||
|
unscd \
|
||
|
xinetd
|
||
|
|
||
|
apt-get -y dist-upgrade --download-only
|
||
|
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" dist-upgrade
|
||
|
|
||
|
DEBIAN_FRONTEND=noninteractive apt-get -y \
|
||
|
-o Dpkg::Options::="--force-confdef" \
|
||
|
-o Dpkg::Options::="--force-confnew" \
|
||
|
install \
|
||
|
bzip2 \
|
||
|
ca-certificates \
|
||
|
debian-archive-keyring \
|
||
|
haveged \
|
||
|
host \
|
||
|
less \
|
||
|
locales \
|
||
|
lsb-release \
|
||
|
net-tools \
|
||
|
parted \
|
||
|
psmisc \
|
||
|
sudo \
|
||
|
traceroute \
|
||
|
vim \
|
||
|
wget
|
||
|
|
||
|
apt-get clean
|
||
|
|
||
|
adduser debian sudo
|
||
|
|
||
|
echo ":syntax on" > ~/.vimrc
|
||
|
|
||
|
# XXX turn off macros in clusterssh
|
||
|
sed -i -e 's/%sudo\tALL=(ALL:ALL) ALL/%sudo ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers
|
||
|
cat /etc/sudoers
|
||
|
|
||
|
echo ":syntax on" > ~debian/.vimrc
|
||
|
|
||
|
# TEST XMR LOGIN BEFORE REBOOT!
|
||
|
# Port 42661
|
||
|
sed -i \
|
||
|
-e 's/\#PermitRootLogin prohibit-password/PermitRootLogin no/g' \
|
||
|
-e 's/\#Port 22/Port 42661/g' \
|
||
|
-e 's/\PermitRootLogin yes/PermitRootLogin no/g' \
|
||
|
-e 's/\#PasswordAuthentication no/PasswordAuthentication no/g' \
|
||
|
-e 's/RSAAuthentication yes/RSAAuthentication no/g' \
|
||
|
-e 's/X11Forwarding yes/X11Forwarding no/g' \
|
||
|
/etc/ssh/sshd_config
|
||
|
|
||
|
echo "AllowUsers debian" >> /etc/ssh/sshd_config
|
||
|
|
||
|
for i in plymouth rpcbind rsync saslauthd unattended-upgrades
|
||
|
do echo $i
|
||
|
/usr/sbin/update-rc.d $i stop
|
||
|
/usr/sbin/update-rc.d $i disable
|
||
|
done
|
||
|
|
||
|
# keep quiet for now am6 console serial is slow ? rm quiet
|
||
|
#sed -i -e 's/^GRUB_TIMEOUT=5/GRUB_TIMEOUT=0/g' /etc/default/grub
|
||
|
#sed -i -e 's/^GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="ipv6.disable=1"/g' /etc/default/grub
|
||
|
# GRUB_CMDLINE_LINUX_DEFAULT="quiet"
|
||
|
# GRUB_CMDLINE_LINUX="console=tty0 console=ttyS1,115200n8 ipv6.disable=1"
|
||
|
|
||
|
grub-install /dev/sda
|
||
|
update-grub
|
||
|
|
||
|
echo blacklist ipv6 > /etc/modprobe.d/ipv6.conf
|
||
|
echo alias net-pf-10 off >> /etc/modprobe.d/aliases.conf
|
||
|
echo alias ivp6 off >> /etc/modprobe.d/aliases.conf
|
||
|
cat >> /etc/sysctl.conf <<EOF
|
||
|
net.ipv6.conf.all.disable_ipv6 = 1
|
||
|
net.ipv6.conf.default.disable_ipv6 = 1
|
||
|
net.ipv6.conf.lo.disable_ipv6 = 1
|
||
|
#net.ipv6.conf.ens3.disable_ipv6 = 1
|
||
|
EOF
|
||
|
sysctl -p
|
||
|
|
||
|
cat /etc/network/interfaces
|
||
|
sed -i -e 's/allow-hotplug/auto/g' /etc/network/interfaces
|
||
|
|
||
|
cat /etc/hosts
|
||
|
cat /etc/hostname
|
||
|
hostname > /etc/hostname
|
||
|
echo "127.0.1.1 `hostname`" >> /etc/hosts
|
||
|
|
||
|
rm /etc/ssh/ssh_host_*
|
||
|
dpkg-reconfigure openssh-server
|
||
|
|
||
|
systemctl restart sshd
|
||
|
# TEST SSH
|
||
|
# ssh xmr@foo
|
||
|
# sudo su -
|
||
|
# reboot
|