1. 程式人生 > >ubuntu 16.04.1 LTS 初始化

ubuntu 16.04.1 LTS 初始化

test shanghai ubuntu nap sysctl fail2ban all rtu system

gcc環境
------------------
sudo apt-get update && \
sudo apt-get install build-essential software-properties-common -y && \
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
sudo apt-get update && \
sudo apt-get install gcc-snapshot -y && \
sudo apt-get update && \
sudo apt-get install gcc-6 g++-6 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 && \
sudo apt-get install gcc-4.8 g++-4.8 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8


編譯安裝lrzsz
---------------------
cd /tmp
wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
./configure && make && make install
ln -s /usr/local/bin/lrz /usr/bin/rz
ln -s /usr/local/bin/lsz /usr/bin/sz
rm -rf /tmp/lrzsz*


上傳初始化腳本和startup.tar.gz,並執行
----------------------------------------
Os_Init_Optimization.sh

#!/bin/bash

#解壓縮startup.tar.gz包
cd /tmp && tar -zxf startup.tar.gz

#下載工具及時間同步工具
apt-get install -y wget
apt-get install -y ntpdate
ntpdate -d cn.pool.ntp.org
date

#修改時區
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


echo "##### update server time #####" >> /var/spool/cron/crontabs/root
echo "*/10 * * * * /usr/sbin/ntpdate cn.pool.ntp.org > /dev/null 2>&1 && /sbin/clock -w > /dev/null 2>&1" >> /var/spool/cron/crontabs/root
echo "" >> /var/spool/cron/crontabs/root
echo "##### history #####" >> /var/spool/cron/crontabs/root
echo "*/5 * * * * /usr/local/gacp/worksh/history.sh > /dev/null 2>&1" >> /var/spool/cron/crontabs/root
echo "" >> /var/spool/cron/crontabs/root
echo "##### Logs #####" >> /var/spool/cron/crontabs/root
echo "00 00 * * * /usr/local/gacp/worksh/del_100day_before_logs.sh > /dev/null 2>&1" >> /var/spool/cron/crontabs/root
echo "00 00 * * * /usr/local/gacp/worksh/log_rotate.sh > /dev/null 2>&1" >> /var/spool/cron/crontabs/root
echo "" >> /var/spool/cron/crontabs/root

#file size
sed -i ‘N;14iulimit -SHn 65535‘ /etc/rc.local
cat >> /etc/security/limits.conf << EOF
* soft nofile 60000
* hard nofile 65535
EOF

#sysctl.conf
cat >> /etc/sysctl.conf <<eof

# NEW ADD
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_max_tw_buckets = 65535

net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 131070
net.core.somaxconn = 20480
eof

/sbin/sysctl -p


DATE=`date +%Y%m%H`

#add lsyw user
/usr/sbin/useradd lsyw
echo ‘lsyw:xxxxx‘ | /usr/sbin/chpasswd

#ssh
DATE=`date +%Y%m%H`
ssh_cf="/etc/ssh/sshd_config"

cp $ssh_cf $ssh_cf.$DATE
sed -i "s/Port 22/Port 50000/" $ssh_cf
sed -i ‘s/^PermitRootLogin yes/PermitRootLogin no/‘ $ssh_cf
sed -i ‘$aAllowUsers lsyw‘ $ssh_cf
systemctl restart ssh

#防爆破登錄
apt-get install -y fail2ban

mv /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.$DATE
cp -ap .file/jail.conf /etc/fail2ban/

mkdir /usr/local/gacp/worksh -p
cp -ap ./file/history.sh ./file/log_rotate.sh ./file/del_100day_before_logs.sh /usr/local/gacp/worksh/


防火墻iptable
----------------------
由於Ubuntu使用iptable比較特殊,不能在腳本中操作,需要依下面步驟操作:

1. 為了保存iptables規則,需要安裝兩個包
apt-get install iptables-persistent netfilter-persistent

2. 修改防火墻:vi /etc/iptables/rules.v4
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50000 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

3. 應用防火墻規則:
iptables-restore < /etc/iptables/rules.v4

4. 重啟fail2ban
systemctl restart fail2ban

chkconfig 替代 sysv-rc-conf
-------------------------------------
安裝: apt-get install -y sysv-rc-conf
sysv-rc-conf --list
sysv-rc-conf 服務 --levels 2345 on

ubuntu 16.04.1 LTS 初始化