時(shí)間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)
一、Linux服務(wù)器的硬件防護(hù)
我在項(xiàng)目實(shí)施中和自己的網(wǎng)站架設(shè)中,發(fā)現(xiàn)防DDOS攻擊及SQL注入、跨站腳本、蠕蟲、黑客掃描和攻擊等攻擊效果不錯(cuò)的方案有:
①華賽三層防火墻+天泰web防火墻;
、贘uniper系列防火墻;
如果你的Linux或FreeBSD前端無任何硬件防護(hù),一下要記得開啟iptables或ipfw防火墻。雖然它們不能防DDOS攻擊,但在安全防護(hù)上或多或少的有所作用;如果是windows2003服務(wù)器,建議開啟它自帶的系統(tǒng)防火墻,并禁ping。
建議采用64位的Linux操作系統(tǒng),如centos 5.4;如果是UNIX,建議采用FreeBSD 8.0(也采用64位的)。多關(guān)注下服務(wù)器的內(nèi)核漏洞,現(xiàn)在linux很多攻擊都是針對(duì)內(nèi)核的,保證內(nèi)核版本為2.6.9以上。
二、遠(yuǎn)程連接你的Linux服務(wù)器
對(duì)于遠(yuǎn)程連接,建議只允許在內(nèi)網(wǎng)進(jìn)行ssh操作,而拒絕外網(wǎng)控制,這樣做是比較安全的(此步操作可能要配合公司的網(wǎng)絡(luò)工程師來操作)。
如果非要從外網(wǎng)進(jìn)行ssh操作,建議正確配置x-shell、putty等遠(yuǎn)程連接工具的公鑰和私鑰。root密碼我一般設(shè)置為28位以上,建議用字母+數(shù)字的組合,如p@sSw0rdyuhongchun027nagios,而且某些重要的服務(wù)器必須只有幾個(gè)人知道root密碼,這個(gè)根據(jù)公司權(quán)限來設(shè)置,如果有公司的系統(tǒng)管理員離職,root密碼一定要更改;玩linux久了的人都應(yīng)該知道,更改root密碼不會(huì)影響linux的crontab計(jì)劃任務(wù)(這個(gè)在windows2003就不一樣了,如果隨意更改administrator密碼,會(huì)直接影響其計(jì)劃任務(wù)運(yùn)行)。
三、Linux服務(wù)器如何防ssh暴力破解
我的Nagios外網(wǎng)監(jiān)控服務(wù)器,剛開始測(cè)試時(shí)取的密碼是redhat,放進(jìn)公網(wǎng)一天就被人改了,郁悶死了;后來環(huán)境部署成熟以后發(fā)現(xiàn)仍然有不少外網(wǎng)ip在掃描和試探,看來不用點(diǎn)工具不行;呵呵,我嘗試使用大家都推薦使用的DenyHosts,它是用python2.3寫的一個(gè)程序,它會(huì)分析/var/log/secure等日志文件,當(dāng)發(fā)現(xiàn)同一IP在進(jìn)行多次SSH密碼嘗試時(shí)就會(huì)記錄IP到/etc/hosts.deny文件,從而達(dá)到自動(dòng)屏蔽該IP的目的。DenyHosts官方網(wǎng)站為:https://denyhosts.sourceforge.net
、贆z查安裝條件
1、首先判斷系統(tǒng)安裝的sshd是否支持tcp_wrappers(默認(rèn)都支持)
# ldd /usr/sbin/sshd
libwrap.so.0 => /usr/lib/libwrap.so.0 (0x0046e000)
2、判斷默認(rèn)安裝的Python版本
# python -V
Python 2.3.4
3、已安裝Python2.3以上版本的情況可以直接安裝DenyHosts
# cd /usr/local/src
# wget https://jaist.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
# tar zxf DenyHosts-2.6.tar.gz
# cd DenyHosts-2.6
# python setup.py install
程序腳本自動(dòng)安裝到/usr/share/denyhosts
庫文件自動(dòng)安裝到/usr/lib/python2.3/site-packages/DenyHosts
denyhosts.py自動(dòng)安裝到/usr/bin
、谠O(shè)置啟動(dòng)腳本
# cd /usr/share/denyhosts/
# cp daemon-control-dist daemon-control
# chown root daemon-control
# chmod 700 daemon-control
# grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
# vi denyhosts.cfg
根據(jù)自己需要進(jìn)行相應(yīng)的修改
denyhosts.cfg
SECURE_LOG = /var/log/secure
#RedHat/Fedora Core分析該日志文件
#其它版本linux根據(jù)denyhosts.cfg-dist內(nèi)提示選擇。
PURGE_DENY = 30m
#過多久后清除
DENY_THRESHOLD_INVALID = 1
#允許無效用戶(/etc/passwd未列出)登錄失敗的次數(shù)
DENY_THRESHOLD_VALID = 5
#允許有效(普通)用戶登錄失敗的次數(shù)
DENY_THRESHOLD_ROOT = 3
#允許root登錄失敗的次數(shù)
HOSTNAME_LOOKUP=NO
#是否做域名反解
如果需要DenyHosts隨系統(tǒng)重啟而自動(dòng)啟動(dòng),還需做如下設(shè)置:
# vi /etc/rc.local
加入下面這條命令
/usr/share/denyhosts/daemon-control start
③啟動(dòng)
# /usr/share/denyhosts/daemon-control start
如果要使DenyHosts每次重起后自動(dòng)啟動(dòng)還需做如下設(shè)置:
# cd /etc/init.d
# ln -s /usr/share/denyhosts/daemon-control denyhosts
# chkconfig --add denyhosts
# chkconfig --level 345 denyhosts on
然后就可以啟動(dòng)了:
service denyhosts start
DenyHosts配置文件:
vi /etc/denyhosts.cfg
SECURE_LOG = /var/log/secure #ssh日志文件,它是根據(jù)這個(gè)文件來判斷的。
HOSTS_DENY = /etc/hosts.deny #控制用戶登陸的文件
PURGE_DENY = 5m#過多久后清除已經(jīng)禁止的
BLOCK_SERVICE = sshd#禁止的服務(wù)名
DENY_THRESHOLD_INVALID = 1#允許無效用戶失敗的次數(shù)
DENY_THRESHOLD_VALID = 10#允許普通用戶登陸失敗的次數(shù)
DENY_THRESHOLD_ROOT = 5#允許root登陸失敗的次數(shù)
HOSTNAME_LOOKUP=NO#是否做域名反解
DAEMON_LOG = /var/log/denyhosts#自己的日志文件
ADMIN_EMAIL = [email protected]#管理員郵件地址,它會(huì)給管理員發(fā)郵件
下面這個(gè)是全自動(dòng)下載安裝的小腳本(推薦),當(dāng)然安裝后還得手動(dòng)調(diào)整配置文件。install_denyhosts.sh腳本內(nèi)容如下:
#!/bin/bash
cd /usr/local/src
wget https://jaist.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
tar zxf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
python setup.py install
cd /usr/share/denyhosts/
cp daemon-control-dist daemon-control
chown root daemon-control
chmod 700 daemon-control
grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
echo "/usr/share/denyhosts/daemon-control start" >>/etc/rc.local
cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig --add denyhosts
chkconfig --level 345 denyhosts on
service denyhosts start
下面是hostsdeny的示例:
Connection to 192.168.0.154 closed.
[root@autolemp ~]# ssh 192.168.0.154
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied (publickey,gssapi-with-mic,password)
出現(xiàn)最后這行表示生效。
關(guān)鍵詞標(biāo)簽:Linux,服務(wù)器
相關(guān)閱讀
熱門文章 VMware中Shared Folders(共享文件夾)的配CentOS NTP服務(wù)器安裝與配置實(shí)戰(zhàn):RemoteApp服務(wù)器應(yīng)用程序安裝nginx搭建flv流媒體服務(wù)器
人氣排行 VMware中Shared Folders(共享文件夾)的配置nginx搭建flv流媒體服務(wù)器CentOS NTP服務(wù)器安裝與配置修改Windows Server 遠(yuǎn)程登錄(遠(yuǎn)程桌面)最大連接數(shù)目nginx的自動(dòng)啟動(dòng)腳本heartbeat+LVS-ipvsadm+ldirectord搭建lvs DR集群Windows 2003下配置架設(shè)NTP時(shí)間服務(wù)器五步解決“服務(wù)器超出最大允許連接數(shù)”錯(cuò)誤