首頁 >運維 >Apache >apache如何關閉ssh的反向解析

apache如何關閉ssh的反向解析

步履不停
步履不停原創
2019-06-29 13:27:172255瀏覽

apache如何關閉ssh的反向解析

當我們在連接apache ,ssh,mysql等伺服器時,如果出現連接過慢,可能的原因是dns 的反向查詢。有一些網友出現這種情況:狀況就是ssh, ftp等都要輸入帳號密碼才能登錄,只有密碼輸入後要等30秒,據說是DNS反向解析timeout的時間。

為什麼需要網域的反向解析呢?因為防止假冒的IP連線伺服器,把IP解析成網域名稱,來提高安裝性,看這個IP是否是偽造,這是dns反向查詢的功能之一。

如果在開啟apache,ssh,mysql 等伺服器的反向解析功能之後,連接過慢的話。有二種解決方法:

就要架建自己的dns解析或更改hosts檔案把服務的dns反向解析功能關掉。

下面先講第二種,這種方法最為簡單,但關閉了dns反向解析後,對於偽造IP登陸這種情況,是無法阻止的。

一、把mysql,ssh 的反向解析關閉

找到 /etc/mysql/my.cnf 
在 [mysqld]标记下面添加:
skip-name-resolve 不把IP地址解析为主机名; 与访问控制(mysql.user数据表)有关的检查全部通过IP地址行进
skip-host-cache  不使用高速缓存区来存放主机名和IP地址的对应关系
然后保存
/etc/init.d/mysql restart 重启mysql。

另附上ssh的:

取消sshd服务的dns反向解析#vi /etc/ssh/sshd_config找到选项UseDNS ,取消注释,改为
UseDNS no
重启sshd服务
/etc/init.d/sshd  restart

二、架構自己的dns伺服器,把已知的伺服器的域名添加進來。

這個是因為這些記錄需要dns解析造成的(程式需要PTR反向解析,也就是IP到domain name的映射關係,主要用來驗證這個IP是否是合法的IP),解決方法如下:
方法1:把常用的IP位址寫入hosts文件,然後在/etc/nsswitch.conf看看程式是否先查詢hosts檔案(一般缺省是這樣)
方法2:起一台dns伺服器(可以是本機),加入反向解析,把這個dns伺服器加入/etc/resolv.conf中。範例如下:

/********************************************************************************
reverse mapping
********************************************************************************/

zone "0.0.127.in-addr.arpa" in {
        type master;
        notify no;
        file "named.local";
        allow-update {"none";};
};

zone "20.172.in-addr.arpa" in {
        type master;
        file "master/20.172";
};

zone "168.192.in-addr.arpa" in {
        type master;
        file "master/168.192";
};

zone "16.172.in-addr.arpa" in {
        type master;
        file "master/16.172";
};

zone "17.172.in-addr.arpa" in {
        type master;
        file "master/17.172";
};

更多Apache的相關技術文章,請造訪Apache教學欄位學習!

以上是apache如何關閉ssh的反向解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn