廈門中小企業的專業IT外包服務商

咨詢電話:18054818869

IT分享庫

KNOWLEDGE BASE

服務于廈門中小企業的IT外包公司
低成本、高服務、高效率

廈門it外包,廈門it外包公司,it外包,it外包服務,it服務外包

IT知識庫

IT知識庫

IT外包行業

IT雜談

IT企業應用

門禁監控考勤

購買 Linux VPS 服務器后簡單的安全設置

來源:admin  瀏覽量:  發布時間:2014-11-08 19:46:59

我們在購買了 Linux 系統的 VPS 或服務器后,一般的商家都會給你一個 root 權限的賬號,并且默認的密碼不會太長,這是很不安全的。經常有客戶因為弱口令而被黑客暴力破解密碼導致 VPS 服務器被入侵,并用來干壞事。

所以,在開通了 Linux 系統的 VPS 或服務器后,我們有必要做一些基本的安全設置。

一、關閉 SSH 密碼登陸

首先,你需要有自己的 SSH Key,如果你使用 Windows 系統,可以用 Putty 下的 PUTTYGEN.EXE 生成私匙和公匙。

第一步,運行 PUTTYGEN.EXE

1.png

一般,我們選擇默認的 RSA 加密即可,默認的 1024 位加密足夠用,如果要保險點,可以選擇 2048 或 4096 位加密,如圖紅圈處:

2.png

第二步,點擊 Generate ,然后鼠標隨意在空白處移動

3.png

等進度條滿了,就生成好你的 SSH Key 了:

4.png

如果要更安全一點,可以設置 Key Passphrase ,也就是密碼,這個密碼和 root 密碼不同,一旦別人獲取了你的 Key ,沒有這個密碼他也加載不了你的 Key。

第三步,點擊 Save Public Key 保存你的公匙,整個文件如下

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "showfom-rsa-key-20130701"
AAAAB3NzaC1yc2EAAAABJQAAAQEAna/D52fTZ1YNjxnwAJAUhxRdPCwar8ZfWLdw
HEmT64Zqtxrz65KRxesHFRVND8Xn1GKtuQIQMu/d5fFhEajFbjoSw/n+Mz58irzU
XDbE34Y/nxy1/iWc6aJz6lX6wT7nnDcVoqX8Be8j/8sjS7cMFarn3Iy+0bSQNON3
681+hEFM7mpoYyqrCVBpARfiiEZb8tNkfzrKJFrciZ87yaKkncPeDCIbYKjuJY2h
ciK+Y+IptLdoMj5kQkSXStJFQUfFg+s3FQJ9Istu4C7BF3ZafD4mEupA7P90RRUj
Lj95mUW/P/ebWGsMVbnxz/Xmq3OL/TOuo85umbSN44DmSB3NEQ==
---- END SSH2 PUBLIC KEY ----

其中中間那么長長的一串,就是你的公匙了,可以放在服務器的 ~/.ssh/authorized_keys ,我們應采取以下的格式:

1

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAna/D52fTZ1YNjxnwAJAUhxRdPCwar8ZfWLdwHEm

T64Zqtxrz65KRxesHFRVND8Xn1GKtuQIQMu/d5fFhEajFbjoSw/n+Mz58irzUXDbE34Y/nxy1/iW

c6aJz6lX6wT7nnDcVoqX8Be8j/8sjS7cMFarn3Iy+0bSQNON3681+hEFM7mpoYyqrCVBpARfiiEZb

8tNkfzrKJFrciZ87yaKkncPeDCIbYKjuJY2hciK+Y+IptLdoMj5kQkSXStJFQUfFg+s3FQJ9Istu

4C7BF3ZafD4mEupA7P90RRUjLj95mUW/P/ebWGsMVbnxz/Xmq3OL/TOuo85umbSN44DmSB3NEQ==

showfom-rsa-key-20130701

其中 ssh-rsa 為加密類型, showfom-rsa-key-20130701 為說明,可以是任意文本,如 showfom-notebook

第四步,點擊 Save Private Key 生成用于 Putty 的私匙,這里我們保存為 showfom.ppk ,整個文件如下

PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: Showfom
Public-Lines: 4
AAAAB3NzaC1yc2EAAAABJQAAAIBTILl54rOaEEkv95VKR6IEZ9Y0d1IpNNQeyk+e
yHPtc7jVTmfL0oiho9s2UqquaNGmLmzLjhXRj3cPZ1VZInPFqVtgWYKWPEpGckGI
7/iTpNUuz6tKguEi5RYaEtfgKWF13qC5S8dWlk2FGv7dY5GbSoZMHZtc+zTL9Jpn
NCa5nw==
Private-Lines: 8
AAAAgEWly9TSsiciZtUpYWe/eegD+Kh/pbPSUNuG6MNOAEN8ocd5Ctsz2kI9LUkw
gSpX0j8f+kmuZU62eIKHAlGZZ+nVyklcHE7qFO2AyMCuniUYm0mgdN5gjXUBFduV
VTjIaYwd282Yo0xtjPWN0DJF3jmmsrw6pwMwaa6r6pAlKANtAAAAQQClYrYCu3eu
0GcGw9G2MVLIZoHoKYPL2e6HjfPQhvsze6AKUzpTF/DGMkBFY6dH//0zSoHue2jn
gNsaLQygBvT/AAAAQQCArGNL76eXHtR28TRY2PONg8ij3YN9mCzYG3sDsV8feGAk
RyZ8T5b6xZuf9UyvZ1lIA10i7ULZ63s2hvCZUxthAAAAQD+auXN8fUAylROh8zTM
14FyY7GRwdN7y7+EtZ8NuVDLvZP9Svpd4V5Ti9LpqjtiUcp0eELCd5i7zxyV2oHe
U78=
Private-MAC: ce0968aff198e2c2550704625b23ba7575e6b260

這個 showfom.ppk 你需要通過 Putty 目錄下的 PAGEANT.EXE 導入,這樣你就可以不需要輸入 root 密碼即可登錄你的 VPS。

PS: WinSCP 和 Putty 的 SSH Key 是通用的,只需要導入一次即可。

但是 Putty 的 Private Key 是不標準的,只能用于 Putty 或 WinSCP ,如果你使用 Xshell 4 ,則需要轉換成 rsa 文件,可以在 PUTTYGEN.EXE 上方菜單里的 Conversions > Export OpenSSH Key 方式轉換。

第五步,導入你的 Linux VPS 或服務器

如果你本地是 Linux 桌面環境,可以很簡單的一條命令搞定:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

但是大多數用戶還是 Windows 用戶,所以我建議兩種比較簡單的方法

1、把自己的公匙放在 https://launchpad.net/ 網站,并得到類似 https://launchpad.net/~showfom/+sshkeys 這樣的地址,然后通過以下命令導入你的 Key

curl https://launchpad.net/~showfom/+sshkeys > ~/.ssh/authorized_keys

如果沒有 .ssh 目錄,可以新建立一個

mkdir .ssh

2、也可以直接寫入 authorized_keys 文件

1

2

3

4

cat >>/root/.ssh/authorized_keys<<EOF

 

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAna/D52fTZ1YNjxnwAJAUhxRdPCwar8ZfWLdwHE

mT64Zqtxrz65KRxesHFRVND8Xn1GKtuQIQMu/d5fFhEajFbjoSw/n+Mz58irzUXDbE34Y/nxy1

/iWc6aJz6lX6wT7nnDcVoqX8Be8j/8sjS7cMFarn3Iy+0bSQNON3681+hEFM7mpoYyqrCVBpARf

iiEZb8tNkfzrKJFrciZ87yaKkncPeDCIbYKjuJY2hciK+Y+IptLdoMj5kQkSXStJFQUfFg+s3FQ

J9Istu4C7BF3ZafD4mEupA7P90RRUjLj95mUW/P/ebWGsMVbnxz/Xmq3OL/TOuo85umbSN44DmSB

3NEQ== showfom-rsa-key-20130701EOF

在某些服務商的 CentOS 系統里,由于開啟了 SELinux ,默認是禁止了 .ssh 目錄的權限的,可以用下面的命令解除限制:

restorecon -R -v /root/.ssh

如果遇到 authorized_keys 權限問題,可用如下命令解決:

chattr -i authorized_keys

然后你可以重啟開啟一個 SSH 窗口,測試是否不需要輸入密碼即可用 root 登陸。

第六步,關閉 SSH 密碼登陸

編輯 SSH 配置文件:

vim /etc/ssh/sshd_config

找到

#PasswordAuthentication yes

并改為

PasswordAuthentication no

保存,退出,重啟 SSH 服務

Ubuntu 下:

/etc/init.d/ssh restart

CentOS 下:

service sshd restart

好了,這樣禁止 SSH 密碼登陸就大功告成,這一步就拒絕了 90% 的入侵危險,當然,你自己的私匙一定要保存好,否則被別人偷走可是不需要密碼就能進你的服務器哦。

二、安裝 CSF 防火墻屏蔽嘗試入侵服務器的 IP

CSF 防火墻安裝略簡單,幾個命令即可搞定:

rm -fv csf.tgz
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh

然后運行 perl /usr/local/csf/bin/csftest.pl 檢測是否安裝成功

為了防止系統誤屏蔽本地 IP,可以修改 /etc/csf/csf.allow 和 /etc/csf/csf.ignore 文件加入你需要的白名單 IP ,然后用 csf -r 命令重啟讀取配置文件即可。

三、用 iptables 只開啟常規端口

一般我們只需要開啟 22, 53, 80, 443 這三個常見的對外開放端口,可以使用如下命令

清空 iptables 默認規則

iptables -F

允許 22 端口進入和返回

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

允許 53 端口,一般作為 DNS 服務使用

iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT

允許本機訪問本機

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

允許所有 IP 訪問 80 和 443 端口,一般作為 http 和 https 用途

iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

保存配置

iptables-save > /etc/sysconfig/iptables

重新加載 iptables

iptables -L

四、安裝 fail2ban 屏蔽并舉報掃描 SSH 端口的 IP

有很多精力旺盛的家伙會整天掃描 SSH 密碼,當然直接關閉 SSH 密碼登陸即可防止,但是為了給他們一點教訓,可以安裝 fail2ban ,屏蔽之余,還能自動寫舉報信給 IP 所在的 ISP。

CentOS 下安裝:

導入 epel 源:

CentOS 6.x 32 位:

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

CentOS 6.x 64 位:

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

安裝 fail2ban

yum -y install fail2ban
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
service fail2ban start

Ubuntu / Debian 下安裝:

apt-get install fail2ban -y

通過查看 /var/log/fail2ban.log 文件即可知道有哪些精力過剩的家伙在整天掃描你的 SSH 了。

后記

因為近期不少客戶的 VPS 或服務器被黑客入侵,原因都是用了很簡單的 root 密碼,所以考慮以后賣無管理型的 VPS 時,直接做個屏蔽密碼的系統,用戶購買的時候提交自己的 SSH Key ,或者系統分配你一個 SSH Key ,這樣就會安全多。國外的 Amazon EC2、 DigitalOcean 和 HPCloud 均有導入自己 SSH Key 并默認屏蔽密碼的方式,大大增加了安全性。

廈門戴維信安專注于服務中小型企事業單位網管外包工作,10年的IT外包服務經驗,8年的服務器安全管理經驗.戴維信安為您提供,廈門電腦網絡維護廈門服務器維護廈門服務器安全維護廈門兼職網管,廈門無線wifi覆蓋,服務器租賃,我們以服務為核心,提高企業內部工作效率為導向,為客戶提供全方位的IT解決方案。
我們的7X24小時聯系電話:18650816060  在線技術支持QQ:2308283442 3141395858 908673133
更多廈門IT外包資訊盡在:http://www.vxtwvh.icu



?
首頁 IT外包 公司簡介 服務項目 服務方案 典型客戶 分享庫 聯系我們
8号彩票论坛会开奖结果查询 山东11选5中奖规则及奖金 股票在线平台 永久平特一肖规律公式 外汇蜡烛图基础知识 云南快乐10分开奖结果查询奖结果查询 炒股开户哪家好 赛车基本走势图 山东十一选五遗漏 广西快乐双彩开奖公布 赛岳恒配资 广东36选7几点钟 股票配资成交量 河南快三最新开奖 房子配资 广东快乐10分开奖走势图 股票做短线技巧