[root@li576-236 ~]# cat /etc/hosts.allow # # hosts.allow This file describes the names of the hosts which are # allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # # for the shell sshd:11.8.,12.1.,18.3.:allow
# no sshd
sshd : ALL
# for the shell - 它什么也没作到
sshd : 101.11.0.0/24
# for the shell - 它能够准确的容许这个ip,24起到做用了
sshd : 101.11.10.1/24
# for the shell - 它能够容许这个ip段!哇喔
sshd : 101.11.
# for the shell - 它不能容许这个ip段,失败
sshd : 101.11./24
# for the shell - 后面的标签看起来不碍事
sshd : 101.11.: allow
# for the shell - 它如今什么也不干了,不认ip了- 可能有正则问题
sshd : 101.11. : hello
# for the shell - 依旧的啥也不干- 可能有正则问题
sshd : 101.11.:allow : hello
# for the shell - 逗号,此次工只工做了第一个,可能少了第二个的点-值得再尝试
sshd : 101.11.,103.22:allow : hello
# for the shell - 逗号,所有工做了!必须最后带点,并且看起来空格也不要依赖(最好了)
sshd:101.11.,103.22.:allow
linux下的/etc/hosts.allow和/etc/hosts.deny文件
/etc/hosts.allow和/etc/hosts.deny这两个文件是tcpd服务器的配置文件,tcpd服务器能够控制外部IP对本机服务的访问。这两个配置文件的格式以下:linux
/etc/hosts.allow控制能够访问本机的IP地址,/etc/hosts.deny控制禁止访问本机的IP。若是两个文件的配置有冲突,以/etc/hosts.deny为准。下面是一个/etc/hosts.allow的示例:
ALL:127.0.0.1 #容许本机访问本机全部服务进程smbd:192.168.0.0/255.255.255.0 #容许192.168.0.网段的IP访问smbd服务
ALL关键字匹配全部状况,EXCEPT匹配除了某些项以外的状况,PARANOID匹配你想控制的IP地址和它的域名不匹配时(域名假装)的状况。
今天用来禁止一些恶意的ip地址登录到服务器。由于远程登录须要sshd进程,因此:
修改步骤以下:
1:修改“/etc/hosts.allow”文件,在最下面添加一行:
sshd:192.168.100.0/255.255.255.0 #容许局域网内全部机器访问服务器上的sshd进程
sshd:60.28.160.244 #容许外网的60.28.160.244访问这个服务器上的sshd进程
2:修改“/etc/hosts.deny”文件,在最后一行添加:
sshd:all #禁止全部
注: 1):修改前,请先修改“/etc/hosts.allow”文件,而且修改完毕以后切勿当即退出,应该作登录测试
2):文件修改后,当即生效,可是对于已经运行的程序则不生效。shell
察看是否具备 tcp_wrappers 套件:
要使連線電腦的設定啟動,以使用 /etc/hosts.allow 與 /etc/hosts.deny 檔案的話,须要這一套軟體『tcp_wrappers』,要察看你的 Linux 主機內是否有這一套軟體的話,請使用:
rpm -q tcp_wrappers 或者 rpm -qa | grep tcp
若是有這套軟體的話,天然就會顯示出來,若是沒有的話,請放入你的 Linux 光碟片,將 rpm 檔案裝上去吧!
設定允許登入的電腦(/etc/hosts.allow):
其實很簡單,只要修改 /etc/hosts.allow(若是沒有此檔,請自行以 vi 編輯)這這檔案便可,例如,我家裡的電腦中,个人內部網域(區域網路)是 192.168.1.0/255.255.255.0,這樣的網域表明電腦 IP 在於 192.168.1.1 - 192.168.1.255 之間!因此,我就將 /etc/hosts.allow 這個檔案的內容設定成為如此:
in.telnetd: 192.168.1.0/255.255.255.0, .ncku.edu.tw : Allow
加入 .ncku.edu.tw 的缘由是因為我人在成大,因此加入此行的話,可使我在成大連上我家裡的 Linux 主機。
設定不許登入的電腦(/etc/hosts.deny):
由於正常的情況下, Linux 會先判斷 hosts.allow 這個檔案,這個檔案中的電腦若是設定為可連線的話,則 hosts.deny 就不會被使用,所以,設定好了 hosts.allow 之後,將 /etc/hosts.deny 設定為『全部電腦都不許登入』的情況,以下所示:
in.telnetd: ALL : Deny
這樣一來,基本的防護措施就有了(不用从新開機就自動執行了!)。express
PATTERNS
The access control language implements the following patterns:vim
在/etc/hosts.allow输入
(其中192.168.10.88是你要容许登录ssh的ip,或者是一个网段192.168.10.0/24)
sshd:192.168.10.88:allow
在/etc/hosts.deny输入(表示除了上面容许的,其余的ip 都拒绝登录ssh)
sshd:ALL
本文将讲述一些能够增强Unix,Linx服务器SSH访问的安全性的一些措施。
我我的极力很是推荐的措施是:
1.限制性SSH访问,将sshd绑定到一个ip地址,和容许全部ip地址是彻底不一样的安全。
2.将sshd默认端口22改成其它端口。
步骤以下:
前提:
SSH 客户端 - 我推荐使用 putty (搜索google,你会很快找到它)
SSH 服务已安装
第一步: 以root身份SSH登陆到服务器。
第二步:在命令提示符下输入:pico -w /etc/ssh/sshd_config
第三步:向下翻页,在这个文件中找到像这样的区域:windows
第四步:取消注释符号#,并修改
端口 #Port 22
像这样修改它
Port 5678
(选择你未被使用的4到5位数字组成的端口(49151是最高端口数))
协议 #Protocol 2, 1
改成这样:
Protocol 2
监听地址 #ListenAddress 0.0.0.0
改成这样:
ListenAddress 125.121.123.15(这里的地址改成你本身访问服务器经常使用的客户端ip地址)
第五步 若是你想禁用直接用root登陆,向下翻知道你看见安全
去掉前面的注释符号#,修改成
PermitRootLogin no
按住Ctrl键保存修改,在按Ctrl + x组合键退出。
第六步 在命令提示符下输入: /etc/rc.d/init.d/sshd restart
第七步 退出SSH,之后再登陆就必须使用新的端口号(如:49151),而且服务器限制只容许从一个指定的
IP地址(如:125.121.123.15)SSH登陆了。
注意事项:
若是修改后出现不能登陆或者其余问题,你只须要为服务器接上显示器 或者 Telnet 到你的服务器,修改设置,而后再从新SSH登陆。Telnet 是一个很是不安全的协议,因此在你使用它以后最好是修改一下你的root密码。
(the end)
或者
linux限制IP访问ssh
在/etc/hosts.allow输入
(其中192.168.10.88是你要容许登录ssh的ip,或者是一个网段192.168.10.0/24)
sshd:192.168.10.88:allow
在/etc/hosts.deny输入(表示除了上面容许的,其余的ip 都拒绝登录ssh)
sshd:ALL
更改端口
vi /etc/ssh/sshd_config
port 3333
最后一行加上ip
allowusers root@ip ------------------容许某个ip用什么账户登录bash
转自服务器
Linux 限制IP——/etc/hosts.allow和/etc/hosts.deny文件 - 生死看淡,不服就干! - CSDN博客 https://blog.csdn.net/u013634961/article/details/39855543网络