而为了节省成本或提高性能,不少人的独机和 VPS,都是基于 unmanaged 的裸机,一切都要自己 DIY。这时候,安全策略的实施,就犹为重要。下面这篇文章,我以 CentOS 为例,简单地总结一下如何配置 SSH 安全访问。 Linux SSH 安全策略一:关闭无关端口 网络上被攻陷的大多数主机,是黑客用扫描工具大范围进行扫描而被瞄准上的。所以,为了避免被扫描到,除了必要的端口,例如 Web、FTP、SSH 等,其他的都应关闭。值得一提的是,我强烈建议关闭 icmp 端口,并设置规则,丢弃 icmp 包。这样别人 Ping 不到你的服务器,威胁就自然减小大半了。丢弃 icmp 包可在 iptables 中, 加入下面这样一条: -A INPUT -p icmp -j DROP Linux SSH 安全策略二:更改 SSH 端口 默认的 SSH 端口是 22。强烈建议改成 10000 以上。这样别人扫描到端口的机率也大大下降。修改方法: # 编辑 /etc/ssh/ssh_config vi /etc/ssh/ssh_config # 在 Host * 下 ,加入新的 Port 值。以 18439 为例(下同): Port 22 Port 18439 # 编辑 /etc/ssh/sshd_config vi /etc/ssh/sshd_config #加入新的 Port 值 Port 22 Port 18439 # 保存后,重启 SSH 服务: service sshd restart 这里我设置了两个端口,主要是为了防止修改出错导致 SSH 再也登不上。更改你的 SSH 客户端(例如:Putty)的连接端口,测试连接,如果新端口能连接成功,则再编辑上面两个文件,删除 Port 22 的配置。如果连接失败,而用 Port 22 连接后再重新配置。 端口设置成功后,注意同时应该从 iptables 中, 删除22端口,添加新配置的 18439,并重启 iptables。 如果SSH 登录密码是弱密码,应该设置一个复杂的密码。Google Blog 上有一篇强调密码安全的文章:Does your password pass the test? Linux SSH 安全策略三:限制 IP 登录 如果你能以固定 IP 方式连接你的服务器,那么,你可以设置只允许某个特定的 IP 登录服务器。例如我是通过自己的 VPN 登录到服务器。设置如下: # 编辑 /etc/hosts.allow vi /etc/hosts.allow # 例如只允许 123.45.67.89 登录 sshd:123.45.67.89 Linux SSH 安全策略四: 使用证书登录 SSH 相对于使用密码登录来说,使用证书更为安全。自来水冲咖啡有写过一篇详细的教程,征得其同意,转载如下: 为CentOS配置SSH证书登录验证 帮公司网管远程检测一下邮件服务器,一台CentOS 5.1,使用OpenSSH远程管理。检查安全日志时,发现这几天几乎每天都有一堆IP过来猜密码。看来得修改一下登录验证方式,改为证书验证为好。 为防万一,临时启了个VNC,免得没配置完,一高兴顺手重启了sshd就麻烦了。(后来发现是多余的,只要事先开个putty别关闭就行了) 以下是简单的操作步骤: 1)先添加一个维护账号:msa2)然后su - msa3)ssh-keygen -t rsa指定密钥路径和输入口令之后,即在/home/msa/.ssh/中生成公钥和私钥:id_rsa id_rsa.pub4)cat id_rsa.pub authorized_keys至于为什么要生成这个文件,因为sshd_config里面写的就是这个。然后chmod 400 authorized_keys,稍微保护一下。5)用psftp把把id_rsa拉回本地,然后把服务器上的id_rsa和id_rsa.pub干掉6)配置/etc/ssh/sshd_configProtocol 2ServerKeyBits 1024PermitRootLogin no #禁止root登录而已,与本文无关,加上安全些#以下三行没什么要改的,把默认的#注释去掉就行了RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keysPasswordAuthentication noPermitEmptyPasswords no7)重启sshd/sbin/service sshd restart8)转换证书格式,迁就一下putty运行puttygen,转换id_rsa为putty的ppk证书文件9)配置putty登录在connection--SSH--Auth中,点击Browse,选择刚刚转换好的证书。然后在connection-Data填写一下auto login username,例如我的是msa在session中填写服务器的IP地址,高兴的话可以save一下10)解决一点小麻烦做到这一步的时候,很可能会空欢喜一场,此时就兴冲冲的登录,没准登不进去:No supported authentication methods available这时可以修改一下sshd_config,把PasswordAuthentication no临时改为:PasswordAuthentication yes 并重启sshd这样可以登录成功,退出登录后,再重新把PasswordAuthentication的值改为no,重启sshd。以后登录就会正常的询问你密钥文件的密码了,答对了就能高高兴兴的登进去。至于psftp命令,加上个-i参数,指定证书文件路径就行了。 如果你是远程操作服务器修改上述配置,切记每一步都应慎重,不可出错。如果配置错误,导致 SSH 连接不上,那就杯具了。 基本上,按上述四点配置好后,Linux 下的 SSH 访问,是比较安全的了。
使用代理服务器上网:
HTTP代理服务器的设置方法,对于IE和FireFox设置略有不同。设置前需要先找一些可用的免费代理服务器地址。
IE的设置,打开IE浏览器,选择菜单栏的“工具/Internet选项...”。
这时候分两种情况,对于ADSL拨号用户来说,选择一个网络连接后,点“设置,选中代理服务器,填入地址和端口号。
对于局域网用户来说,需要点“局域网设置”,选中代理服务器,填入地址和端口号。
FireFox的设置和IE类似,打开FireFox浏览器,选择菜单栏的“工具/选项...”。
这时选择“高级/网络”,点设置,就出现下面的界面,就可以进行代理服务器的设置了,选中“手动配置代理”,然后填写代理服务器的地址和端口。
使用SOCKS代理服务器
SOCKS代理是目前功能最为全面,使用最为稳定的代理服务器,我目前上网就只用SSH搭建SOCKS代理服务器上网,访问网络没有任何限制。
用SSH搭建SOCKS代理上网,建议使用Firefox浏览器,因为Firefox支持SOCKS代理远程域名解析,而IE只能通过类似SocksCap这样的第三方软件实现,不是很方便。
配置Firefox浏览器
在Firefox设置SOCKS远程域名解析,主要是为了防止DNS污染,具体设置方法是,在Firefox地址栏中,输入 about:config ,按确认,修改里面的一项数值,改成 network.proxy.socks_remote_dns=true 就可以了。
然后,打开FireFox浏览器,选择菜单栏的“工具/选项...”。选择“高级/网络”,点设置,就出现下面的界面,就可以进行代理服务器的设置了,选中“手动配置代理”,然后在SOCKS主机上,填写代理服务器的地址127.0.0.1,端口1080,SOCKS类型选择“SOCKS V5”,这时Firefox就配置结束。
设置SSH
配置好了Firefox,接着配置SSH了,安全外壳协议(Secure Shell Protocol / SSH)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议。常用的SSH工具有开源软件PuTTY,支持SSH远程登录的主机可以实现socks5代理服务器的功能,不过在PuTTY中没有配置文件,需要手动设置才能实现,且无法保存,而PuTTY完整版自带的pLink可以实现命令行方式调用PuTTY实现SSH的加密通道。
具体的方法是,去PuTTY官方网站下载pLink这个文件,pLink的调用参数是:plink -C -v -N -pw 密码 -D 本地端口 远程用户@IP或域名:远程希望打开的端口。
新建一个文件,写入以下内容,另存为pLink.bat批处理文件,并放在Putty的安装目录内。
@plink -N Username@sshServer -pw Password -D 127.0.0.1:1080
将Username sshServer Password三处改为陆SSH服务器的用户名、服务器地址和密码。这个SSH帐号可以通过多种方法获得,例如用户购买了某些国外主机空间或VPS就会有SSH帐号,。
执行这个批处理文件,保持其窗口开启,一旦关闭窗口代理便失效。然后打开已经配置好127.0.0.1:1080的Socks5代理的Firefox浏览器,就可以使用SOCKS代理服务器上网了。
知识拓展:
代理服务器
代理服务器(Proxy Server)是网上提供转接功能的服务器,在一般情况下,使用网络浏览器直接去连接其他Internet站点取得网络信息时,是直接联系到目的站点服务器,然后由目的站点服务器把信息传送回来。代理服务器是介于客户端和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。
比如想访问的目的网站是A,由于某种原因不能访问到网站A或者不想直接访问网站A(这样通过代理服务器网站A,对网站A而已可以隐藏身份,也就是不知道是谁访问的网站,而认为是代理服务器访问的),此时就可以使用代理服务器,在实际访问网站的时候,在浏览器的地址栏内和以前一样输入你要访问的网站,浏览器会自动先访问代理服务器,然后代理服务器会自动给转接到目标网站。
代理服务器作用
提高访问速度:通常代理服务器都设置一个较大的缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。
隐藏真实身份:上网者也可以通过代理服务器隐藏自己的真实地址信息,还可隐藏自己的IP,防止被黑客攻击。
突破限制:有时候网络供应商会对上网用户的端口,目的网站,协议,游戏,即时通讯软件等的限制,使用代理服务器都可以突破这些限制。
代理服务器主要类型
HTTP代理:最简单的一种代理形式,能够代理客户机的HTTP访问,上网浏览网页使用的都是HTTP协议,通常的HTTP代理端口为80、3128或8080端口。
SOCKS代理:SOCKS代理与HTTP等其他类型的代理不同,它只是简单地传递数据包,而并不关心是何种应用协议,既可以是HTTP协议,也可以是FTP协议,或者其他任何协议,所以SOCKS代理服务器比其他类型的代理服务器速度要快得多。SOCKS代理又分为SOCKS4和 SOCKS5,二者不同的是SOCKS4代理只支持TCP协议(即传输控制协议),而SOCKS5代理则既支持TCP协议又支持UDP协议(即用户数据包协议),还支持各种身份验证机制、服务器端远程域名解析(解决DNS污染就靠这个了)等。SOCK4能做到的SOCKS5都可得到,但SOCKS5能够做到的SOCKS则不一定能做到。目前SOCKS5是最常用的一种SOCKS代理。
Denyhosts是一个Linux系统下阻止暴力破解SSH密码的软件,它的原理与DDoS Deflate类似,可以自动拒绝过多次数尝试SSH登录的IP地址,防止互联网上某些机器常年破解密码的行为,也可以防止黑客对SSH密码进行穷举。
众所周知,暴露在互联网上的计算机是非常危险的。并不要因为网站小,关注的人少或不惹眼就掉以轻心:互联网中的大多数攻击都是没有目的性的,黑客们通过大范围IP端口扫描探测到可能存在漏洞的主机,然后通过自动扫描工具进行穷举破解。笔者的某台服务器在修改SSH 22号端口之前,平均每天接受近百个来自不同IP的连接尝试。而DenyHosts正是这样一款工具。下文将对该工具的安装与使用方法进行介绍。
DenyHosts阻止攻击原理
DenyHosts会自动分析 /var/log/secure 等安全日志文件,当发现异常的连接请求后,会自动将其IP加入到 /etc/hosts.deny 文件中,从而达到阻止此IP继续暴力破解的可能。同时,Denyhosts还能自动在一定时间后对已经屏蔽的IP地址进行解封,非常智能。
官方网站
Denyhosts的官方网站为: (杜绝Putty后门事件,谨记安全软件官网)
安装方法
1、下载DenyHosts源码并解压(目前最新版为2.6)
1 [root@www ~]# wget
2 [root@www ~]# tar zxvf DenyHosts-2.6.tar.gz
3 [root@www ~]# cd DenyHosts-2.6
2、安装部署
1 [root@www DenyHosts-2.6]# yum install python -y
2 [root@www DenyHosts-2.6]# python setup.py install
3、准备好默认的配置文件
1 [root@www DenyHosts-2.6]# cd /usr/share/denyhosts/
2 [root@www denyhosts]# cp denyhosts.cfg-dist denyhosts.cfg
3 [root@www denyhosts]# cp daemon-control-dist daemon-control
4、编辑配置文件denyhosts.cfg
1 [root@www denyhosts]# vi denyhosts.cfg
该配置文件结构比较简单,简要说明主要参数如下:
PURGE_DENY:当一个IP被阻止以后,过多长时间被自动解禁。可选如3m(三分钟)、5h(5小时)、2d(两天)、8w(8周)、1y(一年);
PURGE_THRESHOLD:定义了某一IP最多被解封多少次。即某一IP由于暴力破解SSH密码被阻止/解封达到了PURGE_THRESHOLD次,则会被永久禁止;
BLOCK_SERVICE:需要阻止的服务名;
DENY_THRESHOLD_INVALID:某一无效用户名(不存在的用户)尝试多少次登录后被阻止;
DENY_THRESHOLD_VALID:某一有效用户名尝试多少次登陆后被阻止(比如账号正确但密码错误),root除外;
DENY_THRESHOLD_ROOT:root用户尝试登录多少次后被阻止;
HOSTNAME_LOOKUP:是否尝试解析源IP的域名;
大家可以根据上面的解释,浏览一遍此配置文件,然后根据自己的需要稍微修改即可。
5、启动Denyhosts
1 [root@www denyhosts]# ./daemon-control start
如果需要让DenyHosts每次重启后自动启动,还需要:
6、设置自动启动
设置自动启动可以通过两种方法进行。
第一种是将DenyHosts作为类似apache、mysql一样的服务,这种方法可以通过 /etc/init.d/denyhosts 命令来控制其状态。方法如下:
1 [root@www denyhosts]# cd /etc/init.d
2 [root@www init.d]# ln -s /usr/share/denyhosts/daemon-control denyhosts
3 [root@www init.d]# chkconfig --add denyhosts
4 [root@www init.d]# chkconfig -level 2345 denyhosts on
第二种是将Denyhosts直接加入rc.local中自动启动(类似于Windows中的“启动文件夹”):
1 [root@www denyhosts]# echo '/usr/share/denyhosts/daemon-control start' /etc/rc.local
如果想查看已经被阻止的IP,打开/etc/hosts.deny 文件即可。
Xshell是Windows下一款功能非常强大的安全终端模拟软件,支持Telnet、Rlogin、SSH、SFTP、Serial 等协议,可以非常方便的对linux主机进行远程管理。
Xshell支持各种安全功能,如SSH1 / SSH2协议,密码,和DSA和RSA公开密钥的用户认证方法,并加密所有流量的各种加密算法。
重要的是要保持数据安全与内置Xshell安全功能,因为像Telnet和Rlogin这样的传统连接协议很容易让网络流量受到任何有网络知识的人的窃取。Xshell将帮助保护数据免受黑客攻击。
扩展资料:
相关的功能特性:
1、代替不安全的Telnet客户端:
Xshell支持VT100,vt220,vt320,xterm,Linux,scoansi和ANSI终端仿真和提供各种终端外观选项取代传统的Telnet客户端。
2、Xshell在单一屏幕实现多语言:
Xshell中的UTF-8在同类终端软件中是第一个运用的。用Xshell,可以将多种语言显示在一个屏幕上,无需切换不同的语言编码。越来越多的企业需要用到UTF-8格式的数据库和应用程序,有一个支持UTF-8编码终端模拟器的需求在不断增加。Xshell可以帮助处理多语言环境。
3、支持安全连接的TCP / IP应用的X11和任意:
在SSH隧道机制中,Xshell支持端口转发功能,无需修改任何程序,它可以使所有的TCP / IP应用程序共享一个安全的连接。
参考资料来源:百度百科-Xshell
深入了解ssh协议与sshd服务程序的理论知识,掌握对Linux系统的远程管理方法以及对Linux系统中服务程序的配置方法,实践操作基于密钥验证的sshd服务程序远程验证登陆,并学习使用screen服务程序实现远程管理Linux系统的不间断会话等技术,基本完全拥有了对Linux系统的配置管理能力。
配置网卡服务:配置网卡参数(需要使用vim编辑器来将网卡配置文件中的ONBOOT参数修改成yes就可以保证网卡会在系统重启后依然生效了。Linux系统中的服务配置文件修改过后并不会对服务程序立即产生效果,要想让服务程序获取到最新的配置文件内容,咱们还需要手动的重启一下相应的服务)-创建网络会话(使用类似nmcli的命令来管理NetworkManager服务。nmcli是一款基于命令行终端的网卡网络配置工具,它不仅能够让咱们轻松的查看网卡信息或网络状态,还可以管理网卡会话功能,更能够查看到网卡设备的具体详细信息。nmcli命令配置过的网卡会话和参数会直接写入到配置文件中永久生效)-绑定两块网卡(mode0平衡负载模式:平时两块网卡均工作,且自动备援,采用交换机设备支援;mode1自动备援模式:平时只有一块网卡工作,故障后自动替换为另外的网卡;mode6平衡负载模式:平时两块网卡均工作,且自动备援,无须交换机设备支援。);
远程控制服务:配置sshd服务(SSH(Secure Shell)是一种能够提供安全远程登录会话的协议,也是目前远程管理Linux系统最首选的方式,因为传统的ftp或telnet服务是不安全的,它们会将帐号口令和数据资料等数据在网络中以明文的形式进行传送,这种数据传输方式很容易受到黑客“中间人”的嗅探攻击,轻则篡改了传输的数据信息,重则直接抓取到了服务器的帐号密码。想要通过SSH协议来管理远程的Linux服务器系统,咱们需要来部署配置sshd服务程序,sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法——基于口令的安全验证,指的就是咱们一般使用帐号和密码验证登陆,基于密钥的安全验证,则是需要在本地生成密钥对,然后将公钥传送至服务端主机进行的公共密钥比较的验证方式,相比较来说更加的安全。因为在Linux系统中的一切都是文件,因此要想在Linux系统中修改服务程序的运行参数,实际上也是在修改程序配置文件的过程,sshd服务的配置信息保存在/etc/ssh/sshd_config文件中,运维人员一般会把保存着最主要配置信息的文件称为主配置文件,而配置文件中有许多#(井号)开头的注释行,要想让这些配置参数能够生效,咱们需要修改参数后再去掉前面的井号才行。在红帽RHEL7系统中sshd服务程序已经默认安装好并启动了,咱们可以使用ssh命令来进行远程连接,格式为“ssh [参数] 主机IP地址”,退出登陆则可执行exit命令)-安全密钥验证(加密算法是对信息进行编码和解码的技术,它能够将原本可直接阅读的明文信息通过一定的加密算法译成密文形式,密钥即是密文的钥匙,包括有私钥和公钥之分,在日常工作中如果担心传送的数据被他人监听截获到,就可以在传送前先使用公钥进行加密处理,然后再进行数据传送,这样只有掌握私钥的用户才能解密这段数据,除此之外其他人即便截获了数据内容一般也很难再破译成明文信息。总结来说,日常生产环境中使用密码进行口令验证终归存在着被骇客暴力破解或嗅探截获的风险,如果正确的配置密钥验证方式,那么一定会让您的sshd服务程序更加的安全。第1步:在客户端主机中生成“密钥对”并将公钥传送到远程服务器中:第2步:把客户端主机中生成好的公钥文件传送至远程主机:第3步:设置服务器主机只允许密钥验证,拒绝传统口令验证方式,记得修改配置文件后保存并重启sshd服务程序。第4步:在客户端主机尝试登陆到服务端主机,此时无需输入密码口令也可直接验证登陆成功。详细的图文介绍可参考linuxprobe.com/chapter-09.html)-远程传输命令-不间断会话服务-管理远程会话-会话共享。需要仔细研究操作步骤,一步一个脚印操作。
RNW如薇单 一 一枯登“新品牌新熟TOP 五” 成就 下光暗地里的气力 增加 一年一度 热火朝天的“单 一 一年夜 和”告一段落,据 二0 二 一年 一 一月 一日00:00至 二0 二 一年 一 一月 一 五日 二 三: 五 九: 五 九数据统计,本年 年夜 快消单 一 一新品牌异...
未将该件领往:祸修祸州直达站,你孬,韵达,申通的,输出双号入止。上岸 官网,如今 一点疑息出有,称重,的支件员,未支件韵达的出有记载 。 空儿追踪记载 二00 九-0 三-0 四 二 二: 五 二: 五 四,的票据 ,查老是 验证码纰谬 . 三 一0000,它送没有到,追踪记载 二00 九- ...
本创AI财经社 二0 一 八-0 三- 二 三 一 三: 四 五: 五 六最下法参与 二月,亿万富姐吴英弛刑 至 二 五年,状师 称迎去起色 文|AI财经社 周晶晶编|祝异案领超 一 一年的浙江亿万富姐吴英案末于有了新入铺。 二0 一 八年 三月 二 三日,浙江省高等 群众法院照章公然 休庭审理...
始谢菜蔬生果 店掉 败的几年夜 缘故原由 寺寺寺寺寺 二0 一 八- 一0-0 四 一 六: 三 六: 三 八第一,便是该入甚么货的答题。菜蔬便没有说了,由于 菜蔬便这么些种类,并且 每一一种类,也没有太分甚么品位。然则 生果 ,学识否便年夜 了。入哪些生果 ,尤为是这些贱的生果 ,该入哪一种。那...
( 一)正在后台模拟 点击一再 访问 其它网站会造成用户挪动流质的益耗。 一 经由 系统 更新路子 拉送马libatel.comCreation Date: 二0 一 九-0 五- 一 六T0 七: 一 二: 三0Z纸不敷 年夜 ,便出有绘图 ,可以或许 参考下面双背ARP诈骗的图。。。 一、针 ...
cucci是甚么牌子守业点子• 二0 二0-0 四-0 五 一 一: 二 三: 五 九•网站漫笔 •浏览 五 二 四嫩花有着一股取熟俱去的经典之美,添上设计们正在样式上的自出机杼 ,沉紧离别 了传统的年夜 妈购菜包格调,披发 没浓烈 的时尚风度 ,让许多 亮星年夜 咖们皆地位 入神 。繁复没有隐夸...